Donation of JAXP 1.3 Sources to Apache
Neeraj Bajaj <[email protected]>
| Newsgroups | gmane.text.xml.general,gmane.text.xml.xerces-j.devel,gmane.text.xml.xerces-j.user,gmane.text.xml.xalan.devel,gmane.text.xml.xalan.java.user |
|---|---|
| Message-ID | <[email protected]> |
Hello All, As most of you already know JSR 206 [1] JAXP 1.3 has become final. JAXP 1.3 adds lots of new features in the area of XML processing. It introduces new Schema independent validation framework which decouples the validation as a process independent from parsing. It allows to compile Schema to an immutable memory representation of Grammar which can validate different instances of XML document thus greatly improving the performance of XML processing. XPath language provides a simple, concise syntax for accessing individual parts of an XML document. JAXP 1.3 defines XPath APIs which provides access to the XPath evaluation environment and expression results independent of the underlying data object model. JAXP 1.3 also adds new Datatypes to the Java platform which maps to some of the W3C XML Schema Datatypes, Features for Secured XML processing etc. JAXP 1.3 also adds the ability to reset XML Parser and Transformer instance , allowing application to reuse the same instance to process multiple XML documents. This also helps in increasing XML processing performance. JAXP 1.3 also upgrades to the W3C stds. like DOM L3 Core DOM L3 L/S, XML 1.1, XInclude. Sun Microsystems would like to donate JAXP 1.3 sources (API s + Reference Implementation) to Apache. Details of JAXP 1.3 sources to be donated: JAXP 1.3 sources contains the new JAXP 1.3 APIs and the RI (Reference Implementation). RI has been done using Xerces/Xalan as code base. RI contains the implementation of newly introduced Validation Framework [2], XPath APIs [3] , Datatypes [4] implementation, SAXParser, DocumentBuilder, Transformer Reset changes, Secured XML Processing changes. Implementation of W3C stds. DOM L3 Core, DOM L3 L/S, XML 1.1, XInclude already exist on Apache Xerces. So in the next section I have also proposed the way to merge rest of the JAXP 1.3 RI changes into Apache Xerces & Xalan project. I have also suggested where implementation component should reside i.e. Xerces or Xalan. Any idea or feedback for the smoother and expedited merger of JAXP 1.3 sources into Apache xml-commons, Xerces & Xalan is very welcome. JAXP 1.3 APIs: JAXP APIs has been at xml-commons for a long time as these set of APIs are used by many different projects. With JSR 206 declared as final and many new standards emerging, we should update xml-commons to JAXP 1.3 APIs. I propose JAXP 1.3 APIs to be committed to xml-commons main trunk and apply a tag. JAXP 1.3 RI: (Implementation components that should be part of Xerces) JAXP 1.3 RI contains the implementation of following packages javax.xml.datatype javax.xml.validation javax.xml.parsers ( reset(), xinclude, etc.) which should reside at Xerces. I propose that we create a branch, and merge JAXP 1.3 RI changes into that branch. This will help other Xerces active committers to have a chance to look at it before these changes being finally committed to main trunk. This process would require merging changes to the branch and then committing changes to main trunk, i seek help of active Xerces committers. JAXP 1.3 RI: (Implementation components that should be part of Xalan) JAXP 1.3 RI also has the implementation of newly developed XPath (javax.xml.xpath.*) APIs which i think, should be part of Xalan/XSLTC project. Besdies this, JAXP 1.3 RI also contains changes done in "javax.xml.transform" package for ex. now application can use the same Transformer instance by invoking reset(). I propose the same for the Xalan/XSLTC project that we create a branch and JAXP 1.3 Reference Implementation changes are put there. This will help other Xalan active committers to have a chance to look at it before these changes being finally committed to main trunk. Again i seek help of Xalan committers for this process. As always, all feedbacks are more than welcome. Thanks, Neeraj [1] http://www.jcp.org/en/jsr/detail?id=206 [2] http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/validation/package-summary.html [3] http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/xpath/package-summary.html [4] http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/datatype/package-summary.html