Updates to the Java Specification Request (JSR)
The following changes have been made to the original request:
Specification Lead: Sun Microsystems, Inc.
Name of Spec Lead: Rajiv Mordani
E-Mail Address: rajiv.mordani@eng.sun.com
Telephone Number: +1 408 517 6707
Fax Number: +1 408 863 3164
Identification | Request | Contributions
Section 1. Identification
Submitting Participant: Sun Microsystems, Inc.
Name of Contact Person: James Duncan Davidson
E-Mail Address: james.davidson@eng.sun.com
Telephone Number: 408 863 3281
Fax Number: 408 863 3195
List of other Participants who endorse this JSR:
Section 2: Request
The proposed specification will define a set of implementation independent portable APIs supporting XML Processing. This specification will be a follow-on specification to the Java API for XML Parsing (JAXP) 1.0 which was produced under JSR-000005. This specification will update the JAXP 1.0 specification support for SAX and DOM by endorsing SAX2 and DOM Level 2 respectively. In addition, it will define a set of implementation independent APIs for supporting XML Stylesheet Language / Transformation (XSLT) processors as well as possibly utilizing the XML utility standards of XBase, XLink, XPath, and XPointer.
This facility is targeted for use by the Java 2 Standard Edition and Java 2 Enterprise Edition platforms.
The proposed specification will update the current JAXP 1.0 specification to support the latest versions of the external DOM and SAX standards that it endorses. At the current time, SAX2 and DOM Level 2 are progressing rapidly towards final status and it is anticipated that they will be complete within the next few months.
In addition, this specification will meet the need for Java Platform programmers to easily utilize XSL in their applications by providing a plugability mechanism for accessing XSL processors.
The existing JAXP 1.0 specification needs to be updated to take advantage of the latest SAX and DOM standards so that the users of the API have access the features that those updated specifications provide. In addition, there currently is no way to obtain an instance of an XSL processor and use it without using implementation specific mechanisms.
XML is the meta language defined by the World Wide Web Consortium (W3C) that can be used to describe a broad range of hierarchical mark up languages. It is a set of rules, guidelines, and conventions for describing structured data in a plain text editable file. It is expected that this specification will endorse version 1.0 of the XML Recommendation.
XML Namespaces define the syntax and semantics for XML structures required to be distinct from other XML markup. In particular it defines a mechanism whereby a set of XML markup may have a distinguishing 223円namespace224円 associated with it. It is expected that this specification will endorse version 1.0 of the XML Namespaces Recommendation.
The Simple API for XML (SAX) is a public domain API developed cooperatively by the members of the XML-DEV mailing list. It provides an event-driven (sometimes referred to as a callback-style) interface to the process of parsing an XML document. It is anticipated that this specification will endorse version 2.0 of the API.
The Document Object Model (DOM) describes facilities for a programmatic representation of a parsed XML document. The DOM specification defines these interfaces using Interface Definition Language (IDL) in a language independent fashion and also includes a Java Language Binding. It is anticipated that this specification will endorse Level 2 of the specification.
XSL is a language for expressing stylesheets. It consists of two parts: 1) a language for transforming XML documents to other XML documents (XSLT), and 2) an XML vocabulary for expressing formatting semantics. It is anticipated that this specification will support the 1.0 version of the XSLT specification.
XML Base (XBase) allows a document to specify a document222円s base URI against which all relative URI references in the document can be resolved against. This includes references to images, stylesheets, applets, etc. It is anticipated that this specification will endorse the 1.0 version of the XBase specification.
XML Pointer Language (XPointer) is a language that can be used as a fragment identifier for any URI that locates an XML resources. It is based on the XML Path Language (XPath). It supports addressing internal structures of XML documents, traversals of a document tree, and the selection of internal parts of an XML document based on various properties.240円 It is anticipated that this specification will endorse the 1.0 version of the XPointer specification.
XPath is a language for addressing parts of an XML document, designed to be used by both XSLT and XPointer. It is anticipated that this specification will endorse the 1.0 version of the XPath Recommendation.
The SAX and DOM pluggability interfaces are located in the package javax.xml.parsers. These current classes would be updated as part of this specification work.
The XSLT pluggability interfaces would be located in the package javax.xml.transform.
No
No
XML was designed from the ground up to address such issues. A requirement of the proposed specification is that it preserve the inherent internationalizability of XML and related technologies.
The functionality in the Java API for XML Parsing 1.0 would be updated and subsumed as part of this work.
Section 3: Contributions
XML 1.0 Recommendation
XML Namespaces 1.0
SAX 2.0 Beta 2 API
DOM Level 1 Recommendation
DOM Level 2 Candidate Review Draft
XSL 1.0 Working Draft
XSLT 1.0 Recommendation
XPointer 1.0 Working Draft
XBase 1.0 Working Draft
XPath 1.0 Recommendation
Java API for XML Parsing 1.0
The XML, XML Namespaces, SAX, DOM, and XSL specifications will be endorsed as part of this specification work. As well, there is an early XSLT pluggability specification called TRaX that can serve as a starting point for designing the XSLT pluggability layer.
The Java API for XML Parsing 1.0 is the previous version of this specification work.