Oracle9i XML API Reference - XDK and Oracle XML DB Release 2 (9.2) Part Number A96616-01 |
|
This chapter describes the types and functions used for native XML support in the server, namely:
XMLType
is a system-defined opaque type for handling XML data. XMLType
has predefined member functions on it to extract XML nodes and fragments.
You can create columns of XMLType
and insert XML documents into it. You can also generate XML documents as XMLType
instances dynamically using the SYS_XMLGEN
and SYS_XMLAGG SQL
functions.
For example,
CREATE TABLE Xml_tab ( xmlval xmltype); INSERT INTO Xml_tab VALUES ( xmltype('<?xml version="1.0"?> <EMP> <EMPNO>221</EMPNO> <ENAME>John</ENAME> </EMP>')); INSERT INTO Xml_tab VALUES ( xmltype('<?xml version="1.0"?> <PO> <PONO>331</PONO> <PONAME>PO_1</PONAME> </PO>'));
-- now extract the numerical values for the employee numbers
SELECT e.xmlval.extract('//EMPNO/text()').getNumVal() as empno FROM Xml_tab WHERE e.xmlval.existsnode('/EMP/EMPNO') = 1;
XMLType constructor. The options are described in the following table.
Static function for creating and returning an XMLType instance. The string and clob parameters used to pass in the date must contain well-formed and valid XML documents. The options are described in the following table.
Member function. Checks if the node exists. If the XPath string is NULL
or the document is empty, then a value of 0
is returned, otherwise returns 1
. The options are described in the following table.
Parameter | IN / OUT | Description |
---|---|---|
xpath |
(IN) |
The XPath expression to test. |
nsmap |
(IN) |
Optional namespace mapping. |
Member function. Extracts an XMLType fragment and returns an XMLType instance containing the result node(s). If the XPath does not result in any nodes, then returns NULL
. The options are described in the following table.
Parameter | IN / OUT | Description |
---|---|---|
xpath |
(IN) |
The XPath expression to apply. |
nsmap |
(IN) |
Optional prefix to namespace mapping information. |
Determines if the XMLType
instance corresponds to a well-formed document, or a fragment. Returns 1 or 0 indicating if the XMLType
instance contains a fragment or a well-formed document. Returns 1 or 0 indicating if the XMLType instance contains a fragment or a well-formed document.
MEMBER FUNCTION isFragment() RETURN number deterministic
Member function. Returns a CLOB containing the seralized XML representation; if the returns is a temporary CLOB, then it must be freed after use. The options are described in the following table.
MEMBER FUNCTION getClobVal() RETURN clob deterministic
Member function. Returns a numeric value, formatted from the text value pointed to by the XMLType instance. The XMLType must point to a valid text node that contains a numerical value. The options are described in the following table.
MEMBER FUNCTION getNumVal() RETURN number deterministic
Member function. Returns the document as a string. Returns s string containing the seralized XML representation, or in case of text nodes, the text itself. If the XML document is bigger than the maximum size of the varchar2, which is 4000, then an error is raised at run time.
MEMBER FUNCTION getStringVal() RETURN varchar2 deterministic
Member function. This member function transforms the XML data using the XSL stylesheet argument and the top-level parameters passed as a string of name=value pairs. If any of the arguments other than the parammap is NULL, then a NULL is returned.
MEMBER FUNCTION transform(xsl IN XMLType, parammap in varchar2 := NULL) RETURN XMLType deterministic
Parameter | IN / OUT | Description |
---|---|---|
xsl |
(IN) |
The XSL stylesheet describing the transformation |
parammap |
(IN) |
Top level parameters to the XSL - string of name=value pairs |
Member procedure. This member procedure converts the XML data into an instance of a user defined type, using the optional schema and top-level element arguments.
MEMBER PROCEDURE toObject(SELF in XMLType, object OUT "<ADT_1>", schema in varchar2 := NULL, element in varchar2 := NULL)
Member function. Determines whether the XMLType instance is schema-based or not. Returns 1 or 0 depending on whether the XMLType instance is schema-based or not.
MEMBER FUNCTION isSchemaBased return number deterministic
Member function. Returns the XMLSchema URL corresponding to the XMLType instance, if the XMLType instance is a schema-based document. Otherwise returns NULL.
MEMBER FUNCTION getSchemaURL return varchar2 deterministic
Member function. Gets the root element of the XMLType instance. Returns NULL if the instance is a fragment.
MEMBER FUNCTION getRootElement return varchar2 deterministic
Member function. Creates a schema based XMLType instances from a non-schema based XML and a schemaURL.
MEMBER FUNCTION createSchemaBasedXML(schema IN varchar2 := NULL) return sys.XMLType deterministic
Parameter | IN / OUT | Description |
---|---|---|
schema |
(IN) |
the schema URL If this parameter is NULL, then the XMLType instance must contain a schema URL. |
Member function. Creates a non schema based XML document from a schema based instance.
MEMBER FUNCTION createNonSchemaBasedXML return XMLType deterministic
Member function. Returns the namespace of the top level element in the instance. Returns NULL if the input is a fragment or is a non-schema based instance.
MEMBER FUNCTION getNamespace return varchar2 deterministic
Member procedure. Validates the XML instance against its schema if it hasn't already been done so. For non-schema based documents an error is raised. If validation fails an error is raised; else, the document's status is changed to validated.
MEMBER PROCEDURE schemaValidate
Member function. Returns the validation status of the XMLType instance -- tells if a schema based instance has been actually validated against its schema. Returns 1 if the instance has been validated against the schema, 0 otherwise.
MEMBER FUNCTION isSchemaValidated return NUMBER deterministic
Memebr function. Sets the VALIDATION state of the input XML instance.
MEMBER PROCEDURE setSchemaValidated(flag IN BINARY_INTEGER := 1)
Parameter | IN / OUT | Description |
---|---|---|
flag |
(IN) |
0 - NOT VALIDATED; 1 - VALIDATED; The default value for this parameter is 1. |
Memebr function. Checks if the input instance is conformant to a specified schema. Does not change the validation status of the XML instance. If a XML Schema URL is not specified and the xml document is schema based, the conformance is checked against the XMLType instance's own schema.
member function isSchemaValid(schurl IN VARCHAR2 := NULL, elem IN VARCHAR2 := NULL) return NUMBER deterministic
|
Copyright © 2001, 2002 Oracle Corporation. All Rights Reserved. |
|