xtree_doc
returns an entity object created from an XML document
xtree_doc
(in document varchar,
[in parser_mode integer],
[in base_uri varchar],
[in content_encoding varchar],
[in content_language varchar],
[in dtd_validator_config varchar]);
Description
This parses the argument, which is expected to be a well formed XML
fragment and returns a parse tree as a special memory-resident object.
While xper_doc
creates some disk-resident data structure, xtree_doc() will work
faster but it may require more memory.
You may wish to use xtree_doc for small documents (e.g. less than
5 megabytes and xper_doc for larger documents.
Parameters
document –
well formed XML or HTML document
parser_mode –
0, 1 or 2; 0 - XML parser mode, 1 - HTML parser mode, 2 - 'dirty HTML'
mode (with quiet recovery after any syntax error)
base_uri –
in HTML parser mode change all absolute references to relative from given
base_uri (http://<host>:<port>/<path>)
content_encoding –
string with content encoding type of <document>; valid are 'ASCII', 'ISO',
'UTF8', 'ISO8859-1', 'LATIN-1' etc., defaults are 'UTF-8' for XML mode and 'LATIN-1' for
HTML mode.
content_language –
string with language tag of content of <document>; valid names are listed in
IETF RFC 1766, default is 'x-any' (it means 'mix of words from various human languages')
Return Types
XML entity with underlaying parse tree
of source document; the tree will be a memory-resident structure of nested heterogeneous
vectors.
Examples
xtree_doc
declare tree any;
tree := xtree_doc (file_to_string ('doc.html'), 1,
'http://localhost.localdomain/', 'ISO');
...
tree := xtree_doc (file_to_string ('doc.xml'));