Low-level class for creating parsers for [url=https://en.wikipedia.org/wiki/XML]XML[/url] files.
</brief_description>
<description>
This class can serve as base to make custom XML parsers. Since XML is a very flexible standard, this interface is low-level so it can be applied to any possible schema.
Gets the value of a certain attribute of the current element by name. This will return an empty [String] if the attribute is not found.
</description>
</method>
<methodname="get_node_data"qualifiers="const">
<returntype="String"/>
<description>
Gets the contents of a text node. This will raise an error in any other type of node.
</description>
</method>
<methodname="get_node_name"qualifiers="const">
<returntype="String"/>
<description>
Gets the name of the current element node. This will raise an error if the current node type is neither [constant NODE_ELEMENT] nor [constant NODE_ELEMENT_END].
</description>
</method>
<methodname="get_node_offset"qualifiers="const">
<returntype="int"/>
<description>
Gets the byte offset of the current node since the beginning of the file or buffer.
</description>
</method>
<methodname="get_node_type">
<returntype="int"enum="XMLParser.NodeType"/>
<description>
Gets the type of the current node. Compare with [enum NodeType] constants.
</description>
</method>
<methodname="has_attribute"qualifiers="const">
<returntype="bool"/>
<argumentindex="0"name="name"type="String"/>
<description>
Check whether the current element has a certain attribute.
</description>
</method>
<methodname="is_empty"qualifiers="const">
<returntype="bool"/>
<description>
Check whether the current element is empty (this only works for completely empty tags, e.g. [code]<element \>[/code]).
</description>
</method>
<methodname="open">
<returntype="int"enum="Error"/>
<argumentindex="0"name="file"type="String"/>
<description>
Opens an XML file for parsing. This returns an error code.