The XML data type and operators are defined only in the SQL layer.
There is no JDBC-side support for XML data types. It is not possible to
bind directly into an XML value or to retrieve an XML value directly from
a result set. Instead, you must bind and retrieve the XML data as Java strings
or character streams by explicitly specifying the appropriate XML operator
as part of the SQL statements:
- Use the XMLPARSE operator for binding data into XML values.
- Use the XMLSERIALIZE operator to retrieve XML values from a result set.
Additionally, there is no JDBC metadata support for the XML data type.
The XML data type is not allowed in any of the clauses or operations that
are described in the section on expressions on LONG data types in
.
For the XML operators to work properly, requires
that a JAXP parser, such as Apache Xerces, and Apache Xalan are included in
the Java classpath. If either the parser or Xalan are missing from the classpath, disallows any XML-related
operations.
Classpath and version issues
Most Java Virtual Machines (JVMs) that are version 1.4 or later have
a JAXP parser embedded in the JVM. If you are using one of these JVMs, you
may not need to add any classes to your classpath. Some exceptions exist:
- In most version 1.4.2 JVMs, the version of Xalan that comes with the JVM is
not new enough, so you must override the version of Xalan in the JVM with a
newer version by using the Endorsed Standards Override Mechanism described at
http://java.sun.com/j2se/1.4.2/docs/guide/standards/. To
use this mechanism, download and install a binary distribution of Xalan from
Apache and set the system property java.endorsed.dirs to point
to the Xalan installation directory.
- After JVM version 1.4, Sun renamed the JAXP packages.
cannot find these
renamed packages. If you are using a Sun JVM later than version 1.4, download
and install a binary
distribution of Xalan from Apache and place the xalan.jar file
in your classpath. The xalan.jar file automatically puts into
the classpath the other required jars that are in the same directory.