<?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='URI:Parser' id=''>
  <import-decl name='Object' id='Object' export='no' module='Object'/>
  <import-decl name='Exception' id='Exception' export='no' module='Exception'/>
  <import-decl name='URI' id='URI' export='no' module='URI'/>
  <procedure name='NewURILatin1' id='NewURILatin1' export='yes'>
    <oberon-doc>
      <summary>Parses the string in <oberon-param href='#NewURILatin1.str'>str</oberon-param> and creates a new URI object.</summary>
      <p pad-after='yes' no-indent='yes'>Parses the string in <oberon-param href='#NewURILatin1.str'>str</oberon-param> and creates a new URI object.  If the string is a relative URI, the URI is made absolute in relation to <oberon-param href='#NewURILatin1.baseURI'>baseURI</oberon-param>.  It is an error, if a relative URI string is given and <oberon-param href='#NewURILatin1.baseURI'>baseURI</oberon-param> is <code>NIL</code>.</p>
    </oberon-doc>
    <formal-parameters>
      <parameter-decl name='str' id='NewURILatin1.str' export='no' variable-parameter='no'>
        <type>
          <array>
            <element-type>
              <type-name module='#predef' name='CHAR'/>
            </element-type>
          </array>
        </type>
      </parameter-decl>
      <parameter-decl name='baseURI' id='NewURILatin1.baseURI' export='no' variable-parameter='no'>
        <type>
          <type-name module='URI' name='HierarchicalURI' href='URI#HierarchicalURI'/>
        </type>
      </parameter-decl>
      <result-type>
        <type-name module='URI' name='URI' href='URI#URI'/>
      </result-type>
      <exceptions>
        <type-name module='Exception' name='ParseError' href='Exception#ParseError'/>
      </exceptions>
    </formal-parameters>
  </procedure>
  <procedure name='NewURI' id='NewURI' export='yes'>
    <formal-parameters>
      <parameter-decl name='str' id='NewURI.str' export='no' variable-parameter='no'>
        <type>
          <type-name module='Object' name='String8' href='Object#String8'/>
        </type>
      </parameter-decl>
      <parameter-decl name='baseURI' id='NewURI.baseURI' export='no' variable-parameter='no'>
        <type>
          <type-name module='URI' name='HierarchicalURI' href='URI#HierarchicalURI'/>
        </type>
      </parameter-decl>
      <result-type>
        <type-name module='URI' name='URI' href='URI#URI'/>
      </result-type>
      <exceptions>
        <type-name module='Exception' name='ParseError' href='Exception#ParseError'/>
      </exceptions>
    </formal-parameters>
  </procedure>
  <procedure name='NewReferenceLatin1' id='NewReferenceLatin1' export='yes'>
    <oberon-doc>
      <summary>Like <oberon-proc href='#NewURI'>NewURI</oberon-proc>, but parses a URI reference in <oberon-param href='#NewReferenceLatin1.str'>str</oberon-param>.</summary>
      <p pad-after='yes' no-indent='yes'>Like <oberon-proc href='#NewURI'>NewURI</oberon-proc>, but parses a URI reference in <oberon-param href='#NewReferenceLatin1.str'>str</oberon-param>.  The instance <oberon-param href='#NewReferenceLatin1.fragmentPrototype'>fragmentPrototype</oberon-param> is used to parse the fragment identifier of the URI.  The format of the fragment identifier is not related to the URI.  The application must know what to expect, and provide a matching <oberon-type href='URI#Fragment'>URI.Fragment</oberon-type> prototype, to which the parser delegates analysis of the fragment identifier.</p>
    </oberon-doc>
    <formal-parameters>
      <parameter-decl name='str' id='NewReferenceLatin1.str' export='no' variable-parameter='no'>
        <type>
          <array>
            <element-type>
              <type-name module='#predef' name='CHAR'/>
            </element-type>
          </array>
        </type>
      </parameter-decl>
      <parameter-decl name='baseURI' id='NewReferenceLatin1.baseURI' export='no' variable-parameter='no'>
        <type>
          <type-name module='URI' name='HierarchicalURI' href='URI#HierarchicalURI'/>
        </type>
      </parameter-decl>
      <parameter-decl name='fragmentPrototype' id='NewReferenceLatin1.fragmentPrototype' export='no' variable-parameter='no'>
        <type>
          <type-name module='URI' name='Fragment' href='URI#Fragment'/>
        </type>
      </parameter-decl>
      <result-type>
        <type-name module='URI' name='Reference' href='URI#Reference'/>
      </result-type>
      <exceptions>
        <type-name module='Exception' name='ParseError' href='Exception#ParseError'/>
      </exceptions>
    </formal-parameters>
  </procedure>
  <procedure name='NewReference' id='NewReference' export='yes'>
    <formal-parameters>
      <parameter-decl name='str' id='NewReference.str' export='no' variable-parameter='no'>
        <type>
          <type-name module='Object' name='String8' href='Object#String8'/>
        </type>
      </parameter-decl>
      <parameter-decl name='baseURI' id='NewReference.baseURI' export='no' variable-parameter='no'>
        <type>
          <type-name module='URI' name='HierarchicalURI' href='URI#HierarchicalURI'/>
        </type>
      </parameter-decl>
      <parameter-decl name='fragmentPrototype' id='NewReference.fragmentPrototype' export='no' variable-parameter='no'>
        <type>
          <type-name module='URI' name='Fragment' href='URI#Fragment'/>
        </type>
      </parameter-decl>
      <result-type>
        <type-name module='URI' name='Reference' href='URI#Reference'/>
      </result-type>
      <exceptions>
        <type-name module='Exception' name='ParseError' href='Exception#ParseError'/>
      </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'/>
  <module-ref name='URI'>
    <ref-target type='html' relative-uri='../URI.html'/>
  </module-ref>
  <module-ref name='Exception'>
    <ref-target type='html' relative-uri='../Exception.html'/>
  </module-ref>
  <module-ref name='Object'>
    <ref-target type='html' relative-uri='../Object.html'/>
  </module-ref>
</interface-description>
