CREATE OR REPLACE PACKAGE xpath AS -- Return the value of an XPath expression, optionally normalizing whitespace FUNCTION valueOf(doc xmldom.DOMDocument, xpath VARCHAR2, normalize BOOLEAN:=FALSE) RETURN VARCHAR2; FUNCTION valueOf(node xmldom.DOMNode, xpath VARCHAR2, normalize BOOLEAN:=FALSE) RETURN VARCHAR2; FUNCTION valueOf(doc VARCHAR2, xpath VARCHAR2, normalize BOOLEAN := FALSE) RETURN VARCHAR2; FUNCTION valueOf(doc CLOB, xpath VARCHAR2, normalize BOOLEAN := FALSE) RETURN VARCHAR2; -- Test whether an XPath predicate is true FUNCTION test(doc xmldom.DOMDocument,xpath VARCHAR2) RETURN BOOLEAN; FUNCTION test(node xmldom.DOMNode, xpath VARCHAR2) RETURN BOOLEAN; FUNCTION test(doc VARCHAR2, xpath VARCHAR2) RETURN BOOLEAN; FUNCTION test(doc CLOB, xpath VARCHAR2) RETURN BOOLEAN; -- Extract an XML Fragment for set of nodes matching an XPath pattern -- optionally normalizing whitespace (default is to normalize it) FUNCTION extract(doc xmldom.DOMDocument, xpath VARCHAR2:='/', normalize BOOLEAN:=TRUE) RETURN VARCHAR2; FUNCTION extract(doc VARCHAR2, xpath VARCHAR2 := '/', normalize BOOLEAN := TRUE) RETURN VARCHAR2; FUNCTION extract(doc CLOB, xpath VARCHAR2 := '/', normalize BOOLEAN := TRUE) RETURN VARCHAR2; -- Select a List of Nodes Matching an XPath pattern -- Note: DOMNodeList returned has a zero-based index FUNCTION selectNodes(doc xmldom.DOMDocument, xpath VARCHAR2) RETURN xmldom.DOMNodeList; FUNCTION selectNodes(node xmldom.DOMNode, xpath VARCHAR2) RETURN xmldom.DOMNodeList; FUNCTION selectNodes(doc VARCHAR2, xpath VARCHAR2) RETURN xmldom.DOMNodeList; FUNCTION selectNodes(doc CLOB, xpath VARCHAR2) RETURN xmldom.DOMNodeList; END; |