* DOM Module: URI Generic [1] The [DFN@en[URI Generic Module]] provides a number of interfaces to extract components of URIs. [2] '''Feature'''. @@ , version 4.0 ** The [CODE(DOMi)@en[URIImplementation]] interface [3] The [DFN@en[[CODE(DOMi)@en[[[URIImplementation]]]] interface]] provides factory methods to create [CODE(DOMi)@en[[[URIReference]]]] objects. [4] @@ cast [5] The [DFN@en[[CODE(DOMm)@en[[[createURIReference]]]] method]] returns a [CODE(DOMi)@en[[[URIReference]]]] object. It creates a [CODE(DOMi)@en[[[URIReference]]]] object with specified [[DOM URI]]. This method takes a parameter [CODE(DOMp)@en[[[uri]]]], of [CODE(DOMi)@en[[[DOMString]]]], which is the [[DOM URI]] of the created object. [6] The method [['''MUST''']] return a new [CODE(DOMi)@en[[[URIReference]]]] object whose [CODE(DOMa)@en[[[uriReference]]]] attribute is set to [CODE(DOMp)@en[[[uri]]]]. [7] In Perl binding, the following value [['''MUST''']] be set to the [CODE(DOMa)@en[[[uriReference]]]] attribute of the returned object: [PRE(code perl)[ UNIVERSAL::isa ($uri, 'Message::IF::URIReference') ? $uri->uri_reference : ref $uri eq 'SCALAR' ? [SPAN[']][SPAN[']].$$uri : [SPAN[']][SPAN[']].$uri ]PRE] ... where [CODE(perl)@en[$[[uri]]]] is the value of the [CODE(DOMp)@en[[[uri]]]] parameter. * The [CODE(DOMi)@en[URIReference]] interface See [CODE(DOMi)@en[[[URIReference]]]] * memo