Find JSRs
Submit this Search

Ad Banner

Summary  |  Proposal  |  Detail (Summary & Proposal)
JSRs: Java Specification Requests
JSR 63: JavaTM API for XML Processing 1.1

Stage Access Start Finish
Final Release 2 Download page 10 Sep, 2002  
Maintenance Draft Review 2 Download page 19 Mar, 2002 22 Apr, 2002
Maintenance Draft Review Download page 29 Oct, 2001 03 Dec, 2001
Final Release Download page 14 Feb, 2001  
Final Approval Ballot View results 30 Jan, 2001 12 Feb, 2001
Proposed Final Draft Download page 19 Dec, 2000  
Public Review 2   22 Nov, 2000  
Public Review   04 Oct, 2000 06 Nov, 2000
Community Draft Ballot View results 19 Sep, 2000 25 Sep, 2000
Community Review Login page 25 Aug, 2000 25 Sep, 2000
Expert Group Formation   25 Apr, 2000 07 Aug, 2000
CAFE   25 Apr, 2000 09 May, 2000
JSR Approval   18 Apr, 2000 24 Apr, 2000
Status: Final
JCP version in use: 2.1
Java Specification Participation Agreement version in use: 1.0

The proposed specification will define a set of implementation independent portable APIs supporting XML Processing.

Please direct comments on this JSR to the Spec Lead(s)

Specification Leads
  Rajiv Mordani Oracle
Expert Group
  Apache Software Foundation BEA Systems Fujitsu Limited
  Hunter, Jason Informix Software Macromedia, Inc.
  Mazzocchi, Stefano Oracle Persistence Software Inc.
  Sabin, Miles Stellent, Inc. Sun Microsystems, Inc.
  Versant Corporation

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:

Telephone Number: +1 408 517 6707

Fax Number: +1 408 863 3164

Original Java Specification Request (JSR)

Identification | Request | Contributions

Section 1. Identification

Submitting Participant: Sun Microsystems, Inc.

Name of Contact Person: James Duncan Davidson

E-Mail Address:

Telephone Number: 408 863 3281

Fax Number: 408 863 3195

List of other Participants who endorse this JSR:

  • Takuki Kamiya, Fujitsu
  • Pier Fumagalli, ExOffice
  • Stefano Mazzocchi, Apache

Section 2: Request

2.1 Please describe the proposed Specification:

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.

2.2 What is the target Java platform? (i.e., desktop, server, personal, embedded, card, etc.)

This facility is targeted for use by the Java 2 Standard Edition and Java 2 Enterprise Edition platforms.

2.3 What need of the Java community will be addressed by the proposed specification?

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.

2.4 Why isn't this need met by existing specifications?

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.

2.5 Please give a short description of the underlying technology or technologies:

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 \223namespace\224 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 document\222s 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.

2.6 Is there a proposed package name for the API Specification? (i.e., javapi.something, org.something, etc.)

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.

2.7 Does the proposed specification have any dependencies on specific operating systems, CPUs, or I/O devices that you know of?


2.8 Are there any security issues that cannot be addressed by the current security model?


2.9 Are there any internationalization or localization issues?

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.

2.10 Are there any existing specifications that might be rendered obsolete, deprecated, or in need of revision as a result of this work?

The functionality in the Java API for XML Parsing 1.0 would be updated and subsumed as part of this work.

Section 3: Contributions

3.1 Please list any existing documents, specifications, or implementations that describe the technology. Please include links to the documents if they are publicly available.

XML 1.0 Recommendation

XML Namespaces 1.0

SAX 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

3.2 Explanation of how these items might be used as a starting point for the work.

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.