31 XDK Standards

This appendix contains the following topics:

XML Standards Supported by the XDK

This section contains the following topics:

Summary of XML Standards Supported by the XDK

Table 31-1 summarizes the standards supported by the XDK Components.

Table 31-1 Summary of XML Standards Supported by the XDK

Standard Java C C++ Specification URL

DOM 1.0

Full

Full

Full

http://www.w3.org/TR/DOM-Level-1

DOM 2.0 Core

Full

Full

Full

http://www.w3.org/TR/DOM-Level-2-Core

DOM 2.0 Events

Full

Full

Full

http://www.w3.org/TR/DOM-Level-2-Events

DOM 2.0 Transversal and Range

Full

Full

Full

http://www.w3.org/TR/DOM-Level-2-Traversal-Range

DOM 3.0 Load and Save

PartialFoot 1 

None

None

http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107

DOM 3.0 Validation

FullFoot 2 

None

None

http://www.w3.org/TR/2003/CR-DOM-Level-3-Val-20030730

JAXP 1.1 (JSR Standard)

Full

N/A

N/A

http://java.sun.com/xml/downloads/jaxp.html

JAXP 1.2 (JSR Standard)

Full

N/A

N/A

http://java.sun.com/xml/downloads/jaxp.html

SAX 1.0

Full

Full

Full

http://www.saxproject.org

SAX 2.0 Core

Full

Full

Full

http://www.saxproject.org

SAX 2.0 Extension

Full

Full

Full

http://www.saxproject.org

XML 1.0 (Second Edition)

Full

Full

Full

http://www.w3.org/TR/REC-xml

XML Base

Only in XSLT

None

None

http://www.w3.org/TR/xmlbase

XML Namespaces 1.0

Full

Full

Full

http://www.w3.org/TR/REC-xml-names

XML Pipeline Definition Language 1.0 (Note)

PartialFoot 3 

None

None

http://www.w3.org/TR/xml-pipeline

XML Schema language 1.0

Full

FullFoot 4 

FullFootref 4

http://www.w3.org/TR/xmlschema-0

XPath 1.0

Full

Full

Full

http://www.w3.org/TR/xpath

XPath 2.0 Language (working draft dated 04 April 2005)

Full

None

None

http://www.w3.org/TR/2005/WD-xpath20-20050404

XPath 2.0 Data Model (working draft dated 04 April 2005)

Full

None

None

http://www.w3.org/TR/2005/WD-xpath-datamodel-20050404/

XQuery 1.0 and XPath 2.0 Functions and Operators (working draft dated 04 April 2005)

Full

None

None

http://www.w3.org/TR/2005/WD-xpath-functions-20050404

XSLT 1.0

Full

Full

Full

http://www.w3.org/TR/xslt

XSLT 2.0 (working draft dated 04 April 2005)

PartialFoot 5 

None

None

http://www.w3.org/TR/2005/WD-xslt20-20050404/


Footnote 1 "DOM Level 3 Load and Save" describes the relationship between DOM 3.0 Core and Load and Save.

Footnote 2 "DOM 3.0 Validation" describes the relationship between DOM 3.0 Core and Validation.

Footnote 3 "Pipeline Definition Language Standard for the XDK for Java" describes the parts of the standard that are not supported.

Footnote 4 The Schema processor fully supports the functionality stated in the specification plus "XML Schema 1.0 Specification Errata" as published on http://www.w3.org/2001/05/xmlschema-errata.

Footnote 5 "XSLT Standard for the XDK for Java" describes the parts of the XSLT standard that are not supported.

XML Standards for the XDK for Java

This section contains the following topics:

DOM Standard for the XDK for Java

Note:

