Skip Headers

Oracle9i Supplied PL/SQL Packages and Types Reference
Release 2 (9.2)

Part Number A96612-01
Go To Documentation Library
Home
Go To Product List
Book List
Go To Table Of Contents
Contents
Go To Index
Index

Master Index

Feedback

Go to previous page Go to beginning of chapter Go to next page

DBMS_XMLQUERY, 4 of 4


Functions and Procedures of DBMS_XMLQuery

Table 87-3: Summary of Functions and Procedures of DBMS_XMLQuery  
Functions/Procedures Description

newContext()

Creates a query context and it returns the context handle.

closeContext()

Closes/deallocates a particular query context.

setRowsetTag()

Sets the tag to be used to enclose the XML dataset.

setRowTag()

Sets the tag to be used to enclose the XML element corresponding to a db.

setErrorTag()

Sets the tag to be used to enclose the XML error docs.

setRowIdAttrName()

Sets the name of the id attribute of the row enclosing tag.

setRowIdAttrValue()

Specifies the scalar column whose value is to be assigned to the id attribute of the row enclosing tag.

setCollIdAttrName()

Sets the name of the id attribute of the collection element's separator tag.

useNullAttributeIndicator()

Specifies weather to use an XML attribute to indicate NULLness.

useTypeForCollElemTag()

Tells the XSU to use the collection element's type name as the collection element tag name.

setTagCase()

Specified the case of the generated XML tags.

setDateFormat()

Sets the format of the generated dates in the XML doc.

setMaxRows()

Sets the max number of rows to be converted to XML.

setSkipRows()

Sets the number of rows to skip.

setStylesheetHeader()

Sets the stylesheet header.

setXSLT()

Registers a stylesheet to be applied to generated XML.

setXSLTParam()

Sets the value of a top-level stylesheet parameter.

removeXSLTParam()

Removes a particular top-level stylesheet parameter.

setBindValue()

Sets a value for a particular bind name.

setMetaHeader()

Sets the XML meta header.

setDataHeader()

Sets the XML data header.

setEncodingTag()

Sets the encoding processing instruction in the XML document.

setRaiseException()

Tells the XSU to throw the raised exceptions.

setRaiseNoRowsException()

Tells the XSU to throw or not to throw an OracleXMLNoRowsException in the case when for one reason or another, the XML doc generated is empty.

setSQLToXMLNameEscaping()

This turns on or off escaping of XML tags in the case that the SQL object name, which is mapped to a XML identifier, is not a valid XML identifier.

propagateOriginalException()

Tells the XSU that if an exception is raised, and is being thrown, the XSU should throw the very exception raised; rather then, wrapping it with an OracleXMLSQLException.

getExceptionContent()

Via its arguments, this method returns the thrown exception's error code and error message.

getDTD()

Generates the DTD.

getNumRowsProcessed()

Return the number of rows processed for the query.

getVersion()

Prints the version of the XSU in use.

getXML()

Generates the XML document.

newContext()

Creates a query context and it returns the context handle. The options are described in the following table.

Syntax Description

FUNCTION newContext( sqlQuery IN VARCHAR2)

RETURN ctxType

Creates a query context from a string.

FUNCTION newContext( sqlQuery IN CLOB)

RETURN ctxType

Creates a query context from a CLOB.

Parameter IN / OUT Description

sqlQuery

(IN)

SQL query, the results of which to convert to XML.

closeContext()

Closes/deallocates a particular query context

Syntax

PROCEDURE closeContext( ctxHdl IN ctxType);

Parameter IN / OUT Description

ctxHdl

(IN)

Context handle.

setRowsetTag()

Sets the tag to be used to enclose the XML dataset.

Syntax

PROCEDURE setRowsetTag(ctxHdl IN ctxType, tag IN VARCHAR2)

Parameter IN / OUT Description

ctxHdl

(IN)

Context handle.

tag

(IN)

Tag name.

setRowTag()

Sets the tag to be used to enclose the XML element corresponding to a db. record.

Syntax

PROCEDURE setRowTag(ctxHdl IN ctxType, tag IN VARCHAR2)

Parameter IN / OUT Description

ctxHdl

(IN)

Context handle.

tag

(IN)

Tag name.

setErrorTag()

Sets the tag to be used to enclose the XML error docs.

Syntax

PROCEDURE setErrorTag( ctxHdl IN ctxType,
                       tag IN VARCHAR2);

