Oracle® Database SQL Language Reference 11g Release 1 (11.1) Part Number B28286-01 |
|
|
View PDF |
At the time of the release of this documentation, a new edition of SQL/XML, to be known as SQL/XML:2006, is expected but not yet available in final form. This section reflects our best understanding, based on preliminary drafts and accepted change proposals. However, it is not based on the final form of SQL/XML:2006.
The XML datatype in the standard is XML
. The Oracle equivalent datatype is XMLType
. A feature of the standard is considered to be fully supported if the only difference between Oracle and the standard is the spelling of the datatype name.
Table B-8 provides a mapping from XMLSchema built-in types to Oracle SQL datatypes in XQuery.
Table B-8 Mapping from XML Schema Built-in Types to SQL Datatypes in XQuery
XML Schema Type | Oracle SQL Type |
---|---|
string |
|
decimal |
|
float |
|
double |
|
DateTime |
|
time |
|
date |
|
gDay |
|
gMonth |
|
gYear |
|
gYearMonth |
|
gMonthDay |
|
dayTimeDuration |
|
yearMonthDuration |
|
normalizedString |
|
untypedAtomic |
|
integer |
|
nonPositiveInteger |
|
negativeInteger |
|
long |
|
int |
|
short |
|
byte |
|
nonNegativeInteger |
|
unsignedLong |
|
unsignedInt |
|
unsignedShort |
|
unsignedByte |
|
positiveInteger |
|
Table B-9 lists the XML features of the standard that are fully supported by Oracle.
Table B-9 Fully Supported Features of SQL/XML:2005
Feature ID | Feature |
---|---|
X010 |
XML type |
X016 |
Persistent XML values |
X020 |
XML Concatenation |
X031 |
XMLElement |
X032 |
XMLForest |
X034 |
XMLAgg |
X035 |
XMLAgg: |
X036 |
XMLComment |
X036 |
XMLPi |
X041 |
Basic table mapping: null absent |
X042 |
Basic table mapping null as nil |
X043 |
Basic table mapping: table as forest |
X044 |
Basic table mapping: table as element |
X045 |
Basic table mapping: with target namespace |
X046 |
Basic table mapping: data mapping |
X047 |
Basic table mapping: metadata mapping |
X049 |
Basic table mapping: hex encoding |
X060 |
XMLParse: Character string input and |
X061 |
XMLParse: Character string input and |
X070 |
XMLSerialize: Character string serialization and |
X071 |
XMLSerialize: Character string serialization and |
X072 |
XMLSerialize: Character string serialization |
X086 |
XML namespace declarations in XMLTable |
X120 |
XML parameters in SQL routines |
X121 |
XML parameters in external routines |
X201 |
XMLQuery: |
X203 |
XMLQuery: passing a context item |
X204 |
XMLQuery: initializing an XQuery variable |
X251 |
Persistent XML values of |
X252 |
Persistent values of type |
X256 |
Persistent values of |
X302 |
XMLTable with ordinality column |
X303 |
XMLTable: column default option |
X304 |
XMLTable: passing a context item |
X305 |
XMLTable: initializing an XQuery variable |
Note to Table B-9: Features X041 through X047, basic table mappings: Oracle table mappings are available through a Java interface and through a package. Oracle table mappings have been generalized to map queries and not just tables. To map only a table: SELECT * FROM
table_name
.
Table B-10 lists the features of SQL/XML:2005 that are partially supported.
Table B-10 Partially Supported Features of SQL/XML:2005
Feature ID, Feature | Partial Support |
---|---|
X040, Basic table mapping |
Oracle supports the following elements of this feature:
Oracle does not support the following element of this feature:
|
X060, "XMLParse: character string input and |
Oracle does not support the { |
X200, XMLQuery |
Oracle fully supports the following elements of this feature:
Oracle does not support the following elements of this feature:
|
X300, XMLTable |
Oracle does not support reverse axes in the column path expressions. Aside from that restriction, Oracle fully supports the following elements of this feature:
Oracle does not support the following elements of this feature:
|
Table B-11 lists the features of SQL/XML:2005 that are supported through equivalent functionality in Oracle:
Table B-11 Equivalent Functionality for SQL/XML:2005 Features
Feature ID, Feature | Equivalent Functionality |
---|---|
X011, Arrays of XML Types |
In Oracle, array types must be named, whereas in the standard they are anonymous. |
X012, Multisets of XML type |
The Oracle equivalent of a multiset of XML type is a nested table with a single column of XML type. |
X013, Distinct types of XML |
A distinct type can be emulated using an object types with a single attribute. |
X014, Attributes of XML type |
In Oracle, attributes of object types may be of type |
X025, XMLCast |
Oracle provides equivalents for the following elements of this feature:
Since Oracle has only one XML type, there is no need to cast from XML to XML. |
X076, XMLSerialize: VERSION option |
Use XMLRoot to set the XML version prior to serialization. |
X080, Namespaces in XML publishing |
In the Oracle implementation of |
X090, XML document predicate |
In Oracle, you can test whether an XML value is a document by using the |
X096, XMLExists |
Use |
X121, XML parameters in external routines |
Oracle supports XML values passed to external routines using a non-standard interface. |
X141, |
The |
X142, |
The |
X143, |
The |
X144, |
The |
X145, |
The |
X151, |
The |
X156, |
The |
X157, |
The |
X160, Basic Information Schema for registered XML Schemas |
The Oracle static data dictionary view |
X161, Advanced Information Schema for registered XML Schemas |
Oracle does not have static data dictionary views corresponding to |
X191, ( |
Oracle does not support this syntax. However, a column of a table can be constrained by a registered XML Schema, in which case all values of the column will be of |
X221, XML passing mechanism |
Oracle supports only value semantics, but does not support the explicit |
X232, |
Oracle does not support this syntax as a type modifier, but the Oracle |
X241, |
Oracle does not support this syntax. In Oracle, the behavior of the publishing functions ( |
X260, XML type, |
Oracle does not support this syntax. However, a column of a table may be constrained by a top-level element in a registered XML Schema. |
X262, XML type, optional |
Oracle does not support this syntax. However, a column of a table may be constrained by a top-level element in a namespace other than the target namespace of a registered XML Schema. |
X263, XML type: |
Oracle does not support this syntax. However, a column of a table may be constrained by a top-level element in the "no name" namespace of a registered XML Schema. |
X264, XML type: schema location |
Oracle does not support this syntax. However, a column of a table may be constrained by a registered XML Schema that is identified by a schema location. |
X271, XMLValidate: data driven case |
The |
X272, XMLValidate: |
The |
X273, XMLValidate: |
The |
X274, XMLValidate: schema location |
The |
X281, XMLValidate with |
The |
X285, XMLValidate: optional |
The |
X286, XMLValidate: |
The |
Xnnn *, XML Text node constructor |
The Oracle |
* The precise feature ID is not known at the time this document is released for publication.
Table B-12 lists the SQL/XML:2003 features that are not supported by Oracle.
Table B-12 Unsupported SQL/XML:2003 Features
Feature ID | Feature |
---|---|
X015 |
Fields of XML type |
X030 |
XMLDocument |
X048 |
Basic table mapping: base64 encoding |
X050 |
Advanced table mapping |
X051 |
Advanced table mapping: null absent |
X052 |
Advanced table mapping: null as nil |
X053 |
Advanced table mapping: table as forest |
X054 |
Advanced table mapping: table as element |
X055 |
Advanced table mapping: with target namespace |
X056 |
Advanced table mapping: data mapping |
X057 |
Advanced table mapping: metadata mapping |
X058 |
Advanced table mapping: base64 encoding of binary strings |
X059 |
Advanced table mapping: hex encoding of binary strings |
X065 |
XMLParse: |
X066 |
XMLParse: |
X073 |
XMLSerialize: |
X074 |
XMLSerialize: |
X075 |
XMLSerialize: |
X076 |
XMLSerialize: |
X077 |
XMLSerialize: explicit |
X078 |
XMLSerialize: explicit XML declaration |
X081 |
Query-level namespace declarations |
X082 |
XML namespace declarations in DML |
X083 |
XML namespace declarations in DDL |
X084 |
XML namespace declarations in compound statements |
X085 |
Predefined namespace prefixes |
X091 |
XML content predicate |
X100 |
Host language support for XML: |
X101 |
Host language support for XML: |
X110 |
Host language support for XML: |
X111 |
Host language support for XML: |
X131 |
Query-level |
X132 |
|
X133 |
|
X134 |
|
X135 |
|
X152 |
|
X153 |
|
X155 |
|
X170 |
XML null handling options |
X171 |
|
X181 |
|
X182 |
|
X190 |
|
X192 |
|
X202 |
XMLQuery: |
X211 |
XML 1.1 support |
X222 |
XML passing mechanism |
X231 |
|
X242 |
|
X253 |
Persistent XML values of |
X254 |
Persistent XML values of |
X255 |
Persistent values of |
X257 |
Persistent values of |
X261 |
XML type: |
X282 |
XMLValidate: with |
X283 |
XMLVAlidate: with |
X284 |
XMLValidate: |
X290 |
Name and identifier mapping |
X301 |
XMLTable: derived column list option |
Xnnn * |
Host language support for XML: |
Xnnn * |
Host language support for XML: |
Xnnn * |
Host language support for XML: |
* The precise feature ID is not known at the time this document is released for publication.