Bug 4632 Use of IRIs

Here's a suggestion to resolve this bug.

Given the decision at Toronto F2F to require XML Schema 1.0 for SML 1.1 (i.e.,  XML Schema 1.0 must be supported, but implementations are not prevented from using XML Schema 1.1), it may be better to continue using URI as the interoperable reference scheme in SML IF since it aligns with the definition of xs:anyURI in XML Schema 1.0

3.2.17 anyURI

[Definition:]   anyURI represents a Uniform Resource Identifier Reference (URI). An anyURI value can be absolute or relative, and may have an optional fragment identifier (i.e., it may be a URI Reference). This type should be used to specify the intention that the value fulfills the role of a URI as defined by [RFC 2396]<http://www.w3.org/TR/xmlschema-2/#RFC2396>, as amended by [RFC 2732]<http://www.w3.org/TR/xmlschema-2/#RFC2732>.

The mapping from anyURI values to URIs is as defined by the URI reference escaping procedure defined in Section 5.4 Locator Attribute<http://www.w3.org/TR/2001/REC-xlink-20010627/#link-locators> of [XML Linking Language]<http://www.w3.org/TR/xmlschema-2/#XLink> (see also Section 8 Character Encoding in URI References<http://www.w3.org/TR/2001/WD-charmod-20010126/#sec-URIs> of [Character Model]<http://www.w3.org/TR/xmlschema-2/#CharMod>). This means that a wide range of internationalized resource identifiers can be specified when an anyURI is called for, and still be understood as URIs per [RFC 2396]<http://www.w3.org/TR/xmlschema-2/#RFC2396>, as amended by [RFC 2732]<http://www.w3.org/TR/xmlschema-2/#RFC2732>, where appropriate to identify resources.


The above approach allows SML and SML IF implementations to leverage the xs:anyURI support built into XML Schema 1.0 processors. Note that URI reference escaping mechanism allows internationalized resource identifiers to be specified as anyURI although the specification may not be as elegant as that for IRIs.

If the WG still wants to pursue IRIs, then we'll need to define a new datatype - say smlif:anyIRI - to capture the definition of xs:anyURI in XML Schema 1.1.

3.3.18 anyURI

[Definition:]   anyURI represents an Internationalized Resource Identifier Reference (IRI).  An anyURI value can be absolute or relative, and may have an optional fragment identifier (i.e., it may be an IRI Reference).  This type should be used when the value fulfills the role of an IRI, as defined in [RFC 3987]<http://www.w3.org/TR/xmlschema11-2/#RFC3987> or its successor(s) in the IETF Standards Track.
Note: IRIs may be used to locate resources or simply to identify them. In the case where they are used to locate resources using a URI, applications should use the mapping from anyURI values to URIs given by the URI reference escaping procedure defined in Section 3.1 Mapping of IRIs to URIs<http://www.ietf.org/rfc/rfc3987.txt> of [RFC 3987]<http://www.w3.org/TR/xmlschema11-2/#RFC3987> or its successor(s) in the IETF Standards Track.  This means that a wide range of internationalized resource identifiers can be specified when an anyURI is called for, and still be understood as URIs per [RFC 3986]<http://www.w3.org/TR/xmlschema11-2/#RFC3986> and its successor(s).


Most SML validators will need to add support for the above since the above definition is not supported by XML Schema 1.0 processors.


Thanks!
Pratul

Received on Tuesday, 4 September 2007 20:38:47 UTC