In Oracle Database 10g Release 2, the Java XDK implements the candidate recommendation versions of DOM Level 3.0 Load and Save and Validation specifications. Oracle plans to produce a release or patch set that will include an implementation of DOM Level 3.0 Load and Save and Validation recommendations. In order to conform to the recommendations, Oracle may be forced to make changes that are not backward compatible. During this period Oracle does not guarantee backward compatibility with respect to our DOM Load and Save, and Validation implementation. After the Java XDK is updated to conform to the recommendations, standard Oracle policies with respect to backwards compatibility will apply to the Oracle DOM Load and Save, and Validation implementation.

The DOM APIs include support for candidate recommendations of DOM Level 3 Validation and DOM Level 3 Load and Save.

DOM Level 3 Load and Save

The DOM Level 3 Load and Save module enables software developers to load and save XML content inside conforming products. The DOM 3.0 Core interface DOMConfiguration is referred by DOM 3 Load and Save. Although DOM 3.0 Core is not supported, a limited implementation of this interface is available.

The charset-overrides-xml-encoding configuration parameter is not supported by LSParser. Optional settings of the following configuration parameters are not supported by LSParser:

  • disallow-doctype (true)

  • ignore-unknown-character-denormalizations (false)

  • namespaces (false)

  • supported-media-types-only (true)

The discard-default-content configuration parameter is not supported by LSSerializer. Optional settings of the following configuration parameters are not supported by LSSerializer:

  • canonical-form (true)

  • format-pretty-print (true)

  • ignore-unknown-character-denormalizations (false)

  • normalize-characters (true)

DOM 3.0 Validation

DOM 3.0 validation allows users to retrieve the metadata definitions from XML schemas, query the validity of DOM operations and validate the DOM documents or sub-trees against the XML schema.

Some DOM 3 Core functions referred by Validation are implemented, but Core itself is not supported. Specifically, NameList and DOMStringList in DOM Core are supported for validation purposes. Because validation is based on an XML schema, you need to convert a DTD to an XML schema before using these functions.

XSLT Standard for the XDK for Java

The XSLT processor adds support for the current working drafts of XSLT 2.0, XPath 2.0, and the shared XPath/XQuery data model.

Note:

At the time of release of Oracle Database 10g Release 2 the W3C XSLT and XPath working group had not yet published the XSLT 2.0 and XPath 2.0 recommendations. Oracle will continue to track the evolution of the XSLT 2.0 and XPath 2.0 specifications, until such time as they become recommendations. During this period, in order to follow the evolution of the XSLT 2.0 and XPath 2.0 specifications, Oracle may be forced to release updates to the XSLT 2.0 and XPath 2.0 implementation which are not backwards compatible with previous releases or patch sets. During this period Oracle does not guarantee any backward compatibility between database releases or patch sets with respect to our XSLT 2.0 and XPath 2.0 implementation. After the XSLT 2.0 and XPath 2.0 specifications become recommendations, Oracle will produce a release or patch set that includes an implementation of the XSLT 2.0 and XPath 2.0 recommendations. From that point on, standard Oracle policies with respect to backwards compatibility will apply to the Oracle XSLT 2.0 and XPath 2.0 implementation. See http://www.w3.org for the latest information on the status of XSLT 2.0 and XPath 2.0 specifications.

Some features of these specifications are not supported in the current release:

  • The Schema Import and Static Typing features are not supported, but we do support XML Schema built-in types specified by the XPath 2.0 Datamodel.

  • The schema-element and schema-attribute nodetests are not supported.

  • The XSLT instruction xsl:number uses XSLT 1.0 semantics and syntax.

  • The use-when standard attribute is not supported.

  • The processor does not honor the attribute of required on xsl:param.

  • Tunnel parameters are not supported.

  • Regular expression instructions are not supported in XSLT.

  • The XPath 2.0 functions fn:tokenize, fn:matches, and fn:replace are not supported.

  • format-dateTime, format-date, and format-time functions are not supported.

  • The content model for xsl:attribute, xsl:comment, xsl:message and the way to compute key values of xsl:key and xsl:sort are still 1.0 behavior.

  • attribute [xsl:]inherit-namespaces for xsl:copy, xsl:element, and literal result elements is not supported.

