<?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:Locator' id=''>
  <import-decl name='Buffer' id='Buffer' export='no' module='XML:UnicodeBuffer'/>
  <import-decl name='Error' id='Error' export='no' module='XML:Error'/>
  <import-decl name='DTD' id='DTD' export='no' module='XML:DTD'/>
  <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='Position'>
    <type-decl name='Locator' id='Locator' export='yes'>
      <type>
        <pointer>
          <pointer-base>
            <type-name name='Position' href='#Position'/>
          </pointer-base>
        </pointer>
      </type>
    </type-decl>
    <type-decl name='Position' id='Position' export='yes'>
      <type>
        <record>
          <field-decl name='charIndex' id='Position.charIndex' export='yes'>
            <oberon-doc>
              <summary>The character index of the starting position associated with a callback event, based on the UCS-2 character encoding.</summary>
              <p pad-after='yes' no-indent='yes'>The character index of the starting position associated with a callback event, based on the UCS-2 character encoding.  This position is relative to the beginning of the current file (document entity, external DTD subset, or external entity), and begins with character index 0.</p>
              <p pad-after='yes' no-indent='no'>Please note that this number may differ from the number of Unicode characters before the given index, if the file contains characters with code values over 0xFFFF, which are encoded as two Unicode characters.</p>
              <p pad-after='yes' no-indent='no'>For a character position reported in an error message, the actual value is incremented by <oberon-var href='XML:Error#errMsgCharPosBase'>Error.errMsgCharPosBase</oberon-var>.</p>
            </oberon-doc>
            <type>
              <type-name module='Buffer' name='CharPos' href='XML:UnicodeBuffer#CharPos'/>
            </type>
          </field-decl>
          <field-decl name='line' id='Position.line' export='yes'>
            <oberon-doc>
              <summary>Line number of the character.</summary>
              <p pad-after='yes' no-indent='yes'>Line number of the character.  Counting begins at zero.  For a line number reported in an error message, the actual value is incremented by <oberon-var href='XML:Error#errMsgLineBase'>Error.errMsgLineBase</oberon-var>.</p>
            </oberon-doc>
            <type>
              <type-name module='Buffer' name='CharPos' href='XML:UnicodeBuffer#CharPos'/>
            </type>
          </field-decl>
          <field-decl name='column' id='Position.column' export='yes'>
            <oberon-doc>
              <summary>Column number of the character.</summary>
              <p pad-after='yes' no-indent='yes'>Column number of the character.  Counting begins at zero.  Currently, surrogate pairs are counted as two separate characters.  For a column number reported in an error message, the actual value is incremented by <oberon-var href='XML:Error#errMsgColumnBase'>Error.errMsgColumnBase</oberon-var>.</p>
            </oberon-doc>
            <type>
              <type-name module='Buffer' name='CharPos' href='XML:UnicodeBuffer#CharPos'/>
            </type>
          </field-decl>
          <field-decl name='entity' id='Position.entity' export='yes'>
            <oberon-doc>
              <summary>The current file entity (document entity, external DTD subset, or external entity).</summary>
              <p pad-after='yes' no-indent='yes'>The current file entity (document entity, external DTD subset, or external entity).  Using this reference, the public identifier, the system identifier, and the base URI can be determined.</p>
            </oberon-doc>
            <type>
              <type-name module='DTD' name='ExternalEntity' href='XML:DTD#ExternalEntity'/>
            </type>
          </field-decl>
          <field-decl name='inInternalEntity' id='Position.inInternalEntity' export='yes'>
            <oberon-doc>
              <summary>If the parsing is within the replacement text of an internal entity, this field refers to the innermost entity.</summary>
              <p pad-after='yes' no-indent='yes'>If the parsing is within the replacement text of an internal entity, this field refers to the innermost entity.  It is <code>NIL</code> as long as the parser is working on the top-most file level.</p>
            </oberon-doc>
            <type>
              <type-name module='DTD' name='InternalEntity' href='XML:DTD#InternalEntity'/>
            </type>
          </field-decl>
        </record>
      </type>
    </type-decl>
  </class>
  <class name='ErrorListener'>
    <type-decl name='ErrorListener' id='ErrorListener' export='yes'>
      <type>
        <pointer>
          <pointer-base>
            <type-name name='ErrorListenerDesc' href='#ErrorListenerDesc'/>
          </pointer-base>
        </pointer>
      </type>
    </type-decl>
    <type-decl name='ErrorListenerDesc' id='ErrorListenerDesc' export='yes'>
      <oberon-doc>
        <summary>Using the <oberon-type href='#ErrorListener'>ErrorListener</oberon-type> instance provided by the parser, builders and applications can add their own error messages to a document.</summary>
        <p pad-after='yes' no-indent='yes'>Using the <oberon-type href='#ErrorListener'>ErrorListener</oberon-type> instance provided by the parser, builders and applications can add their own error messages to a document.</p>
      </oberon-doc>
      <type>
        <record/>
      </type>
    </type-decl>
    <procedure name='Error' id='ErrorListenerDesc.Error' export='yes'>
      <oberon-doc>
        <summary>Adds a new error message to the parser error list.</summary>
        <p pad-after='yes' no-indent='yes'>Adds a new error message to the parser error list.  <oberon-param href='#ErrorListenerDesc.Error.context'>context</oberon-param> and <oberon-param href='#ErrorListenerDesc.Error.code'>code</oberon-param> determine the message text.  If <oberon-param href='#ErrorListenerDesc.Error.fatalError'>fatalError</oberon-param> is <code>TRUE</code>, then the parser should stop reporting any events to the application.  <oberon-param href='#ErrorListenerDesc.Error.pos'>pos</oberon-param> indicates the position of the error.  It should be taken from a locator.</p>
      </oberon-doc>
      <formal-parameters>
        <receiver-decl name='el' id='ErrorListenerDesc.Error.el' export='no' variable-parameter='no'>
          <type>
            <type-name name='ErrorListener' href='#ErrorListener'/>
          </type>
        </receiver-decl>
        <parameter-decl name='context' id='ErrorListenerDesc.Error.context' export='no' variable-parameter='no'>
          <type>
            <type-name module='Error' name='Context' href='XML:Error#Context'/>
          </type>
        </parameter-decl>
        <parameter-decl name='code' id='ErrorListenerDesc.Error.code' export='no' variable-parameter='no'>
          <type>
            <type-name module='Error' name='Code' href='XML:Error#Code'/>
          </type>
        </parameter-decl>
        <parameter-decl name='fatalError' id='ErrorListenerDesc.Error.fatalError' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='BOOLEAN'/>
          </type>
        </parameter-decl>
        <parameter-decl name='pos' id='ErrorListenerDesc.Error.pos' export='no' variable-parameter='no'>
          <type>
            <type-name name='Position' href='#Position'/>
          </type>
        </parameter-decl>
        <result-type>
          <type-name module='Error' name='Msg' href='XML:Error#Msg'/>
        </result-type>
      </formal-parameters>
    </procedure>
  </class>
  <module-ref name='XML:DTD'>
    <ref-target type='html' relative-uri='DTD.html'/>
  </module-ref>
  <module-ref name='XML:Error'>
    <ref-target type='html' relative-uri='Error.html'/>
  </module-ref>
  <module-ref name='XML:UnicodeBuffer'>
    <ref-target type='html' relative-uri='UnicodeBuffer.html'/>
  </module-ref>
</interface-description>
