You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Ragy Eleish (JIRA)" <ji...@apache.org> on 2005/09/16 07:02:54 UTC

[jira] Created: (JCR-217) class org.apache.jackrabbit.name.QName has a hardcoded dependency on Xerces

class org.apache.jackrabbit.name.QName has a hardcoded dependency on Xerces
---------------------------------------------------------------------------

         Key: JCR-217
         URL: http://issues.apache.org/jira/browse/JCR-217
     Project: Jackrabbit
        Type: Bug
    Versions: 1.0    
    Reporter: Ragy Eleish
    Priority: Critical


The class org.apache.jackrabbit.name.QName, has an unneeded dependency on Xerces which make it difficult to work with the XML parser or ones choice.
The dependency (on line 246) is on the method "XMLChar.isValidNCName" only. I suggest one of the following solutions
- Copy the implementation of this method to the QName class, it is a very simple implementation.
- Use the mehtod provided in JAXP 1.3 javax.xml.XMLUtils.isValidNCName, which will create dependency on JAXP 1.3 though. JDK 1.5 ships with JAXP 1.3

This dependency is causing us alot of trouble since we need to use another parser that is optimized for large XML data. 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Commented: (JCR-217) class org.apache.jackrabbit.name.QName has a hardcoded dependency on Xerces

Posted by "Ragy Eleish (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/JCR-217?page=comments#action_12329542 ] 

Ragy Eleish commented on JCR-217:
---------------------------------

 I don't think there is a licensing issue with a dependency on JAXP, it is a JDK API. For example Xerces and Xalan implements on JAXP, while Tomcat depens on it to pick the parser. 

Having a dependency on Xerces limit what your users can do, and it is pretty trivial to fix. Just use JAXP to pick up the XSLTTransformer the same way Tomcat does, and take the implementation of the of helper functions in your code.

We will do the fix and uploaded to this bug description.

> class org.apache.jackrabbit.name.QName has a hardcoded dependency on Xerces
> ---------------------------------------------------------------------------
>
>          Key: JCR-217
>          URL: http://issues.apache.org/jira/browse/JCR-217
>      Project: Jackrabbit
>         Type: Improvement
>     Versions: 1.0
>     Reporter: Ragy Eleish
>     Priority: Minor

>
> The class org.apache.jackrabbit.name.QName, has an unneeded dependency on Xerces which make it difficult to work with the XML parser or ones choice.
> The dependency (on line 246) is on the method "XMLChar.isValidNCName" only. I suggest one of the following solutions
> - Copy the implementation of this method to the QName class, it is a very simple implementation.
> - Use the mehtod provided in JAXP 1.3 javax.xml.XMLUtils.isValidNCName, which will create dependency on JAXP 1.3 though. JDK 1.5 ships with JAXP 1.3
> This dependency is causing us alot of trouble since we need to use another parser that is optimized for large XML data. 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Closed: (JCR-217) class org.apache.jackrabbit.name.QName has a hardcoded dependency on Xerces

Posted by "Stefan Guggisberg (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/JCR-217?page=all ]
     
Stefan Guggisberg closed JCR-217:
---------------------------------

    Resolution: Won't Fix

closing this issue since nobody else reported problems with the current xerces dependency .



> class org.apache.jackrabbit.name.QName has a hardcoded dependency on Xerces
> ---------------------------------------------------------------------------
>
>          Key: JCR-217
>          URL: http://issues.apache.org/jira/browse/JCR-217
>      Project: Jackrabbit
>         Type: Improvement
>     Reporter: Ragy Eleish
>     Priority: Minor
>      Fix For: 1.0

>
> The class org.apache.jackrabbit.name.QName, has an unneeded dependency on Xerces which make it difficult to work with the XML parser or ones choice.
> The dependency (on line 246) is on the method "XMLChar.isValidNCName" only. I suggest one of the following solutions
> - Copy the implementation of this method to the QName class, it is a very simple implementation.
> - Use the mehtod provided in JAXP 1.3 javax.xml.XMLUtils.isValidNCName, which will create dependency on JAXP 1.3 though. JDK 1.5 ships with JAXP 1.3
> This dependency is causing us alot of trouble since we need to use another parser that is optimized for large XML data. 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Updated: (JCR-217) class org.apache.jackrabbit.name.QName has a hardcoded dependency on Xerces

Posted by "Jukka Zitting (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/JCR-217?page=all ]

Jukka Zitting updated JCR-217:
------------------------------

    Fix Version: 1.0
        Version:     (was: 1.0)

> class org.apache.jackrabbit.name.QName has a hardcoded dependency on Xerces
> ---------------------------------------------------------------------------
>
>          Key: JCR-217
>          URL: http://issues.apache.org/jira/browse/JCR-217
>      Project: Jackrabbit
>         Type: Improvement
>     Reporter: Ragy Eleish
>     Priority: Minor
>      Fix For: 1.0