Parameter IN / OUT Description

ctxHdl

(IN)

Context handle.

tag

(IN)

Tag name.

setRowIdAttrName()

Sets the name of the id attribute of the row enclosing tag. Passing null or an empty string for the tag results the row id attribute to be omitted.

Syntax

PROCEDURE setRowIdAttrName( ctxHdl IN ctxType,
                            attrName IN VARCHAR2);

Parameter IN / OUT Description

ctxHdl

(IN)

Context handle.

tag

(IN)

Tag name.

setRowIdAttrValue()

Specifies the scalar column whose value is to be assigned to the id attribute of the row enclosing tag. Passing null or an empty string for the colName results the row id attribute being assigned the row count value (that is, 0, 1, 2 and so on).

Syntax

PROCEDURE setRowIdAttrValue( ctxHdl IN ctxType,
                             colName IN VARCHAR2);

Parameter IN / OUT Description

ctxHdl

(IN)

Context handle.

colName

(IN)

Column whose value is to be assigned to the row id attribute.

setCollIdAttrName()

Sets the name of the id attribute of the collection element's separator tag.

Syntax

PROCEDURE setCollIdAttrName( ctxHdl IN ctxType,
                             attrName IN VARCHAR2);

Parameter IN / OUT Description

ctxHdl

(IN)

Context handle.

attrName

(IN)

AttributeName.

useNullAttributeIndicator()

Specified weather to use an XML attribute to indicate NULLness, or to do it by omitting the inclusion of the particular entity in the XML document.

Syntax

PROCEDURE useNullAttributeIndicator( ctxHdl IN ctxType,
                                     flag IN BOOLEAN);

Parameter IN / OUT Description

ctxHdl

(IN)

Context handle.

flag

(IN)

Use attribute to indicate NULL?

useTypeForCollElemTag()

By default the tag name for elements of a collection is the collection's tag name followed by "_item". This method, when called with argument of TRUE, tells the XSU to use the collection element's type name as the collection element tag name.

Syntax

PROCEDURE useTypeForCollElemTag( ctxHdl IN ctxType,
                                 flag IN BOOLEAN := true);

Parameter IN / OUT Description

ctxHdl

(IN)

Context handle.

colName

(IN)

Turn on use of the type name?.

setTagCase()

Specified the case of the generated XML tags.

Syntax

PROCEDURE setTagCase( ctxHdl IN ctxType,
                      tCase IN NUMBER);

Parameter IN / OUT Description

ctxHdl

(IN)

Context handle.

tCase

(IN)

The tag's case; 0=asAre, 1=lower, 2=upper.

setDateFormat()

Sets the format of the generated dates in the XML doc. The syntax of the date format pattern (that is, the date mask), should conform to the requirements of the java.text.SimpleDateFormat class. Setting the mask to null or an empty string, results the use of the default mask -- DEFAULT_DATE_FORMAT.

Syntax

PROCEDURE setDateFormat( ctxHdl IN ctxType,
                         mask IN VARCHAR2);

Parameter IN / OUT Description

ctxHdl

(IN)

Context handle.

mask

(IN)

The date mask.

setMaxRows()

Sets the max number of rows to be converted to XML. By default there is no max set.

Syntax

PROCEDURE setMaxRows ( ctxHdl IN ctxType,
                       rows IN NUMBER);

Parameter IN / OUT Description

ctxHdl

(IN)

Context handle.

rows

(IN)

Maximum number of rows to generate.

setSkipRows()

Sets the number of rows to skip. By default 0 rows are skipped.

Syntax

PROCEDURE setSkipRows( ctxHdl IN ctxType,
                       rows IN NUMBER);

Parameter IN / OUT Description

ctxHdl

(IN)

Context handle.

rows

(IN)

Maximum number of rows to skip.

setStylesheetHeader()

Sets the stylesheet header (that is, stylesheet processing instructions) in the generated XML doc. Note: Passing null for the uri argument will unset the stylesheet header and the stylesheet type.

Syntax

PROCEDURE setStylesheetHeader( ctxHdl IN ctxType,
                               uri IN VARCHAR2,
                               type IN VARCHAR2 := 'text/xsl');

Parameter IN / OUT Description

ctxHdl

(IN)

Context handle.

uri

(IN)

Stylesheet URI.

type

(IN)

Stylesheet type; defaults to "text/xsl".