Updates to the W3C specifications for XPath 2.0 and XSLT 2.0 resulted in certain differences in behavior from 10g Release 1. For 10g Release 1 compatible behavior set the system property oracle.xdkjava.compatibility.version=10.1.0.

XPath 2.0 - Differences between 10g Release 1 and 10g Release 2

1. RangeExpr, behavior for (m to n), where m > n changed. Earlier we treated it as (n to m), reverse sequence. As described in the April 2005 draft, we return an empty sequence.

2. isnot operator was removed as per the Apr 2005 draft.

3. getEffectiveBooleanValue definition (fn:boolean) updated as described in the April 2005 draft. Empty string value will result in exception (FORG006) instead of returning false. All cases not handled by getEffectiveBooleanValue will result in an exception (FORG006). XPath 1.0 behavior for fn:boolean will remain the same.

XSLT 2.0 - Difference between 10g Release 1 and 10g Release 2

normalize-unicode has been changed to normalization-form, the allowed attribute values have been changed from "yes" | "no" to "NFC" | "NFD" | "NKFC" | "NKFD" | \x{2026}\x{2026} as described in the Nov. 2004 draft.

JAXB Standard for the XDK for Java

The Oracle Database XDK implementation of the JAXB specification does not support the following features:

  • Javadoc generation

  • XML Schema component "any" and substitution groups

Pipeline Definition Language Standard for the XDK for Java

The XML Pipeline processor differs from the W3C Note as follows:

  • The parser processes DOMParserProcess and SAXParserProcess are included in the XML pipeline (Section 1).

  • Only the final target output is checked to see if it is up-to-date with respect to the available pipeline inputs. The XML Pipeline processor does not determine whether the intermediate outputs of every process are up-to-date (Section 2.2).

  • For the select attribute, anything in between double-quotes ("...") is considered to be a string literal.

  • The XML Pipeline processor throws an error if more that one process produces the same infoset (Section 2.4.2.3).

  • The <document> element is not supported (Section 2.4.2.8).

Character Sets Supported by the XDK

This section contains the following topics:

Character Sets Supported by the XDK for Java

XML Schema processor for Java supports documents in the following encodings:

  • BIG

  • EBCDIC-CP-*

  • EUC-JP

  • EUC-KR

  • GB2312

  • ISO-2022-JP

  • ISO-2022-KR

  • ISO-8859-1to -9

  • ISO-10646-UCS-2

  • ISO-10646-UCS-4

  • KOI8-R

  • Shift_JIS

  • US-ASCII

  • UTF-8

  • UTF-16

Character Sets Supported by the XDK for C

The XDK parser for C supports over 300 IANA character sets. These character sets include the following:

  • UTF-8

  • UTF-16

  • UTF16-BE

  • UTF16-LE

  • US-ASCII

  • ISO-10646-UCS-2

  • ISO-8859-{1-9, 13-15}

  • EUC-JP

  • SHIFT_JIS

  • BIG5

  • GB2312

  • GB_2312-80

  • HZ-GB-2312

  • KOI8-R

  • KSC5601

  • EUC-KR

  • ISO-2022-CN

  • ISO-2022-JP

  • ISO-2022-KR

  • WINDOWS-{1250-1258}

  • EBCDIC-CP-{US,CA,NL,WT,DK,NO,FI,SE,IT,ES,GB,FR,HE,BE,CH,ROECE,YU,IS,AR}

  • IBM{037, 273, 277, 278, 280, 284, 285, 297, 420, 424, 437, 500, 775, 850, 852, 855, 857, 858, 860, 861, 863, 865, 866, 869, 870, 871, 1026, 01140, 01141, 01142, 01143, 01144, 01145, 01146, 01147,01148}

You can use any alias of the preceding character sets. In addition, you can use any character set specified in Appendix A, Character Sets, of the Oracle Database Globalization Support Guide with the exception of IW7IS960.