<class name="QXmlReader" doc="/**
&lt;p&gt;The &lt;a href=&quot;QXmlReader.html#QXmlReader()&quot;&gt;&lt;tt&gt;QXmlReader&lt;/tt&gt;&lt;/a&gt; class provides an interface for XML readers (i.e&amp;#x2e; parsers).&lt;/p&gt;
&lt;p&gt;This abstract class provides an interface for all of Qt's XML readers. Currently there is only one implementation of a reader included in Qt's XML module: &lt;a href=&quot;QXmlSimpleReader.html&quot;&gt;&lt;tt&gt;QXmlSimpleReader&lt;/tt&gt;&lt;/a&gt;. In future releases there might be more readers with different properties available (e.g&amp;#x2e; a validating parser).&lt;/p&gt;
&lt;p&gt;The design of the XML classes follows the &lt;a href=&quot;http://www.saxproject.org/&quot;&gt;SAX2 Java interface&lt;/tt&gt;&lt;/a&gt;, with the names adapted to fit Qt naming conventions. It should be very easy for anybody who has worked with SAX2 to get started with the Qt XML classes.&lt;/p&gt;
&lt;p&gt;All readers use the class &lt;a href=&quot;QXmlInputSource.html&quot;&gt;&lt;tt&gt;QXmlInputSource&lt;/tt&gt;&lt;/a&gt; to read the input document. Since you are normally interested in particular content in the XML document, the reader reports the content through special handler classes (&lt;a href=&quot;QXmlDTDHandler.html&quot;&gt;&lt;tt&gt;QXmlDTDHandler&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;QXmlDeclHandler.html&quot;&gt;&lt;tt&gt;QXmlDeclHandler&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;QXmlContentHandler.html&quot;&gt;&lt;tt&gt;QXmlContentHandler&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;QXmlEntityResolver.html&quot;&gt;&lt;tt&gt;QXmlEntityResolver&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;QXmlErrorHandler.html&quot;&gt;&lt;tt&gt;QXmlErrorHandler&lt;/tt&gt;&lt;/a&gt; and &lt;a href=&quot;QXmlLexicalHandler.html&quot;&gt;&lt;tt&gt;QXmlLexicalHandler&lt;/tt&gt;&lt;/a&gt;), which you must subclass, if you want to process the contents.&lt;/p&gt;
&lt;p&gt;Since the handler classes only describe interfaces you must implement all the functions. We provide the &lt;a href=&quot;QXmlDefaultHandler.html&quot;&gt;&lt;tt&gt;QXmlDefaultHandler&lt;/tt&gt;&lt;/a&gt; class to make this easier: it implements a default behavior (do nothing) for all functions, so you can subclass it and just implement the functions you are interested in.&lt;/p&gt;
&lt;p&gt;Features and properties of the reader can be set with &lt;a href=&quot;QXmlReader.html#setFeature(java.lang.String, boolean)&quot;&gt;&lt;tt&gt;setFeature&lt;/tt&gt;&lt;/a&gt; and setProperty() respectively. You can set the reader to use your own subclasses with &lt;a href=&quot;QXmlReader.html#setEntityResolver(com.trolltech.qt.xml.QXmlEntityResolverInterface)&quot;&gt;&lt;tt&gt;setEntityResolver&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;QXmlReader.html#setDTDHandler(com.trolltech.qt.xml.QXmlDTDHandlerInterface)&quot;&gt;&lt;tt&gt;setDTDHandler&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;QXmlReader.html#setContentHandler(com.trolltech.qt.xml.QXmlContentHandlerInterface)&quot;&gt;&lt;tt&gt;setContentHandler&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;QXmlReader.html#setErrorHandler(com.trolltech.qt.xml.QXmlErrorHandlerInterface)&quot;&gt;&lt;tt&gt;setErrorHandler&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;QXmlReader.html#setLexicalHandler(com.trolltech.qt.xml.QXmlLexicalHandlerInterface)&quot;&gt;&lt;tt&gt;setLexicalHandler&lt;/tt&gt;&lt;/a&gt; and &lt;a href=&quot;QXmlReader.html#setDeclHandler(com.trolltech.qt.xml.QXmlDeclHandlerInterface)&quot;&gt;&lt;tt&gt;setDeclHandler&lt;/tt&gt;&lt;/a&gt;. The parse itself is started with a call to &lt;a href=&quot;QXmlReader.html#parse(com.trolltech.qt.xml.QXmlInputSource)&quot;&gt;&lt;tt&gt;parse&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;

@see &lt;a href=&quot;QXmlSimpleReader.html&quot;&gt;&lt;tt&gt;QXmlSimpleReader&lt;/tt&gt;&lt;/a&gt; */">
    <method name="public QXmlReader()"/>
    <method name="public abstract com.trolltech.qt.xml.QXmlDTDHandlerInterface DTDHandler()" doc="/**
&lt;p&gt;Returns the DTD handler or 0 if none was set.&lt;/p&gt;

@see &lt;a href=&quot;QXmlReader.html#setDTDHandler(com.trolltech.qt.xml.QXmlDTDHandlerInterface)&quot;&gt;&lt;tt&gt;setDTDHandler&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public abstract com.trolltech.qt.xml.QXmlContentHandlerInterface contentHandler()" doc="/**
&lt;p&gt;Returns the content handler or 0 if none was set.&lt;/p&gt;

@see &lt;a href=&quot;QXmlReader.html#setContentHandler(com.trolltech.qt.xml.QXmlContentHandlerInterface)&quot;&gt;&lt;tt&gt;setContentHandler&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public abstract com.trolltech.qt.xml.QXmlDeclHandlerInterface declHandler()" doc="/**
&lt;p&gt;Returns the declaration handler or 0 if none was set.&lt;/p&gt;

@see &lt;a href=&quot;QXmlReader.html#setDeclHandler(com.trolltech.qt.xml.QXmlDeclHandlerInterface)&quot;&gt;&lt;tt&gt;setDeclHandler&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public abstract com.trolltech.qt.xml.QXmlEntityResolverInterface entityResolver()" doc="/**
&lt;p&gt;Returns the entity resolver or 0 if none was set.&lt;/p&gt;

@see &lt;a href=&quot;QXmlReader.html#setEntityResolver(com.trolltech.qt.xml.QXmlEntityResolverInterface)&quot;&gt;&lt;tt&gt;setEntityResolver&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public abstract com.trolltech.qt.xml.QXmlErrorHandlerInterface errorHandler()" doc="/**
&lt;p&gt;Returns the error handler or 0 if none is set.&lt;/p&gt;

@see &lt;a href=&quot;QXmlReader.html#setErrorHandler(com.trolltech.qt.xml.QXmlErrorHandlerInterface)&quot;&gt;&lt;tt&gt;setErrorHandler&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public abstract boolean feature(java.lang.String name)" doc="/**
&lt;p&gt;Equivalent to &lt;a href=&quot;QXmlReader.html#feature(java.lang.String)&quot;&gt;feature&lt;/tt&gt;&lt;/a&gt;(&lt;tt&gt;name&lt;/tt&gt;, 0).
@see &lt;a href=&quot;QXmlReader.html#setFeature(java.lang.String, boolean)&quot;&gt;&lt;tt&gt;setFeature&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final boolean feature(java.lang.String name)" doc="/**
&lt;p&gt;Equivalent to &lt;a href=&quot;QXmlReader.html#feature(java.lang.String)&quot;&gt;feature&lt;/tt&gt;&lt;/a&gt;(&lt;tt&gt;name&lt;/tt&gt;, 0). */"/>
    <method name="public abstract boolean hasFeature(java.lang.String name)" doc="/**
&lt;p&gt;Returns &lt;tt&gt;true&lt;/tt&gt; if the reader has the feature called &lt;tt&gt;name&lt;/tt&gt;; otherwise returns false.&lt;/p&gt;

@see &lt;a href=&quot;QXmlReader.html#feature(java.lang.String)&quot;&gt;&lt;tt&gt;feature&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QXmlReader.html#setFeature(java.lang.String, boolean)&quot;&gt;&lt;tt&gt;setFeature&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public abstract boolean hasProperty(java.lang.String name)" doc="/**
&lt;p&gt;Returns true if the reader has the property &lt;tt&gt;name&lt;/tt&gt;; otherwise returns false.&lt;/p&gt;

@see &lt;tt&gt;property&lt;/tt&gt;
@see &lt;tt&gt;setProperty&lt;/tt&gt; */"/>
    <method name="public abstract com.trolltech.qt.xml.QXmlLexicalHandlerInterface lexicalHandler()" doc="/**
&lt;p&gt;Returns the lexical handler or 0 if none was set.&lt;/p&gt;

@see &lt;a href=&quot;QXmlReader.html#setLexicalHandler(com.trolltech.qt.xml.QXmlLexicalHandlerInterface)&quot;&gt;&lt;tt&gt;setLexicalHandler&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public abstract boolean parse(com.trolltech.qt.xml.QXmlInputSource input)" doc="/**
&lt;p&gt;Reads an XML document from &lt;tt&gt;input&lt;/tt&gt; and parses it. Returns true if the parsing was successful; otherwise returns false.&lt;/p&gt;
 */"/>
    <method name="public abstract void setContentHandler(com.trolltech.qt.xml.QXmlContentHandlerInterface handler)" doc="/**
&lt;p&gt;Sets the content handler to &lt;tt&gt;handler&lt;/tt&gt;.&lt;/p&gt;

@see &lt;a href=&quot;QXmlReader.html#contentHandler()&quot;&gt;&lt;tt&gt;contentHandler&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public abstract void setDTDHandler(com.trolltech.qt.xml.QXmlDTDHandlerInterface handler)" doc="/**
&lt;p&gt;Sets the DTD handler to &lt;tt&gt;handler&lt;/tt&gt;.&lt;/p&gt;

@see &lt;a href=&quot;QXmlReader.html#DTDHandler()&quot;&gt;&lt;tt&gt;DTDHandler&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public abstract void setDeclHandler(com.trolltech.qt.xml.QXmlDeclHandlerInterface handler)" doc="/**
&lt;p&gt;Sets the declaration handler to &lt;tt&gt;handler&lt;/tt&gt;.&lt;/p&gt;

@see &lt;a href=&quot;QXmlReader.html#declHandler()&quot;&gt;&lt;tt&gt;declHandler&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public abstract void setEntityResolver(com.trolltech.qt.xml.QXmlEntityResolverInterface handler)" doc="/**
&lt;p&gt;Sets the entity resolver to &lt;tt&gt;handler&lt;/tt&gt;.&lt;/p&gt;

@see &lt;a href=&quot;QXmlReader.html#entityResolver()&quot;&gt;&lt;tt&gt;entityResolver&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public abstract void setErrorHandler(com.trolltech.qt.xml.QXmlErrorHandlerInterface handler)" doc="/**
&lt;p&gt;Sets the error handler to &lt;tt&gt;handler&lt;/tt&gt;. Clears the error handler if &lt;tt&gt;handler&lt;/tt&gt; is 0.&lt;/p&gt;

@see &lt;a href=&quot;QXmlReader.html#errorHandler()&quot;&gt;&lt;tt&gt;errorHandler&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public abstract void setFeature(java.lang.String name, boolean value)" doc="/**
&lt;p&gt;Sets the feature called &lt;tt&gt;name&lt;/tt&gt; to the given &lt;tt&gt;value&lt;/tt&gt;. If the reader doesn't have the feature nothing happens.&lt;/p&gt;

@see &lt;a href=&quot;QXmlReader.html#feature(java.lang.String)&quot;&gt;&lt;tt&gt;feature&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QXmlReader.html#hasFeature(java.lang.String)&quot;&gt;&lt;tt&gt;hasFeature&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public abstract void setLexicalHandler(com.trolltech.qt.xml.QXmlLexicalHandlerInterface handler)" doc="/**
&lt;p&gt;Sets the lexical handler to &lt;tt&gt;handler&lt;/tt&gt;.&lt;/p&gt;

@see &lt;a href=&quot;QXmlReader.html#lexicalHandler()&quot;&gt;&lt;tt&gt;lexicalHandler&lt;/tt&gt;&lt;/a&gt; */"/>
</class>