setXSLT()

Registers a stylesheet to be applied to generated XML. If a stylesheet was already registered, it gets replaced by the new one. The options are described in the following table.

Syntax Description

PROCEDURE setXSLT(

ctxHdl IN ctxType,

uri IN VARCHAR2,

ref IN VARCHAR2 := null);

To un-register the stylesheet pass in a null for the uri.

PROCEDURE setXSLT(

ctxHdl IN ctxType,

stylesheet CLOB,

ref IN VARCHAR2 := null);

To un-register the stylesheet pass in a null or an empty string for the stylesheet.

Parameter IN / OUT Description

ctxHdl

(IN)

Context handle.

uri

(IN)

Stylesheet URI.

stylesheet

(IN)

Stylesheet.

ref

(IN)

URL to include, import and external entities.

setXSLTParam()

Sets the value of a top-level stylesheet parameter. The parameter value is expected to be a valid XPath expression (note that string literal values would therefore have to be explicitly quoted). NOTE: if no stylesheet is registered, this method is a no op.

Syntax

PROCEDURE setXSLTParam( ctxHdl IN ctxType,
                        name IN VARCHAR2,
                        value IN VARCHAR2);

Parameter IN / OUT Description

ctxHdl

(IN)

Context handle.

name

(IN)

Name of the top level stylesheet parameter.

value

(IN)

Value to be assigned to the stylesheet parameter.

removeXSLTParam()

Removes the value of a top-level stylesheet parameter. NOTE: if no stylesheet is registered, this method is a no op.

Syntax

PROCEDURE removeXSLTParam( ctxHdl IN ctxType,
                           name IN VARCHAR2);

Parameter IN / OUT Description

ctxHdl

(IN)

Context handle.

name

(IN)

Name of the top level stylesheet parameter.

setBindValue()

Sets a value for a particular bind name.

Syntax

PROCEDURE setBindValue( ctxHdl IN ctxType,
                        bindName IN VARCHAR2,
                        bindValue IN VARCHAR2);

Parameter IN / OUT Description

ctxHdl

(IN)

Context handle.

bindName

(IN)

Bind name.

bindValue

(IN)

Bind value.

setMetaHeader()

Sets the XML meta header. When set, the header is inserted at the beginning of the metadata part (DTD or XMLSchema) of each XML document generated by this object. Note that the last meta header specified is the one that is used; furthermore, passing in null for the header, parameter unsets the meta header.

Syntax

PROCEDURE setMetaHeader( ctxHdl IN ctxType, 
                         header IN CLOB := null);

Parameter IN / OUT Description

ctxHdl

(IN)

Context handle.

Header

(IN)

Header.

setDataHeader()

Sets the XML data header. The data header is an XML entity which is appended at the beginning of the query-generated XML entity (i.e. rowset). The two entities are enclosed by the tag specified via the docTag argument. Note that the last data header specified is the one that is used; furthermore, passing in null for the header, parameter unsets the data header.

Syntax

PROCEDURE setDataHeader( ctxHdl IN ctxType,
                   header IN CLOB := null,
                   tag IN VARCHAR2 := null);

Parameter IN / OUT Description

ctxHdl

(IN)

Context handle.

header

(IN)

Header.

tag

(IN)

Tag used to enclose the data header and the rowset.

setEncodingTag()

Sets the encoding processing instruction in the XML document.

Syntax

PROCEDURE setEncodingTag( ctxHdl IN ctxType,
                          enc IN VARCHAR2 := DB_ENCODING);

Parameter IN / OUT Description

ctxHdl

(IN)

Context handle.

enc

(IN)

The encoding to use.

setRaiseException()

Tells the XSU to throw the raised exceptions. If this call isn't made or if false is passed to the flag argument, the XSU catches the SQL exceptions and generates an XML doc out of the exception's message.

Syntax

PROCEDURE setRaiseException( ctxHdl IN ctxType,
                             flag IN BOOLEAN);

Parameter IN / OUT Description

ctxHdl

(IN)

Context handle.

flag

(IN)

Throw raised exceptions? TRUE for yes, otherwise FALSE.

setRaiseNoRowsException()

Tells the XSU whether to throw an OracleXMLNoRowsException in the case when for one reason or another, the XML doc generated is empty. By default, the exception is not thrown.

Syntax

PROCEDURE setRaiseNoRowsException( ctxHdl IN ctxType,
                                   flag IN BOOLEAN);

