33 Oracle XML Developer's Kit Standards

This chapter describes the Oracle XML Developer's Kit (XDK) standards.

Topics:

XML Standards Supported by XDK

Topics:

Summary of XML Standards Supported by XDK

Table 33-1 summarizes the standards supported by XDK components.

Table 33-1 Summary of XML Standards Supported by Oracle XML Developer's Kit

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 Core

Full

N/A

N/A

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

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://www.oracle.com/technetwork/java/index.html

JAXP 1.2 (JSR Standard)

Full

N/A

N/A

http://www.oracle.com/technetwork/java/index.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 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 XDK for Java" describes the parts of the XSLT standard that are not supported.

XML Standards for XDK for Java

Topics:

DOM Standard for XDK for Java

Note:

In Oracle Database 10g Release 2, XDK for Java implements the candidate recommendation versions of Document Object Model (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. To conform with the recommendations, Oracle may be forced to make changes that are not backward compatible. During this period Oracle does not guarantee backward compatibility with our DOM Load and Save, and Validation implementation. After XDK for Java is updated to conform with the recommendations, standard Oracle policies for backward 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 Extensible Markup Language (XML) content inside conforming products.

The charset-overrides-xml-encoding configuration parameter is not supported by LSParser. Optional settings of these 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 these 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 subtrees against the XML schema.

Because validation is based on an XML schema, you must convert a document type definition (DTD) to an XML schema before using these functions.

XSLT Standard for 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 World Wide Web Consortium (W3C) Extensible Stylesheet Language Transformation (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 they become recommendations. During this period, 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 backward compatible with previous releases or patch sets. During this period Oracle does not guarantee any backward compatibility between database releases or patch sets with 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 for backward 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 the XML Schema built-in types specified by the XPath 2.0 Datamodel are supported.

  • 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, it was treated as (n to m) reverse sequence. As described in the April 2005 draft, an empty sequence is returned.

2. isnot operator was removed, as described in the April 2005 draft.

3. getEffectiveBooleanValue definition (fn:boolean) updated, as described in the April 2005 draft. An empty string value causes an exception (FORG006) instead of returning false. All cases not handled by getEffectiveBooleanValue raise an exception (FORG006). XPath 1.0 behavior for fn:boolean remains the same.

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

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

JAXB Standard for XDK for Java

The XDK implementation of the Java Architecture for XML Binding (JAXB) specification does not support these features:

  • Javadoc generation

  • XML Schema component "any" and substitution groups

Pipeline Definition Language Standard for 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 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 quotation marks ("...") 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 XDK

Topics:

Character Sets Supported by XDK for Java

XML Schema processor for Java supports documents in these 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 XDK for C

The XDK for C supports over 300 Internet Assigned Numbers Authority (IANA) character sets. These character sets include:

  • 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 Oracle Database Globalization Support Guide, except for IW7IS960.