<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<phpdoc:classref xml:id="class.xmlreader" xmlns="http://docbook.org/ns/docbook"
 xmlns:xlink="http://www.w3.org/1999/xlink"
 xmlns:xi="http://www.w3.org/2001/XInclude"
 xmlns:phpdoc="http://php.net/ns/phpdoc">
 <title>The XMLReader class</title>
 <titleabbrev>XMLReader</titleabbrev>
 
 <partintro>
 
<!-- {{{ XMLReader intro -->
  <section xml:id="xmlreader.intro">
   &reftitle.intro;
   <para>
    The XMLReader extension is an XML Pull parser. The reader acts as a 
    cursor going forward on the document stream and stopping at each node 
    on the way.
   </para>
  </section>
<!-- }}} -->
 
  <section xml:id="xmlreader.synopsis">
   &reftitle.classsynopsis;
 
<!-- {{{ Synopsis -->
   <classsynopsis>
    <ooclass><classname>XMLReader</classname></ooclass>
 
<!-- {{{ Class synopsis -->
    <classsynopsisinfo>
     <ooclass>
      <classname>XMLReader</classname>
     </ooclass>
    </classsynopsisinfo>
<!-- }}} -->
 
    <classsynopsisinfo role="comment">&Constants;</classsynopsisinfo>
<!-- {{{ XMLReader constants -->
     <fieldsynopsis>
      <modifier>const</modifier>
      <type>int</type>
      <varname linkend="xmlreader.constants.none">XMLReader::NONE</varname>
      <initializer>0</initializer>
     </fieldsynopsis>
     <fieldsynopsis>
      <modifier>const</modifier>
      <type>int</type>
      <varname linkend="xmlreader.constants.element">XMLReader::ELEMENT</varname>
      <initializer>1</initializer>
     </fieldsynopsis>
     <fieldsynopsis>
      <modifier>const</modifier>
      <type>int</type>
      <varname linkend="xmlreader.constants.attribute">XMLReader::ATTRIBUTE</varname>
      <initializer>2</initializer>
     </fieldsynopsis>
     <fieldsynopsis>
      <modifier>const</modifier>
      <type>int</type>
      <varname linkend="xmlreader.constants.text">XMLReader::TEXT</varname>
      <initializer>3</initializer>
     </fieldsynopsis>
     <fieldsynopsis>
      <modifier>const</modifier>
      <type>int</type>
      <varname linkend="xmlreader.constants.cdata">XMLReader::CDATA</varname>
      <initializer>4</initializer>
     </fieldsynopsis>
     <fieldsynopsis>
      <modifier>const</modifier>
      <type>int</type>
      <varname linkend="xmlreader.constants.entity-ref">XMLReader::ENTITY_REF</varname>
      <initializer>5</initializer>
     </fieldsynopsis>
     <fieldsynopsis>
      <modifier>const</modifier>
      <type>int</type>
      <varname linkend="xmlreader.constants.entity">XMLReader::ENTITY</varname>
      <initializer>6</initializer>
     </fieldsynopsis>
     <fieldsynopsis>
      <modifier>const</modifier>
      <type>int</type>
      <varname linkend="xmlreader.constants.pi">XMLReader::PI</varname>
      <initializer>7</initializer>
     </fieldsynopsis>
     <fieldsynopsis>
      <modifier>const</modifier>
      <type>int</type>
      <varname linkend="xmlreader.constants.comment">XMLReader::COMMENT</varname>
      <initializer>8</initializer>
     </fieldsynopsis>
     <fieldsynopsis>
      <modifier>const</modifier>
      <type>int</type>
      <varname linkend="xmlreader.constants.doc">XMLReader::DOC</varname>
      <initializer>9</initializer>
     </fieldsynopsis>
     <fieldsynopsis>
      <modifier>const</modifier>
      <type>int</type>
      <varname linkend="xmlreader.constants.doc-type">XMLReader::DOC_TYPE</varname>
      <initializer>10</initializer>
     </fieldsynopsis>
     <fieldsynopsis>
      <modifier>const</modifier>
      <type>int</type>
      <varname linkend="xmlreader.constants.doc-fragment">XMLReader::DOC_FRAGMENT</varname>
      <initializer>11</initializer>
     </fieldsynopsis>
     <fieldsynopsis>
      <modifier>const</modifier>
      <type>int</type>
      <varname linkend="xmlreader.constants.notation">XMLReader::NOTATION</varname>
      <initializer>12</initializer>
     </fieldsynopsis>
     <fieldsynopsis>
      <modifier>const</modifier>
      <type>int</type>
      <varname linkend="xmlreader.constants.whitespace">XMLReader::WHITESPACE</varname>
      <initializer>13</initializer>
     </fieldsynopsis>
     <fieldsynopsis>
      <modifier>const</modifier>
      <type>int</type>
      <varname linkend="xmlreader.constants.significant-whitespace">XMLReader::SIGNIFICANT_WHITESPACE</varname>
      <initializer>14</initializer>
     </fieldsynopsis>
     <fieldsynopsis>
      <modifier>const</modifier>
      <type>int</type>
      <varname linkend="xmlreader.constants.end-element">XMLReader::END_ELEMENT</varname>
      <initializer>15</initializer>
     </fieldsynopsis>
     <fieldsynopsis>
      <modifier>const</modifier>
      <type>int</type>
      <varname linkend="xmlreader.constants.end-entity">XMLReader::END_ENTITY</varname>
      <initializer>16</initializer>
     </fieldsynopsis>
     <fieldsynopsis>
      <modifier>const</modifier>
      <type>int</type>
      <varname linkend="xmlreader.constants.xml-declaration">XMLReader::XML_DECLARATION</varname>
      <initializer>17</initializer>
     </fieldsynopsis>
     <fieldsynopsis>
      <modifier>const</modifier>
      <type>int</type>
      <varname linkend="xmlreader.constants.loaddtd">XMLReader::LOADDTD</varname>
      <initializer>1</initializer>
     </fieldsynopsis>
     <fieldsynopsis>
      <modifier>const</modifier>
      <type>int</type>
      <varname linkend="xmlreader.constants.defaultattrs">XMLReader::DEFAULTATTRS</varname>
      <initializer>2</initializer>
     </fieldsynopsis>
     <fieldsynopsis>
      <modifier>const</modifier>
      <type>int</type>
      <varname linkend="xmlreader.constants.validate">XMLReader::VALIDATE</varname>
      <initializer>3</initializer>
     </fieldsynopsis>
     <fieldsynopsis>
      <modifier>const</modifier>
      <type>int</type>
      <varname linkend="xmlreader.constants.subst-entities">XMLReader::SUBST_ENTITIES</varname>
      <initializer>4</initializer>
     </fieldsynopsis>
<!-- }}} -->
    <classsynopsisinfo role="comment">&Properties;</classsynopsisinfo>
<!-- {{{ XMLReader properties -->
     <fieldsynopsis>
      <modifier>public</modifier>
      <modifier>readonly</modifier>
      <type>int</type>
      <varname linkend="xmlreader.props.attributecount">attributeCount</varname>
     </fieldsynopsis>
     <fieldsynopsis>
      <modifier>public</modifier>
      <modifier>readonly</modifier>
      <type>string</type>
      <varname linkend="xmlreader.props.baseuri">baseURI</varname>
     </fieldsynopsis>
     <fieldsynopsis>
      <modifier>public</modifier>
      <modifier>readonly</modifier>
      <type>int</type>
      <varname linkend="xmlreader.props.depth">depth</varname>
     </fieldsynopsis>
     <fieldsynopsis>
      <modifier>public</modifier>
      <modifier>readonly</modifier>
      <type>bool</type>
      <varname linkend="xmlreader.props.hasattributes">hasAttributes</varname>
     </fieldsynopsis>
     <fieldsynopsis>
      <modifier>public</modifier>
      <modifier>readonly</modifier>
      <type>bool</type>
      <varname linkend="xmlreader.props.hasvalue">hasValue</varname>
     </fieldsynopsis>
     <fieldsynopsis>
      <modifier>public</modifier>
      <modifier>readonly</modifier>
      <type>bool</type>
      <varname linkend="xmlreader.props.isdefault">isDefault</varname>
     </fieldsynopsis>
     <fieldsynopsis>
      <modifier>public</modifier>
      <modifier>readonly</modifier>
      <type>bool</type>
      <varname linkend="xmlreader.props.isemptyelement">isEmptyElement</varname>
     </fieldsynopsis>
     <fieldsynopsis>
      <modifier>public</modifier>
      <modifier>readonly</modifier>
      <type>string</type>
      <varname linkend="xmlreader.props.localname">localName</varname>
     </fieldsynopsis>
     <fieldsynopsis>
      <modifier>public</modifier>
      <modifier>readonly</modifier>
      <type>string</type>
      <varname linkend="xmlreader.props.name">name</varname>
     </fieldsynopsis>
     <fieldsynopsis>
      <modifier>public</modifier>
      <modifier>readonly</modifier>
      <type>string</type>
      <varname linkend="xmlreader.props.namespaceuri">namespaceURI</varname>
     </fieldsynopsis>
     <fieldsynopsis>
      <modifier>public</modifier>
      <modifier>readonly</modifier>
      <type>int</type>
      <varname linkend="xmlreader.props.nodetype">nodeType</varname>
     </fieldsynopsis>
     <fieldsynopsis>
      <modifier>public</modifier>
      <modifier>readonly</modifier>
      <type>string</type>
      <varname linkend="xmlreader.props.prefix">prefix</varname>
     </fieldsynopsis>
     <fieldsynopsis>
      <modifier>public</modifier>
      <modifier>readonly</modifier>
      <type>string</type>
      <varname linkend="xmlreader.props.value">value</varname>
     </fieldsynopsis>
     <fieldsynopsis>
      <modifier>public</modifier>
      <modifier>readonly</modifier>
      <type>string</type>
      <varname linkend="xmlreader.props.xmllang">xmlLang</varname>
     </fieldsynopsis>
<!-- }}} -->

    <classsynopsisinfo role="comment">&Methods;</classsynopsisinfo>
    <xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.xmlreader')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[1])" />
 
   </classsynopsis>
<!-- }}} -->
 
  </section>
 