Parameter IN / OUT Description

ctxHdl

(IN)

Context handle.

flag

(IN)

Throw OracleXMLNoRowsException if no data? TRUE for yes, otherwise FALSE.

setSQLToXMLNameEscaping()

This turns on or off escaping of XML tags in the case that the SQL object name, which is mapped to a XML identifier, is not a valid XML identifier.

Syntax

PROCEDURE setSQLToXMLNameEscaping( ctxHdl IN ctxType,
                                   flag IN BOOLEAN := true);

Parameter IN / OUT Description

ctxHdl

(IN)

Context handle.

flag

(IN)

Turn on escaping? TRUE for yes, otherwise FALSE.

propagateOriginalException()

Tells the XSU that if an exception is raised, and is being thrown, the XSU should throw the very exception raised; rather then, wrapping it with an OracleXMLSQLException.

Syntax

PROCEDURE propagateOriginalException( c txHdl IN ctxType,
                                      flag IN BOOLEAN);

Parameter IN / OUT Description

ctxHdl

(IN)

Context handle.

flag

(IN)

Propagate original exception? TRUE for yes, otherwise FALSE.

getExceptionContent()

Via its arguments, this method returns the thrown exception's error code and error message (that is, SQL error code). This is to get around the fact that the JVM throws an exception on top of whatever exception was raised; thus, rendering PL/SQL unable to access the original exception.

Syntax

PROCEDURE getExceptionContent( ctxHdl IN ctxType,
                               errNo OUT NUMBER,
                               errMsg OUT VARCHAR2);

Parameter IN / OUT Description

ctxHdl

(IN)

Context handle.

errNo

(IN)

Error number.

errMsg

(IN

Error message.

getDTD()

Generates and returns the DTD based on the SQL query used to initialize the context. The options are described in the following table.

Syntax Description

FUNCTION getDTD(

ctxHdl IN ctxType,

withVer IN BOOLEAN := false)

RETURN CLOB;

Function that generates the DTD based on the SQL query used to initialize the context.

PROCEDURE getDTD(

ctx IN ctxType,

xDoc IN CLOB,

withVer IN BOOLEAN := false);

Procedure that generates the DTD based on the SQL query used to initialize the context and xDOC in CLOB.

Parameter IN / OUT Description

ctxHdl

(IN)

Context handle.

withVer

(IN)

Generate the version info? TRUE for yes, otherwise FALSE.

xDoc

(IN)

Clob into which to write the generated XML doc.

getNumRowsProcessed()

Return the number of rows processed for the query.

Syntax

FUNCTION getNumRowsProcessed( ctx IN ctxType) RETURN NUMBER;

Parameter IN / OUT Description

ctxHdl

(IN)

Context handle.

getVersion()

Prints the version of the XSU in use.

Syntax

PROCEDURE getVersion();

getXML()

Creates the new context, executes the query, gets the XML back and closes the context. This is a convenience function. The context doesn't have to be explicitly opened or closed. The options are described in the following table.

Syntax Description

FUNCTION getXML(

sqlQuery IN VARCHAR2,

metaType IN NUMBER := NONE)

RETURN CLOB;

This function uses the sqlQuery in string form.

FUNCTION getXML(

sqlQuery IN CLOB,

metaType IN NUMBER := NONE)

RETURN CLOB;

This function uses the sqlQuery in clob form.

FUNCTION getXML(

ctxHdl IN ctxType,

metaType IN NUMBER := NONE);

RETURN CLOB

This function generates the XML doc. based on the SQL query used to initialize the context.

PROCEDURE getXML(

ctxHdl IN ctxType,

xDoc IN CLOB,

metaType IN NUMBER := NONE);

This procedure generates the XML doc. based on the SQL query used to initialize the context.

Parameter IN / OUT Description

ctxHdl

(IN)

Context handle.

sqlQuery

(IN)

SQLQuery.

metaType

(IN)

XML metadata type (NONE, DTD, or SCHEMA).

sDoc

(IN)

Clob into which to write the generated XML doc.


Go to previous page Go to beginning of chapter Go to next page
Oracle
Copyright © 2000, 2002 Oracle Corporation.

All Rights Reserved.
Go To Documentation Library
Home
Go To Product List
Book List
Go To Table Of Contents
Contents
Go To Index
Index

Master Index

Feedback