<?xml version='1.0' encoding='ISO-8859-1' standalone='no'?>
<!DOCTYPE interface-description SYSTEM 'file:///usr/pkgsrc/lang/oo2c/work.macaroon/oo2c_32-2.0.11/rsrc/OOC/xml/interface-description.dtd'>
<interface-description name='XML:Basic:Parser' id=''>
  <oberon-doc>
    <summary>This parser builds on the non-validating parser <oberon-module href='XML:Parser#'>XML:Parser</oberon-module>.</summary>
    <p pad-after='yes' no-indent='yes'>This parser builds on the non-validating parser <oberon-module href='XML:Parser#'>XML:Parser</oberon-module>.  It uses the element description facilities from <oberon-module href='XML:Basic:Element#'>XML:Basic:Element</oberon-module> to perform syntactical and semantical checks, as well as to construct a data structure from an XML document.  It is intended for small XML documents, like configuration files or messages.</p>
    <p pad-after='yes' no-indent='no'>This version of the <left-quote/>basic<right-quote/> parser does not support namespaces.</p>
  </oberon-doc>
  <import-decl name='IO' id='IO' export='no' module='IO'/>
  <import-decl name='URI' id='URI' export='no' module='URI'/>
  <import-decl name='XMLError' id='XMLError' export='no' module='XML:Error'/>
  <import-decl name='DTD' id='DTD' export='no' module='XML:DTD'/>
  <import-decl name='Builder' id='Builder' export='no' module='XML:Builder'/>
  <import-decl name='UnicodeCodec' id='UnicodeCodec' export='no' module='XML:UnicodeCodec'/>
  <import-decl name='Locator' id='Locator' export='no' module='XML:Locator'/>
  <import-decl name='Error' id='Error' export='no' module='XML:Error'/>
  <import-decl name='Element' id='Element' export='no' module='XML:Basic:Element'/>
  <const-decl name='validate' id='validate' export='yes' value='unknown'/>
  <type-decl name='ElementStack' id='ElementStack' export='no'>
    <type>
      <pointer>
        <pointer-base>
          <array>
            <element-type>
              <type-name module='Element' name='Element' href='XML:Basic:Element#Element'/>
            </element-type>
          </array>
        </pointer-base>
      </pointer>
    </type>
  </type-decl>
  <procedure name='Parse' id='Parse' export='yes'>
    <oberon-doc>
      <summary>Parses an XML document from reader <samp>byteReader</samp> request.</summary>
      <p pad-after='yes' no-indent='yes'>Parses an XML document from reader <samp>byteReader</samp> request.  If <oberon-param href='#Parse.baseURI'>baseURI</oberon-param> is not <code>NIL</code>, or if <oberon-const href='#validate'>validate</oberon-const> is in <oberon-param href='#Parse.flags'>flags</oberon-param>, external references in the XML document are followed.  In this case, relative URIs are interpreted using the base URI <oberon-param href='#Parse.baseURI'>baseURI</oberon-param>.  If <oberon-param href='#Parse.unicodeFactory'>unicodeFactory</oberon-param> is given, then the document is assumed to use its character encoding.</p>
      <p pad-after='yes' no-indent='no'>The root element of the document is created by selecting the matching factory function from <oberon-param href='#Parse.rootFactory'>rootFactory</oberon-param>.  An error is signalled if the nesting level of an element exceeds <oberon-param href='#Parse.maxNestingDepth'>maxNestingDepth</oberon-param>.</p>
      <p pad-after='yes' no-indent='no'>The parser acts as a validating parser if <oberon-const href='#validate'>validate</oberon-const> is in <oberon-param href='#Parse.flags'>flags</oberon-param>.</p>
      <p pad-after='yes' no-indent='no'>In case of an error, <oberon-param href='#Parse.errList'>errList</oberon-param> refers to the error list and result is <code>NIL</code>.  Otherwise, <oberon-param href='#Parse.errList'>errList</oberon-param> is <code>NIL</code> and an instance of the root element is returned.</p>
    </oberon-doc>
    <formal-parameters>
      <parameter-decl name='byteReader' id='Parse.byteReader' export='no' variable-parameter='no'>
        <type>
          <type-name module='IO' name='ByteChannel' href='IO#ByteChannel'/>
        </type>
      </parameter-decl>
      <parameter-decl name='baseURI' id='Parse.baseURI' export='no' variable-parameter='no'>
        <type>
          <type-name module='URI' name='URI' href='URI#URI'/>
        </type>
      </parameter-decl>
      <parameter-decl name='unicodeFactory' id='Parse.unicodeFactory' export='no' variable-parameter='no'>
        <type>
          <type-name module='UnicodeCodec' name='Factory' href='XML:UnicodeCodec#Factory'/>
        </type>
      </parameter-decl>
      <parameter-decl name='rootFactory' id='Parse.rootFactory' export='no' variable-parameter='no'>
        <type>
          <type-name module='Element' name='RootFactory' href='XML:Basic:Element#RootFactory'/>
        </type>
      </parameter-decl>
      <parameter-decl name='maxNestingDepth' id='Parse.maxNestingDepth' export='no' variable-parameter='no'>
        <type>
          <type-name module='#predef' name='LONGINT'/>
        </type>
      </parameter-decl>
      <parameter-decl name='flags' id='Parse.flags' export='no' variable-parameter='no'>
        <type>
          <type-name module='#predef' name='SET'/>
        </type>
      </parameter-decl>
      <parameter-decl name='errList' id='Parse.errList' export='no' variable-parameter='yes'>
        <type>
          <type-name module='XMLError' name='List' href='XML:Error#List'/>
        </type>
      </parameter-decl>
      <result-type>
        <type-name module='Element' name='Element' href='XML:Basic:Element#Element'/>
      </result-type>
      <exceptions>
        <type-name module='IO' name='Error' href='IO#Error'/>
      </exceptions>
    </formal-parameters>
  </procedure>
  <import-decl name='-RT0' id='-RT0' export='no' module='RT0'/>
  <import-decl name='-Object' id='-Object' export='no' module='Object'/>
  <import-decl name='-Exception' id='-Exception' export='no' module='Exception'/>
  <class name='Build'>
    <type-decl name='Build' id='Build' export='no'>
      <type>
        <pointer>
          <pointer-base>
            <type-name name='BuildDesc' href='#BuildDesc'/>
          </pointer-base>
        </pointer>
      </type>
    </type-decl>
    <type-decl name='BuildDesc' id='BuildDesc' export='no'>
      <type>
        <record/>
      </type>
    </type-decl>
    <procedure name='Error' id='BuildDesc.Error' export='no'>
      <formal-parameters>
        <receiver-decl name='b' id='BuildDesc.Error.b' export='no' variable-parameter='no'>
          <type>
            <type-name name='Build' href='#Build'/>
          </type>
        </receiver-decl>
        <parameter-decl name='code' id='BuildDesc.Error.code' export='no' variable-parameter='no'>
          <type>
            <type-name module='Error' name='Code' href='XML:Error#Code'/>
          </type>
        </parameter-decl>
      </formal-parameters>
    </procedure>
    <procedure name='ErrorName' id='BuildDesc.ErrorName' export='no'>
      <formal-parameters>
        <receiver-decl name='b' id='BuildDesc.ErrorName.b' export='no' variable-parameter='no'>
          <type>
            <type-name name='Build' href='#Build'/>
          </type>
        </receiver-decl>
        <parameter-decl name='code' id='BuildDesc.ErrorName.code' export='no' variable-parameter='no'>
          <type>
            <type-name module='Error' name='Code' href='XML:Error#Code'/>
          </type>
        </parameter-decl>
        <parameter-decl name='name' id='BuildDesc.ErrorName.name' export='no' variable-parameter='no'>
          <type>
            <type-name module='DTD' name='String' href='XML:DTD#String'/>
          </type>
        </parameter-decl>
      </formal-parameters>
    </procedure>
    <procedure name='ErrorString' id='BuildDesc.ErrorString' export='no'>
      <formal-parameters>
        <receiver-decl name='b' id='BuildDesc.ErrorString.b' export='no' variable-parameter='no'>
          <type>
            <type-name name='Build' href='#Build'/>
          </type>
        </receiver-decl>
        <parameter-decl name='code' id='BuildDesc.ErrorString.code' export='no' variable-parameter='no'>
          <type>
            <type-name module='Error' name='Code' href='XML:Error#Code'/>
          </type>
        </parameter-decl>
        <parameter-decl name='string' id='BuildDesc.ErrorString.string' export='no' variable-parameter='no'>
          <type>
            <type-name module='DTD' name='String' href='XML:DTD#String'/>
          </type>
        </parameter-decl>
      </formal-parameters>
    </procedure>
    <procedure name='SetLocator' id='BuildDesc.SetLocator' export='yes'>
      <doc-inherited-from module='XML:Builder' name='SetLocator' class='Builder' href='XML:Builder#BuilderDesc.SetLocator'/>
      <oberon-doc>
        <summary>Indicates which locator object the parser uses to communicate positional information.</summary>
        <p pad-after='yes' no-indent='yes'>Indicates which locator object the parser uses to communicate positional information.  If this method is not called before <oberon-proc href='XML:Builder#BuilderDesc.StartDocument'>Builder.StartDocument</oberon-proc>, the builder should assume that no locator is available during processing.  This method may be called several times during processing of a document.</p>
        <pre-cond pad-after='yes'>
          <p pad-after='no' no-indent='yes'><samp>locator</samp> is not <code>NIL</code>.</p>
        </pre-cond>
      </oberon-doc>
      <formal-parameters>
        <receiver-decl name='b' id='BuildDesc.SetLocator.b' export='no' variable-parameter='no'>
          <type>
            <type-name name='Build' href='#Build'/>
          </type>
        </receiver-decl>
        <parameter-decl name='locator' id='BuildDesc.SetLocator.locator' export='no' variable-parameter='no'>
          <type>
            <type-name module='Locator' name='Locator' href='XML:Locator#Locator'/>
          </type>
        </parameter-decl>
      </formal-parameters>
      <redefined-method module='XML:Builder' name='SetLocator' class='Builder' href='XML:Builder#BuilderDesc.SetLocator'/>
    </procedure>
    <procedure name='SetErrorListener' id='BuildDesc.SetErrorListener' export='yes'>
      <doc-inherited-from module='XML:Builder' name='SetErrorListener' class='Builder' href='XML:Builder#BuilderDesc.SetErrorListener'/>
      <oberon-doc>
        <summary>Indicates the object <oberon-param href='#BuildDesc.SetErrorListener.el'>el</oberon-param> that the builder should use for error signalling.</summary>
        <p pad-after='yes' no-indent='yes'>Indicates the object <oberon-param href='#BuildDesc.SetErrorListener.el'>el</oberon-param> that the builder should use for error signalling.  Any errors will subsequently be reported through <oberon-proc href='XML:Locator#ErrorListenerDesc.Error'>el.Error</oberon-proc>.  This method is called by the parser before it begins processing of the document.</p>
      </oberon-doc>
      <formal-parameters>
        <receiver-decl name='b' id='BuildDesc.SetErrorListener.b' export='no' variable-parameter='no'>
          <type>
            <type-name name='Build' href='#Build'/>
          </type>
        </receiver-decl>
        <parameter-decl name='el' id='BuildDesc.SetErrorListener.el' export='no' variable-parameter='no'>
          <type>
            <type-name module='Locator' name='ErrorListener' href='XML:Locator#ErrorListener'/>
          </type>
        </parameter-decl>
      </formal-parameters>
      <redefined-method module='XML:Builder' name='SetErrorListener' class='Builder' href='XML:Builder#BuilderDesc.SetErrorListener'/>
    </procedure>
    <procedure name='StartElement' id='BuildDesc.StartElement' export='yes'>
      <doc-inherited-from module='XML:Builder' name='StartElement' class='Builder' href='XML:Builder#BuilderDesc.StartElement'/>
      <oberon-doc>
        <summary>Called whenever a start tag is being parsed.</summary>
        <p pad-after='yes' no-indent='yes'>Called whenever a start tag is being parsed.  For a namespace aware parser, <oberon-param href='#BuildDesc.StartElement.namespaceDecl'>namespaceDecl</oberon-param> refers to the namespace URI of the element name.  If the name has no namespace part, the argument is <code>NIL</code>.  <oberon-param href='#BuildDesc.StartElement.localName'>localName</oberon-param> is the element minus the namespace prefix and the colon.  The namespace prefix of the attribute name can be obtained from <oberon-param href='#BuildDesc.StartElement.namespaceDecl'>namespaceDecl</oberon-param>.</p>
        <p pad-after='yes' no-indent='no'>b The locator is positioned at the beginning of the start tag's name.</p>
        <p pad-after='yes' no-indent='no'><strong>Note</strong>: Namespaces are only partially supported in the parser itself.  For full namespace support, the special builder class <oberon-type href='XML:Builder:Namespaces#Builder'>XML:Builder:Namespaces.Builder</oberon-type> must be put between the parser and the application.</p>
      </oberon-doc>
      <formal-parameters>
        <receiver-decl name='b' id='BuildDesc.StartElement.b' export='no' variable-parameter='no'>
          <type>
            <type-name name='Build' href='#Build'/>
          </type>
        </receiver-decl>
        <parameter-decl name='namespaceDecl' id='BuildDesc.StartElement.namespaceDecl' export='no' variable-parameter='no'>
          <type>
            <type-name module='DTD' name='NamespaceDeclaration' href='XML:DTD#NamespaceDeclaration'/>
          </type>
        </parameter-decl>
        <parameter-decl name='localName' id='BuildDesc.StartElement.localName' export='no' variable-parameter='no'>
          <type>
            <type-name module='DTD' name='String' href='XML:DTD#String'/>
          </type>
        </parameter-decl>
      </formal-parameters>
      <redefined-method module='XML:Builder' name='StartElement' class='Builder' href='XML:Builder#BuilderDesc.StartElement'/>
    </procedure>
    <procedure name='Attribute' id='BuildDesc.Attribute' export='yes'>
      <doc-inherited-from module='XML:Builder' name='Attribute' class='Builder' href='XML:Builder#BuilderDesc.Attribute'/>
      <oberon-doc>
        <summary>Called for every attribute (specified or defaulted) of the current element.</summary>
        <p pad-after='yes' no-indent='yes'>Called for every attribute (specified or defaulted) of the current element.  For a namespace aware parser, <oberon-param href='#BuildDesc.Attribute.namespaceDecl'>namespaceDecl</oberon-param> refers to the namespace URI of the element name.  If the name has no namespace part, the argument is <code>NIL</code>.  <oberon-param href='#BuildDesc.Attribute.localName'>localName</oberon-param> is the element minus the namespace prefix and the colon.  The namespace prefix of the attribute name can be obtained from <oberon-param href='#BuildDesc.Attribute.namespaceDecl'>namespaceDecl</oberon-param>.</p>
        <p pad-after='yes' no-indent='no'>If an attribute declaration for this attribute is known to the parser, it is passed in <oberon-param href='#BuildDesc.Attribute.attrDecl'>attrDecl</oberon-param>.  Without a declaration, the application should treat the attribute as if it were of type <oberon-const href='XML:DTD#attrCDATA'>DTD.attrCDATA</oberon-const>.</p>
        <p pad-after='yes' no-indent='no'>If the attribute is specified in the element's attribute list, instead of being defaulted from the attribute's declaration, <oberon-param href='#BuildDesc.Attribute.specified'>specified</oberon-param> is <code>TRUE</code>.</p>
        <p pad-after='yes' no-indent='no'>The attribute's value is passed into the parameter <oberon-param href='#BuildDesc.Attribute.value'>value</oberon-param>.  Call <oberon-proc href='XML:DTD#AttValueDesc.Flatten'>DTD.AttValue.Flatten</oberon-proc> or <oberon-proc href='XML:DTD#AttValueDesc.FlattenValue'>DTD.AttValue.FlattenValue</oberon-proc> to retrieve the normalized value of the attribute.  You can also access the data structure <oberon-param href='#BuildDesc.Attribute.value'>value</oberon-param>.  The string values in the data structure are normalized for <code>CDATA</code> values.  When reading <oberon-param href='#BuildDesc.Attribute.value'>value</oberon-param> for non-<code>CDATA</code> attributes, you must collapse sequences of whitespace into a single space, and remove any whitespace from the beginning and the end of the attribute value.</p>
        <p pad-after='yes' no-indent='no'>The locator is at the beginning of the attribute's name, if <oberon-param href='#BuildDesc.Attribute.specified'>specified</oberon-param> is <code>TRUE</code>.  For defaulted attributes, the locator is undefined.</p>
      </oberon-doc>
      <formal-parameters>
        <receiver-decl name='b' id='BuildDesc.Attribute.b' export='no' variable-parameter='no'>
          <type>
            <type-name name='Build' href='#Build'/>
          </type>
        </receiver-decl>
        <parameter-decl name='namespaceDecl' id='BuildDesc.Attribute.namespaceDecl' export='no' variable-parameter='no'>
          <type>
            <type-name module='DTD' name='NamespaceDeclaration' href='XML:DTD#NamespaceDeclaration'/>
          </type>
        </parameter-decl>
        <parameter-decl name='localName' id='BuildDesc.Attribute.localName' export='no' variable-parameter='no'>
          <type>
            <type-name module='DTD' name='String' href='XML:DTD#String'/>
          </type>
        </parameter-decl>
        <parameter-decl name='attrDecl' id='BuildDesc.Attribute.attrDecl' export='no' variable-parameter='no'>
          <type>
            <type-name module='DTD' name='AttrDecl' href='XML:DTD#AttrDecl'/>
          </type>
        </parameter-decl>
        <parameter-decl name='value' id='BuildDesc.Attribute.value' export='no' variable-parameter='no'>
          <type>
            <type-name module='DTD' name='AttValue' href='XML:DTD#AttValue'/>
          </type>
        </parameter-decl>
        <parameter-decl name='specified' id='BuildDesc.Attribute.specified' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='BOOLEAN'/>
          </type>
        </parameter-decl>
      </formal-parameters>
      <redefined-method module='XML:Builder' name='Attribute' class='Builder' href='XML:Builder#BuilderDesc.Attribute'/>
    </procedure>
    <procedure name='AttributesDone' id='BuildDesc.AttributesDone' export='yes'>
      <doc-inherited-from module='XML:Builder' name='AttributesDone' class='Builder' href='XML:Builder#BuilderDesc.AttributesDone'/>
      <oberon-doc>
        <summary>Called when the all attributes of a start tag, specified or defaulted, have been reported to the application.</summary>
        <p pad-after='yes' no-indent='yes'>Called when the all attributes of a start tag, specified or defaulted, have been reported to the application.  The locator is positioned after the closing <samp>&gt;</samp> of the start or empty element tag.</p>
      </oberon-doc>
      <formal-parameters>
        <receiver-decl name='b' id='BuildDesc.AttributesDone.b' export='no' variable-parameter='no'>
          <type>
            <type-name name='Build' href='#Build'/>
          </type>
        </receiver-decl>
      </formal-parameters>
      <redefined-method module='XML:Builder' name='AttributesDone' class='Builder' href='XML:Builder#BuilderDesc.AttributesDone'/>
    </procedure>
    <procedure name='Characters' id='BuildDesc.Characters' export='yes'>
      <doc-inherited-from module='XML:Builder' name='Characters' class='Builder' href='XML:Builder#BuilderDesc.Characters'/>
      <oberon-doc>
        <summary>Called for non-markup characters that appear within the document element.</summary>
        <p pad-after='yes' no-indent='yes'>Called for non-markup characters that appear within the document element.  The array slice <samp><oberon-param href='#BuildDesc.Characters.chars'>chars</oberon-param>[<oberon-param href='#BuildDesc.Characters.charsStart'>charsStart</oberon-param>, <oberon-param href='#BuildDesc.Characters.charsEnd'>charsEnd</oberon-param>[</samp> holds the character data.  <oberon-param href='#BuildDesc.Characters.elementWhitespace'>elementWhitespace</oberon-param> indicates whether the characters are whitespace appearing within element content.</p>
        <p pad-after='yes' no-indent='no'>The locator refers to the first character.</p>
        <p pad-after='yes' no-indent='no'><emph>Note</emph>: It is up to the parser how it partitions character data before reporting it to the application.  For example, the character data of an element may be reported in one call to <oberon-proc href='XML:Builder#BuilderDesc.Characters'>Builder.Characters</oberon-proc>, or in multiple chunks, depending on embedded character references, general entity references, CDATA sections, and the size of the character content.  It is only guaranteed that this procedure is called with an integral number of ISO 10646 characters (e.g., surrogate pairs are reported in one call).</p>
      </oberon-doc>
      <formal-parameters>
        <receiver-decl name='b' id='BuildDesc.Characters.b' export='no' variable-parameter='no'>
          <type>
            <type-name name='Build' href='#Build'/>
          </type>
        </receiver-decl>
        <parameter-decl name='chars' id='BuildDesc.Characters.chars' export='no' variable-parameter='yes'>
          <type>
            <type-name module='DTD' name='StringVar' href='XML:DTD#StringVar'/>
          </type>
        </parameter-decl>
        <parameter-decl name='charsStart' id='BuildDesc.Characters.charsStart' export='no' variable-parameter='no'>
          <type>
            <type-name module='DTD' name='CharPos' href='XML:DTD#CharPos'/>
          </type>
        </parameter-decl>
        <parameter-decl name='charsEnd' id='BuildDesc.Characters.charsEnd' export='no' variable-parameter='no'>
          <type>
            <type-name module='DTD' name='CharPos' href='XML:DTD#CharPos'/>
          </type>
        </parameter-decl>
        <parameter-decl name='elementWhitespace' id='BuildDesc.Characters.elementWhitespace' export='no' variable-parameter='no'>
          <type>
            <type-name module='DTD' name='ElementWhitespaceType' href='XML:DTD#ElementWhitespaceType'/>
          </type>
        </parameter-decl>
      </formal-parameters>
      <redefined-method module='XML:Builder' name='Characters' class='Builder' href='XML:Builder#BuilderDesc.Characters'/>
    </procedure>
    <procedure name='EndElement' id='BuildDesc.EndElement' export='yes'>
      <doc-inherited-from module='XML:Builder' name='EndElement' class='Builder' href='XML:Builder#BuilderDesc.EndElement'/>
      <oberon-doc>
        <summary>Called when an end tag is parsed.</summary>
        <p pad-after='yes' no-indent='yes'>Called when an end tag is parsed.  See <oberon-proc href='XML:Builder#BuilderDesc.StartElement'>Builder.StartElement</oberon-proc> for a description of the arguments.  The locator is positioned at the beginning of the end tag's name, if an explicit end tag exists.  Otherwise, it is placed after the closing <samp>/&gt;</samp> of the empty element tag.</p>
      </oberon-doc>
      <formal-parameters>
        <receiver-decl name='b' id='BuildDesc.EndElement.b' export='no' variable-parameter='no'>
          <type>
            <type-name name='Build' href='#Build'/>
          </type>
        </receiver-decl>
        <parameter-decl name='namespaceDecl' id='BuildDesc.EndElement.namespaceDecl' export='no' variable-parameter='no'>
          <type>
            <type-name module='DTD' name='NamespaceDeclaration' href='XML:DTD#NamespaceDeclaration'/>
          </type>
        </parameter-decl>
        <parameter-decl name='localName' id='BuildDesc.EndElement.localName' export='no' variable-parameter='no'>
          <type>
            <type-name module='DTD' name='String' href='XML:DTD#String'/>
          </type>
        </parameter-decl>
      </formal-parameters>
      <redefined-method module='XML:Builder' name='EndElement' class='Builder' href='XML:Builder#BuilderDesc.EndElement'/>
    </procedure>
    <base-class module='XML:Builder' class='Builder' href='XML:Builder#Builder'>
      <inherited-method module='XML:Builder' name='Attribute' class='Builder' href='XML:Builder#BuilderDesc.Attribute'/>
      <inherited-method module='XML:Builder' name='AttributesDone' class='Builder' href='XML:Builder#BuilderDesc.AttributesDone'/>
      <inherited-method module='XML:Builder' name='Characters' class='Builder' href='XML:Builder#BuilderDesc.Characters'/>
      <inherited-method module='XML:Builder' name='Comment' class='Builder' href='XML:Builder#BuilderDesc.Comment'/>
      <inherited-method module='XML:Builder' name='EndCDATA' class='Builder' href='XML:Builder#BuilderDesc.EndCDATA'/>
      <inherited-method module='XML:Builder' name='EndDTD' class='Builder' href='XML:Builder#BuilderDesc.EndDTD'/>
      <inherited-method module='XML:Builder' name='EndDocument' class='Builder' href='XML:Builder#BuilderDesc.EndDocument'/>
      <inherited-method module='XML:Builder' name='EndElement' class='Builder' href='XML:Builder#BuilderDesc.EndElement'/>
      <inherited-method module='XML:Builder' name='EndEntity' class='Builder' href='XML:Builder#BuilderDesc.EndEntity'/>
      <inherited-method module='XML:Builder' name='EntityDecl' class='Builder' href='XML:Builder#BuilderDesc.EntityDecl'/>
      <inherited-method module='XML:Builder' name='NamespaceDeclaration' class='Builder' href='XML:Builder#BuilderDesc.NamespaceDeclaration'/>
      <inherited-method module='XML:Builder' name='Notation' class='Builder' href='XML:Builder#BuilderDesc.Notation'/>
      <inherited-method module='XML:Builder' name='ProcessingInstruction' class='Builder' href='XML:Builder#BuilderDesc.ProcessingInstruction'/>
      <inherited-method module='XML:Builder' name='SetErrorListener' class='Builder' href='XML:Builder#BuilderDesc.SetErrorListener'/>
      <inherited-method module='XML:Builder' name='SetLocator' class='Builder' href='XML:Builder#BuilderDesc.SetLocator'/>
      <inherited-method module='XML:Builder' name='SkippedEntity' class='Builder' href='XML:Builder#BuilderDesc.SkippedEntity'/>
      <inherited-method module='XML:Builder' name='StartCDATA' class='Builder' href='XML:Builder#BuilderDesc.StartCDATA'/>
      <inherited-method module='XML:Builder' name='StartDTD' class='Builder' href='XML:Builder#BuilderDesc.StartDTD'/>
      <inherited-method module='XML:Builder' name='StartDocument' class='Builder' href='XML:Builder#BuilderDesc.StartDocument'/>
      <inherited-method module='XML:Builder' name='StartElement' class='Builder' href='XML:Builder#BuilderDesc.StartElement'/>
      <inherited-method module='XML:Builder' name='StartEntity' class='Builder' href='XML:Builder#BuilderDesc.StartEntity'/>
    </base-class>
  </class>
  <module-ref name='XML:Builder:Namespaces'>
    <ref-target type='html' relative-uri='../Builder/Namespaces.html'/>
  </module-ref>
  <module-ref name='XML:Locator'>
    <ref-target type='html' relative-uri='../Locator.html'/>
  </module-ref>
  <module-ref name='XML:UnicodeCodec'>
    <ref-target type='html' relative-uri='../UnicodeCodec.html'/>
  </module-ref>
  <module-ref name='IO'>
    <ref-target type='html' relative-uri='../../IO.html'/>
  </module-ref>
  <module-ref name='URI'>
    <ref-target type='html' relative-uri='../../URI.html'/>
  </module-ref>
  <module-ref name='XML:Parser'>
    <ref-target type='html' relative-uri='../Parser.html'/>
  </module-ref>
  <module-ref name='XML:DTD'>
    <ref-target type='html' relative-uri='../DTD.html'/>
  </module-ref>
  <module-ref name='XML:Basic:Element'>
    <ref-target type='html' relative-uri='Element.html'/>
  </module-ref>
  <module-ref name='XML:Builder'>
    <ref-target type='html' relative-uri='../Builder.html'/>
  </module-ref>
  <module-ref name='XML:Error'>
    <ref-target type='html' relative-uri='../Error.html'/>
  </module-ref>
</interface-description>
