# URI:Parser

### Import List

        Exception
        Exception
        Object
        Object
        URI

Procedure Summary
NewReference(String8, HierarchicalURI, Fragment): Reference
NewReferenceLatin1(ARRAY OF CHAR, HierarchicalURI, Fragment): Reference Like NewURI, but parses a URI reference in str.
NewURI(String8, HierarchicalURI): URI
NewURILatin1(ARRAY OF CHAR, HierarchicalURI): URI Parses the string in str and creates a new URI object.

Procedure Detail

### NewReference

    PROCEDURE NewReference(str: String8;
                           baseURI: HierarchicalURI;
                           fragmentPrototype: Fragment): Reference
      RAISES ParseError;

### NewReferenceLatin1

    PROCEDURE NewReferenceLatin1(str: ARRAY OF CHAR;
                                 baseURI: HierarchicalURI;
                                 fragmentPrototype: Fragment): Reference
      RAISES ParseError;

> Like NewURI, but parses a URI reference in str. The instance fragmentPrototype 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 URI.Fragment prototype, to which the parser delegates analysis of the fragment identifier.

### NewURI

    PROCEDURE NewURI(str: String8;
                     baseURI: HierarchicalURI): URI
      RAISES ParseError;

### NewURILatin1

    PROCEDURE NewURILatin1(str: ARRAY OF CHAR;
                           baseURI: HierarchicalURI): URI
      RAISES ParseError;

> Parses the string in str and creates a new URI object. If the string is a relative URI, the URI is made absolute in relation to baseURI. It is an error, if a relative URI string is given and baseURI is NIL.