The XmlDoc class provides access to a parsed XML document by wrapping a C xmlDocPtr from libxml2
More...
#include <QC_XmlDoc.dox.h>
|
| | constructor (hash data, *hash opts) |
| | creates a new XmlDoc object from the hash value passed
|
| |
| | constructor (string xml) |
| | a new XmlDoc object from the XML string passed
|
| |
| | copy () |
| | Returns a copy of the current object.
|
| |
| list | evalXPath (string xpath) |
| | Evaluates an XPath expression and returns a list of matching XmlNode objects.
|
| |
| *XmlNode | getRootElement () |
| | Returns an XmlNode object representing the root element of the document, if any exists, otherwise returns NOTHING.
|
| |
| string | getVersion () |
| | Returns the XML version of the contained XML document.
|
| |
| hash | toQore (int pflags=XPF_PRESERVE_ORDER) |
| | Returns a hash corresponding to the data contained in the XML document with out-of-order keys preserved by appending a suffix to hash keys.
|
| |
| hash | toQoreData (*int pflags) |
| | Returns a Qore hash corresponding to the data contained in the XML document; out-of-order keys are not preserved but are instead collapsed to the same Qore list.
|
| |
| string | toString () |
| | Returns the XML string for the XmlDoc object.
|
| |
| nothing | validateDtd (string dtd) |
| | Validates the XML document against a DTD; if any errors occur, exceptions are thrown.
|
| |
| nothing | validateRelaxNG (string relaxng) |
| | Validates the XML document against a RelaxNG schema; if any errors occur, exceptions are thrown.
|
| |
| nothing | validateSchema (string xsd) |
| | Validates the XML document against an XSD schema; if any errors occur, exceptions are thrown.
|
| |
The XmlDoc class provides access to a parsed XML document by wrapping a C xmlDocPtr from libxml2
Currently this class provides read-only access to XML documents; it is possible that this restriction will be removed in future versions of the xml module.
◆ constructor() [1/2]
| Qore::Xml::XmlDoc::constructor |
( |
hash |
data, |
|
|
*hash |
opts |
|
) |
| |
creates a new XmlDoc object from the hash value passed
- Parameters
-
| data | the must have only one top-level key, as the XML string that will be used for the XmlDoc object will be created directly from the hash |
| opts | optional formatting and other serialization settings; see XML Generation Options for more information |
- Example:
The XmlDoc class provides access to a parsed XML document by wrapping a C xmlDocPtr from libxml2
Definition QC_XmlDoc.dox.h:8
- Exceptions
-
| XMLDOC-CONSTRUCTOR-ERROR | error parsing XML string |
| MAKE-XML-ERROR | An error occurred serializing the Qore data to an XML string |
| MAKE-XML-OPTS-INVALID | the opts hash passed is not valid; see XML Generation Options for more information |
◆ constructor() [2/2]
| Qore::Xml::XmlDoc::constructor |
( |
string |
xml | ) |
|
a new XmlDoc object from the XML string passed
- Parameters
-
| xml | the XML string to use as a basis for the XmlDoc object |
- Example:
- Exceptions
-
| XMLDOC-CONSTRUCTOR-ERROR | error parsing XML string |
◆ copy()
| Qore::Xml::XmlDoc::copy |
( |
| ) |
|
Returns a copy of the current object.
- Returns
- a copy of the current object
- Example:
copy()
Returns a copy of the current object.
◆ evalXPath()
| list Qore::Xml::XmlDoc::evalXPath |
( |
string |
xpath | ) |
|
Evaluates an XPath expression and returns a list of matching XmlNode objects.
- Code Flags:
- RET_VALUE_ONLY
- Parameters
-
| xpath | the XPath expression to evaluate against the XmlDoc object |
- Returns
- a list of XmlNode object matching the XPath expression passed as an argument
- Exceptions
-
| XPATH-CONSTRUCTOR-ERROR | cannot create XPath context from the XmlDoc object (ex: syntax error in xpath string) |
| XPATH-ERROR | an error occured evaluating the XPath expression |
- Example:
list list = xd.evalXPath("//list[2]");
◆ getRootElement()
| *XmlNode Qore::Xml::XmlDoc::getRootElement |
( |
| ) |
|
Returns an XmlNode object representing the root element of the document, if any exists, otherwise returns NOTHING.
- Returns
- an XmlNode object representing the root element of the document, if any exists, otherwise returns
NOTHING
- Code Flags:
- CONSTANT
- Example:
The XmlNode class provides information about the components of an XML document.
Definition QC_XmlNode.dox.h:8
◆ getVersion()
| string Qore::Xml::XmlDoc::getVersion |
( |
| ) |
|
Returns the XML version of the contained XML document.
- Returns
- the XML version of the contained XML document (normally
"1.0")
- Code Flags:
- CONSTANT
- Example:
string xmlver = xd.getVersion();
◆ toQore()
Returns a hash corresponding to the data contained in the XML document with out-of-order keys preserved by appending a suffix to hash keys.
- Code Flags:
- RET_VALUE_ONLY
- Example:
Returns a hash structure correponding to the XML data contained by the XmlDoc object.
- Parameters
-
- Returns
- a hash corresponding to the data contained in the XML document with out-of-order keys preserved by appending a suffix to hash keys
- Exceptions
-
| PARSE-XML-EXCEPTION | error parsing XML string |
- See also
-
◆ toQoreData()
| hash Qore::Xml::XmlDoc::toQoreData |
( |
*int |
pflags | ) |
|
Returns a Qore hash corresponding to the data contained in the XML document; out-of-order keys are not preserved but are instead collapsed to the same Qore list.
- Code Flags:
- RET_VALUE_ONLY
- Example:
hash h = xd.toQoreData();
- Parameters
-
- Returns
- a Qore hash corresponding to the data contained in the XML document; out-of-order keys are not preserved but are instead collapsed to the same Qore list
- Exceptions
-
| PARSE-XML-EXCEPTION | error parsing XML string |
- See also
-
◆ toString()
| string Qore::Xml::XmlDoc::toString |
( |
| ) |
|
Returns the XML string for the XmlDoc object.
- Returns
- the XML string for the XmlDoc object
- Exceptions
-
| XML-DOC-TOSTRING-ERROR | libxml2 reported an error while attempting to export the XmlDoc object's contents as an XML string |
- Code Flags:
- RET_VALUE_ONLY
- Example:
string xml = xd.toString();
- Exceptions
-
| XML-DOC-TOSTRING-ERROR | an error occurred converting the XmlDoc object to an XML string |
◆ validateDtd()
| nothing Qore::Xml::XmlDoc::validateDtd |
( |
string |
dtd | ) |
|
Validates the XML document against a DTD; if any errors occur, exceptions are thrown.
- Example:
- Parameters
-
| dtd | the DTD to use to validate the XmlDoc object |
- Exceptions
-
| DTD-SYNTAX-ERROR | invalid DTD string |
| DTD-VALIDATION-ERROR | the DTD did not pass validation |
◆ validateRelaxNG()
| nothing Qore::Xml::XmlDoc::validateRelaxNG |
( |
string |
relaxng | ) |
|
Validates the XML document against a RelaxNG schema; if any errors occur, exceptions are thrown.
The availability of this function depends on the presence of libxml2's xmlTextReaderRelaxNGSetSchema() function when this module was compiled; for maximum portability check the constant HAVE_PARSEXMLWITHRELAXNG before running this method.
- Parameters
-
| relaxng | the RelaxNG schema to use to validate the XmlDoc object |
- Exceptions
-
| MISSING-FEATURE-ERROR | this exception is thrown when the function is not available; for maximum portability, check the constant HAVE_PARSEXMLWITHRELAXNG before calling this function |
| RELAXNG-SYNTAX-ERROR | invalid RelaxNG string |
| RELAXNG-INTERNAL-ERROR | libxml2 returned an internal error code while validating the document against the RelaxNG schema |
| RELAXNG-ERROR | The document failed RelaxNG validation |
- Example:
xd.validateRelaxNG(relaxng);
◆ validateSchema()
| nothing Qore::Xml::XmlDoc::validateSchema |
( |
string |
xsd | ) |
|
Validates the XML document against an XSD schema; if any errors occur, exceptions are thrown.
The availability of this function depends on the presence of libxml2's xmlTextReaderSetSchema() function when this module was compiled; for maximum portability check the constant Module Option Constants HAVE_PARSEXMLWITHSCHEMA before running this function
- Parameters
-
| xsd | the XSD schema to use to validate the XmlDoc object |
- Exceptions
-
| MISSING-FEATURE-ERROR | this exception is thrown when the function is not available; for maximum portability, check the constant HAVE_PARSEXMLWITHSCHEMA before calling this function |
| XSD-SYNTAX-ERROR | the XSD schema string could not be parsed |
| XSD-INTERNAL-ERROR | libxml2 returned an internal error code while validating the document against the XSD schema |
| XSD-ERROR | The document failed XSD validation |
- Example:
-
The documentation for this class was generated from the following file: