This chapter describes the Oracle XML Developer's Kit (XDK) standards.
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 |
|
DOM 2.0 Core |
Full |
Full |
Full |
|
DOM 2.0 Events |
Full |
Full |
Full |
|
DOM 2.0 Transversal and Range |
Full |
Full |
Full |
|
DOM 3.0 Core |
Full |
N/A |
N/A |
|
DOM 3.0 Load and Save |
PartialFoot 1 |
None |
None |
|
DOM 3.0 Validation |
FullFoot 2 |
None |
None |
|
JAXP 1.1 (JSR Standard) |
Full |
N/A |
N/A |
|
JAXP 1.2 (JSR Standard) |
Full |
N/A |
N/A |
|
SAX 1.0 |
Full |
Full |
Full |
|
SAX 2.0 Core |
Full |
Full |
Full |
|
SAX 2.0 Extension |
Full |
Full |
Full |
|
XML 1.0 (Second Edition) |
Full |
Full |
Full |
|
Only in XSLT |
None |
None |
||
Full |
Full |
Full |
||
XML Pipeline Definition Language 1.0 (Note) |
PartialFoot 3 |
None |
None |
|
Full |
FullFoot 4 |
FullFootref 4 |
||
XPath 1.0 |
Full |
Full |
Full |
|
XPath 2.0 Language (working draft dated 04 April 2005) |
Full |
None |
None |
|
XPath 2.0 Data Model (working draft dated 04 April 2005) |
Full |
None |
None |
|
XQuery 1.0 and XPath 2.0 Functions and Operators (working draft dated 04 April 2005) |
Full |
None |
None |
|
XSLT 1.0 |
Full |
Full |
Full |
|
XSLT 2.0 (working draft dated 04 April 2005) |
PartialFoot 5 |
None |
None |
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.
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.
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 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.
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. Seehttp://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.
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
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).
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
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.