You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2018/05/01 08:32:00 UTC

[jira] [Commented] (JENA-1537) Remove requirement for Apache Xerces.

    [ https://issues.apache.org/jira/browse/JENA-1537?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16459528#comment-16459528 ] 

ASF GitHub Bot commented on JENA-1537:
--------------------------------------

GitHub user afs opened a pull request:

    https://github.com/apache/jena/pull/413

    JENA-1537: Remove dependency on Apache Xerces.

    The dependency of Apache Xerces 2.11.0 can be removed by extracting the necessary datatype validation code from Xerces and using the JDK XML parser. The Xerces release jars `xercesImpl-2.11.0.jar` and `xml-apis-1.4.01.jar` are no longer needed which has OSGi and JPMS advantages.
    
    Impacts:
    
    * Switch to using the JDK built-in XML parser (this affects any use of XML in an application using Jena)
    * Drop `XSDDatatype.loadUserDefined` - the necessary code isn't available via JDK APIs
    * Add package tree `org.apache.jena.ext.xerces` for the extracted datatype validation and regex code (a SPARQL corner case)
    * Remove Xerces from `pom.xml` and `jena-core/pom.xml`
    * Remove Xerces from `jena-osgi/pom.xml`
    * No checking of encoding mismatches between reader and XML charset declaration (access to the XML Declaration is not available, at least not in the same way)
    
    The extracted code is only slightly cleaned up to keep some degree of alignment with the original Xerces source. That code originates from a long time ago and has a lot of warnings which have been suppressed.
    
    There will also need to be a change to NOTICE to reflect NOTICE from Xerces (it is already in the NOTICE for the distribution).


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/afs/jena xerces

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/jena/pull/413.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #413
    
----
commit c9a7e646be45d44f26b44e51187487f12f182b89
Author: Andy Seaborne <an...@...>
Date:   2018-04-30T17:26:05Z

    JENA-1537: Remove dependency on Xerces. Import needed code

----


> Remove requirement for Apache Xerces.
> -------------------------------------
>
>                 Key: JENA-1537
>                 URL: https://issues.apache.org/jira/browse/JENA-1537
>             Project: Apache Jena
>          Issue Type: Improvement
>          Components: Datatypes, RDF/XML
>            Reporter: Andy Seaborne
>            Assignee: Andy Seaborne
>            Priority: Major
>
> Apache Xerces is used for parsing and also for dataype support.
> We can switch to the JDK built-in XML parser (which is actually a forked Xerces).
> For jena-core datatype, we can extract the necessary code from Xerces and put it in Jena (repackaged).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)