JAXP needs to support current XML standards in a
timely fashion in order for the Java™ platform to remain
relevant to developers and users. The revised XML standards
incorporate changes based on several years of growing implementation
experience. Standardizing support for current standards will insure
inter-operation in addition to providing increased functionality to
developers and users. The following core XML standards have been
revised since JAXP 1.2 and support for them will be updated in JAXP
1.3:

JSRs, and applications, involving XML processing will
benefit from a common standard specification of fundamental XML
constructs in javax.xml.*. This will avoid duplication
of effort, insure inter-operation and provide easy and efficient ways
of conforming to XML specifications. Common constructs currently
being used in multiple JSRs include XML Qualified
Name and Namespace
Context. As JAXP 1.3 standardizes common constructs identified by
the Expert Group, future revisions of JSRs involving XML will be able
to reuse them.

Experts from other JSRs and developers of more
complex and ambitious applications have requested standardized support
for more precise control over XML processing. Examples include JSR 105 XML Digital
Signature APIs needing to control canonicalization, JSR 31 XML Data Binding
Specification needing the definition of Java™ Objects for XML Schema Part 2:
Datatypes, and applications, especially J2EE™ applications,
needing more precise control over the characteristics of the JAXP
processor returned by the processor factory. The Expert Group will
consult with other JSRs and apply their knowledge of existing and
future applications to determine the need for standardized support of
more precise control of XML processing.

Several denial of service exploits in
processing XML have recently been exposed. These exploits are more
the result of the nature of the XML specification vs. JAXP
implementations. JAXP 1.3 will address these known issues. The
Expert Group will pro-actively examine the relationship of valid XML
constructs to their processing resources and define appropriate
mechanisms to preempt future exploits.

Improving the performance of XML processing is
desired. For example, some XML processor implementations already
support grammar
pre-parsing and caching. Developers have also asked for the
ability to signal the processor that it is OK to release processing
related resources, e.g. "I am done with this sub-tree", in addition to
providing guidance to anticipated processing patterns, e.g. "I know I
am going to heavily modify the entire tree. The Expert Group will
evaluate what existing XML processing implementations have done to
enhance performance in addition to applying their own knowledge of how
Java and XML interact to define mechanisms for enhancing
performance.

The W3C DOM APIs are generated from IDL and are not
always an optimal fit for the Java™ developer. The Expert Group
will evaluate providing helper classes to support easy XPath 1.0
queries on DOM that follow Java™ design patterns.

Enabling future support of XML Path Language (XPath) 2.0
and XSL Transformations (XSLT)
Version 2.0 is a design goal. An analysis of XPath/XSLT 2.0 will
be done by the Expert Group to insure that follow-on versions of JAXP
will be able to support them with minimal changes to JAXP. The
XPath/XSLT 2.0 implementation community will be engaged to encourage
bi-directional guidance between the JSR specification and the early
implementations.

2.11 Please describe the anticipated schedule for the development of this
specification.

JAXP 1.3 schedule will be aligned with the schedule for J2SETM
1.5

2.12 Please describe the anticipated working model for the Expert Group working on developing this
specification.

The Expert Group will interact using the private e-mail alias and
web site provided by the JCP's PMO in addition to conference calls and
face-to-face meetings as appropriate. Expert Group members have
strong ties into the Java and XML communities and will call on domain
experts as needed.

2.13 Please describe how the RI and TCK will de delivered, i.e. as part of a profile or platform edition, or stand-alone, or both. Include version information for the profile or platform in your answer.

The RI and TCK will be delivered both as part of J2SETM 1.5
and also for stand-alone use.

2.14 Please state the rationale if previous versions are available stand-alone and you are now proposing in 2.13 to only deliver RI and TCK as part of a profile or platform edition (See sections 1.1.5 and 1.1.6 of the JCP 2 document).

Although this represents no change from the prior version of JAXP,
it is important to note that the XML space is changing faster than
that of J2SETM. While JAXP 1.3 will be synchronizing the current
XML standards with a J2SETM release, the XML space will continue
its rapid evolution and there will be a need to revise JAXP outside
of the J2SETM release schedule. As these asynchronous JAXP
releases happen, a separate RI and TCK will be provided.

2.15 Please provide a description of the business terms for the Specification, RI and TCK that will apply when this JSR is final.

The JAXP 1.3 JSR will be delivered as part of J2SETM 1.5. The
proposed J2SETM 1.5 licensing terms are available at
J2SETM 1.5 licensing terms. The RI will also be licensed
stand-alone, under Sun's normal Binary Code License Agreement. There
will be no charge for a binary license. The TCK will also be licensed
stand-alone at no charge to J2SETM and J2EETM platform TCK
licensees. The stand-alone TCK will be offered for license at no
charge, without support or any trademark license rights, to qualified
not-for-profit entities (including not-for-profit academic
institutions) and qualified individuals engaged in efforts to create
compatible implementations of the JAXP 1.3 Specification.

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.

Please see 2.1 above.

Significant implementation of the JAXP 1.3 feature set is well
underway as part of the Apache XML
Project. Several members of the Expert Group are active designers
and developers of Xerces2 Java
Parser and Xalan-Java and
have commit privileges.

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

The previous release of JAXP 1.2 used these projects as the
development environment of the RI and JAXP 1.3 will continue to do
so.