<!-- {{{ XMLReader properties -->
  <section xml:id="xmlreader.props">
   &reftitle.properties;
   <variablelist>
    <varlistentry xml:id="xmlreader.props.attributecount">
     <term><varname>attributeCount</varname></term>
     <listitem>
      <para>
       The number of attributes on the node
      </para>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="xmlreader.props.baseuri">
     <term><varname>baseURI</varname></term>
     <listitem>
      <para>The base URI of the node</para>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="xmlreader.props.depth">
     <term><varname>depth</varname></term>
     <listitem>
      <para>Depth of the node in the tree, starting at 0</para>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="xmlreader.props.hasattributes">
     <term><varname>hasAttributes</varname></term>
     <listitem>
      <para>Indicates if node has attributes</para>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="xmlreader.props.hasvalue">
     <term><varname>hasValue</varname></term>
     <listitem>
      <para>Indicates if node has a text value</para>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="xmlreader.props.isdefault">
     <term><varname>isDefault</varname></term>
     <listitem>
      <para>Indicates if attribute is defaulted from DTD</para>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="xmlreader.props.isemptyelement">
     <term><varname>isEmptyElement</varname></term>
     <listitem>
       <para>Indicates if node is an empty element tag</para>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="xmlreader.props.localname">
     <term><varname>localName</varname></term>
     <listitem>
      <para>The local name of the node</para>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="xmlreader.props.name">
     <term><varname>name</varname></term>
     <listitem>
      <para>The qualified name of the node</para>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="xmlreader.props.namespaceuri">
     <term><varname>namespaceURI</varname></term>
     <listitem>
      <para>The URI of the namespace associated with the node</para>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="xmlreader.props.nodetype">
     <term><varname>nodeType</varname></term>
     <listitem>
      <para>The node type for the node</para>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="xmlreader.props.prefix">
     <term><varname>prefix</varname></term>
     <listitem>
      <para>The prefix of the namespace associated with the node</para>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="xmlreader.props.value">
     <term><varname>value</varname></term>
     <listitem>
      <para>The text value of the node</para>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="xmlreader.props.xmllang">
     <term><varname>xmlLang</varname></term>
     <listitem>
      <para>The xml:lang scope which the node resides</para>
     </listitem>
    </varlistentry>

   </variablelist>
  </section>
<!-- }}} -->
 
  <!-- {{{ XMLReader constants -->
  <section xml:id="xmlreader.constants">
   &reftitle.constants;
   <section xml:id="xmlreader.constants.types">
    <title>XMLReader Node Types</title>
    <variablelist>

     <varlistentry xml:id="xmlreader.constants.none">
      <term><constant>XMLReader::NONE</constant></term>
      <listitem>
       <para>No node type</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="xmlreader.constants.element">
      <term><constant>XMLReader::ELEMENT</constant></term>
      <listitem>
       <para>Start element</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="xmlreader.constants.attribute">
      <term><constant>XMLReader::ATTRIBUTE</constant></term>
      <listitem>
       <para>Attribute node</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="xmlreader.constants.text">
      <term><constant>XMLReader::TEXT</constant></term>
      <listitem>
       <para>Text node</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="xmlreader.constants.cdata">
      <term><constant>XMLReader::CDATA</constant></term>
      <listitem>
       <para>CDATA node</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="xmlreader.constants.entity-ref">
      <term><constant>XMLReader::ENTITY_REF</constant></term>
      <listitem>
       <para>Entity Reference node</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="xmlreader.constants.entity">
      <term><constant>XMLReader::ENTITY</constant></term>
      <listitem>
       <para>Entity Declaration node</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="xmlreader.constants.pi">
      <term><constant>XMLReader::PI</constant></term>
      <listitem>
       <para>Processing Instruction node</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="xmlreader.constants.comment">
      <term><constant>XMLReader::COMMENT</constant></term>
      <listitem>
       <para>Comment node</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="xmlreader.constants.doc">
      <term><constant>XMLReader::DOC</constant></term>
      <listitem>
       <para>Document node</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="xmlreader.constants.doc-type">
      <term><constant>XMLReader::DOC_TYPE</constant></term>
      <listitem>
       <para>Document Type node</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="xmlreader.constants.doc-fragment">
      <term><constant>XMLReader::DOC_FRAGMENT</constant></term>
      <listitem>
       <para>Document Fragment node</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="xmlreader.constants.notation">
      <term><constant>XMLReader::NOTATION</constant></term>
      <listitem>
       <para>Notation node</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="xmlreader.constants.whitespace">
      <term><constant>XMLReader::WHITESPACE</constant></term>
      <listitem>
       <para>Whitespace node</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="xmlreader.constants.significant-whitespace">
      <term><constant>XMLReader::SIGNIFICANT_WHITESPACE</constant></term>
      <listitem>
       <para>Significant Whitespace node</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="xmlreader.constants.end-element">
      <term><constant>XMLReader::END_ELEMENT</constant></term>
      <listitem>
       <para>End Element</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="xmlreader.constants.end-entity">
      <term><constant>XMLReader::END_ENTITY</constant></term>
      <listitem>
       <para>End Entity</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="xmlreader.constants.xml-declaration">
      <term><constant>XMLReader::XML_DECLARATION</constant></term>
      <listitem>
       <para>XML Declaration node</para>
      </listitem>
     </varlistentry>

    </variablelist>
   </section>

   <section xml:id="xmlreader.constants.options">
    <title>XMLReader Parser Options</title>

    <variablelist>

     <varlistentry xml:id="xmlreader.constants.loaddtd">
      <term><constant>XMLReader::LOADDTD</constant></term>
      <listitem>
       <para>Load DTD but do not validate</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="xmlreader.constants.defaultattrs">
      <term><constant>XMLReader::DEFAULTATTRS</constant></term>
      <listitem>
       <para>Load DTD and default attributes but do not validate</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="xmlreader.constants.validate">
      <term><constant>XMLReader::VALIDATE</constant></term>
      <listitem>
       <para>Load DTD and validate while parsing</para>
      </listitem>
     </varlistentry>

     <varlistentry xml:id="xmlreader.constants.subst-entities">
      <term><constant>XMLReader::SUBST_ENTITIES</constant></term>
      <listitem>
       <para>Substitute entities and expand references</para>
      </listitem>
     </varlistentry>

    </variablelist>
   </section>
  </section>
<!-- }}} -->
 </partintro>
 
 &reference.xmlreader.entities.xmlreader;
 
</phpdoc:classref>
 
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->