Name
xml_persistent — returns an entity object ('XPER entity') created from given XML document
Synopsis
xml_persistent ( |
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 object with
underlying disk structure, named "persistent XML" or "XPER" While
the result of xml_tree()
is a
memory-resident array of vectors, the XPER object consumes only a
little amount of memory, and almost all data is disk-resident.
This function is equivalent to xper_doc()
, and the only difference is in
the order of arguments; xper_doc() has the same order of arguments
as xml_tree()
.
Parameters
document
well formed XML or HTML documen
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)
dtd_validator_config
configuration string for the DTD validator, default is empty string meaning that DTD validator should be fully disabled. See Configuration Options of the DTD Validator for details.
Return Types
Parse tree as a structure of nested heterogeneous vectors.
Examples
Example24.516.XML_Persistent
declare tree any; tree := xml_persistent (file_to_string ('doc.html'), 1, 'http://localhost.localdomain/', 'ISO'); ... tree := xml_persistent (file_to_string ('doc.xml'));