>
> The class org.apache.jackrabbit.name.QName, has an unneeded dependency on Xerces which make it difficult to work with the XML parser or ones choice.
> The dependency (on line 246) is on the method "XMLChar.isValidNCName" only. I suggest one of the following solutions
> - Copy the implementation of this method to the QName class, it is a very simple implementation.
> - Use the mehtod provided in JAXP 1.3 javax.xml.XMLUtils.isValidNCName, which will create dependency on JAXP 1.3 though. JDK 1.5 ships with JAXP 1.3
> This dependency is causing us alot of trouble since we need to use another parser that is optimized for large XML data. 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Updated: (JCR-217) class org.apache.jackrabbit.name.QName has a hardcoded dependency on Xerces

Posted by "Stefan Guggisberg (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/JCR-217?page=all ]

Stefan Guggisberg updated JCR-217:
----------------------------------

        type: Improvement  (was: Bug)
    Priority: Minor  (was: Critical)

Changing issue type/priority to "Improvement/Minor" since this is clearly not a bug.

frankly i don't see a problem with the current implementation but if the majority 
considers the xerces dependency a problem i wouldn't be against removing it. however, 
adding a dependency to jaxp 1.3 could imo be a problem because of licensing issues 
(correct me if i am wrong).

> class org.apache.jackrabbit.name.QName has a hardcoded dependency on Xerces
> ---------------------------------------------------------------------------
>
>          Key: JCR-217
>          URL: http://issues.apache.org/jira/browse/JCR-217
>      Project: Jackrabbit
>         Type: Improvement
>     Versions: 1.0
>     Reporter: Ragy Eleish
>     Priority: Minor

>
> The class org.apache.jackrabbit.name.QName, has an unneeded dependency on Xerces which make it difficult to work with the XML parser or ones choice.
> The dependency (on line 246) is on the method "XMLChar.isValidNCName" only. I suggest one of the following solutions
> - Copy the implementation of this method to the QName class, it is a very simple implementation.
> - Use the mehtod provided in JAXP 1.3 javax.xml.XMLUtils.isValidNCName, which will create dependency on JAXP 1.3 though. JDK 1.5 ships with JAXP 1.3
> This dependency is causing us alot of trouble since we need to use another parser that is optimized for large XML data. 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Commented: (JCR-217) class org.apache.jackrabbit.name.QName has a hardcoded dependency on Xerces

Posted by "Ragy Eleish (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/JCR-217?page=comments#action_12329510 ] 

Ragy Eleish commented on JCR-217:
---------------------------------

I did more research the dependency on xerces is in more files than just QNAME they are as follows:

contrib\jcr-ext\src\java\org\apache\jackrabbit\session\SessionNamespaceRegistry.java
contrib\jcr-ext\src\java\org\apache\jackrabbit\xml\DocumentViewExportVisitor.java
org\apache\jackrabbit\core\LocalNamespaceMappings.java
org\apache\jackrabbit\core\NamespaceRegistryImpl.java
org\apache\jackrabbit\core\SessionImpl.java(1009): XMLReaderFactory.createXMLReader("org.apache.xerces.parsers.SAXParser");
org\apache\jackrabbit\core\WorkspaceImpl.java(687): XMLReaderFactory.createXMLReader("org.apache.xerces.parsers.SAXParser");
org\apache\jackrabbit\core\query\lucene\LuceneQueryBuilder.java
org\apache\jackrabbit\core\util\ISO9075.java
org\apache\jackrabbit\name\Path.java
org\apache\jackrabbit\name\QName.java

Most of the dependency is on isValidNCName, with the following exceptions
- SessionImpl and WorkspaceImpl they specify the xerces parser directly.
- ISO9075 and DocumentViewExportVisitor depend on some other methods in the Xerces' XMLChar class.


> class org.apache.jackrabbit.name.QName has a hardcoded dependency on Xerces
> ---------------------------------------------------------------------------
>
>          Key: JCR-217
>          URL: http://issues.apache.org/jira/browse/JCR-217
>      Project: Jackrabbit
>         Type: Bug
>     Versions: 1.0
>     Reporter: Ragy Eleish
>     Priority: Critical

>
> The class org.apache.jackrabbit.name.QName, has an unneeded dependency on Xerces which make it difficult to work with the XML parser or ones choice.
> The dependency (on line 246) is on the method "XMLChar.isValidNCName" only. I suggest one of the following solutions
> - Copy the implementation of this method to the QName class, it is a very simple implementation.
> - Use the mehtod provided in JAXP 1.3 javax.xml.XMLUtils.isValidNCName, which will create dependency on JAXP 1.3 though. JDK 1.5 ships with JAXP 1.3
> This dependency is causing us alot of trouble since we need to use another parser that is optimized for large XML data. 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira