This JSR has been Withdrawn
Reason: Withdrawn at the request of the Specification Lead.
Original Java Specification Request (JSR)
Identification |
Request |
Contributions |
Additional Information
Submitting Member: Jason Hunter
Name of Contact Person: Jason Hunter
E-Mail Address: jsr102_AT_servlets.com
Telephone Number: (650) 938-2824
Fax Number: (650) 938-2824
Specification Lead: Jason Hunter
E-Mail Address: jsr102_AT_servlets.com
Telephone Number: (650) 938-2824
Fax Number: (650) 938-2824
Initial Expert Group Membership:
People and organizations who have agreed to join before the CAFE:
Section 2: Request
JDOM 1.0 will define an API for easy and efficient reading, manipulation, and writing of XML documents and XML data. JDOM is already a popular open source product in beta release at http://jdom.org, and with this JSR we hope to define its final 1.0 form. Among the goals for the JDOM JSR:
Nearly all these goals are satisfied in the latest JDOM snapshot. What remains to be done is clarifying how entities are to work, checking for overlooked requirements, polishing rough areas in the API, and getting additional industry buy-in.
This facility is targeted for use by the Java 2 Standard Edition and Java 2 Enterprise Edition platforms.
This will create a model for interacting with XML data that is optimized for the Java environment. The "Quotes" page at http://jdom.org/docs/quotes.html shows how the beta releases has addressed the Java community's needs.
The most similar existing specification is the DOM. Compared to the DOM, JDOM is easier to use, on many tasks requires less memory and performs faster, has more natural handling of namespaces, and at runtime fully ensures documents are well formed. JDOM can read and write DOM to support applications depending on DOM.
Another similar specification is SAX. Compared to SAX, JDOM allows random access to XML data as well as manipulation and output of the XML data. JDOM can read and write SAX events to support applications depending on SAX.
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
"namespace" 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.
The Java API for XML Parsing (JAXP) defines a set of implementation independent portable APIs to support XML processing. It is anticipated that this specification will endorse version 1.1 of the API.
Currently the packages are defined in org.jdom. A proposed javax
namespace package name would be javax.xml.tree.
No.
No.
XML itself 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.
No.
Initiation: Februrary 2001
Community Review: April 2001
Public Review: June 2001
Final Draft Proposal: August 2001
Further schedule will depend on the review process.
Section 3: Contributions
The JDOM website (http://jdom.org) contains a pre-release implementation, API Javadocs, a technical FAQ, as well as links to JavaWorld articles and conference slides describing the technology.
The existing JDOM library will be the starting point for this JSR.
Section 4: Additional Information (Optional)
Although I'm the Apache Executive Committee representative, I submit this JSR as an individual because JDOM is not an Apache project. In making this proposal I do have the support of my employer (CollabNet), as well as the co-creator of JDOM (Brett McLaughlin) and the 950 developers on the jdom-interest mailing list at jdom.org.