RE: [w3c sml] [4632] Use of IRIs

I don't understand Sandy's point as phrased in Kumar's email. First, the SML spec today defines the behavior of an SML validator (aka validating consumer).  Second the URI schema is just one possible reference scheme - its use is not required by the SML spec (SML IF does require the sml:uri). Third, if we chose some other mechanism for defining sml:uri (say  by referencing some RFCs or inventing our own definition), a non-validating consumer who wants to understand sml:uri will need to implement the new definition.  Therefore, why can it not use the definition of xs:anyURI as defined in the schema spec.

Finally, what is the basis of the argument that a non-validating consumer "does not use a schema validator"?  The discussions we have had so far on non-validating consumer are that such a consumer does not perform SML model validation which does not preclude the use of a schema validator by non-validating consumers.

Sandy - please reply all if you still have concerns about Kumar's proposal.  Let's try to reach consensus on this issue in email as soon as possible.


From: Kumar Pandit
Sent: Thursday, September 13, 2007 6:54 PM
To: Pratul Dublish; 'public-sml@w3.org'; cmsmcq@w3.org; sandygao@ca.ibm.com
Cc: Kumar Pandit
Subject: RE: [w3c sml] [4632] Use of IRIs

Sandy,
You raised an interesting question about this proposal during our conf call today. Please amend it if I phrased it incorrectly.

                "If we base the definition of sml:uri solely on xml schema spec, what should a non-validating consumer do since it does not use a schema validator?"

This question is not restricted to the IRI issue. It is a question related to the scope of the SML specification. Currently, the specification only discusses issues that a validating consumer must deal with. No other part of the specification defines what a non-validating consumer must or must not do.

I propose that we open a separate bug "The scope of SML specification should be widened to define behavior of non-validating consumers". If the WG agrees with this, we can then go over the entire specification and the open issues to identify all places where we will need to define terms and behaviors without using any reference to the xml schema specification. We can then open a separate bug for each identified issue (including whether sml:uri should be defined without referring to xml schema). This way we can deal with this question in its entirety rather than in isolated parts.

Please let us know if you disagree with the rest of the proposal and/or with the above.

Michael,
Thanks for sharing your perspective on this. I ok with the technical issue you raised since I can let the schema processor provide support for anyURI in xml schema 1.0 rather than my own implementation having to provide it. Nonetheless, I am glad that you support this proposal. Thank you.

Others,
Please share your thoughts if you disagree. The sooner we can reach consensus, the more time it will give editors to work on the spec updates.


From: Kumar Pandit
Sent: Friday, September 07, 2007 7:07 PM
To: Pratul Dublish; public-sml@w3.org
Cc: Kumar Pandit
Subject: RE: [w3c sml] [4632] Use of IRIs

Here is my proposal for this issue.

Proposal:
I propose that we should not refer to any specific URI/IRI RFC in the SML and SML-IF specs. Instead, we should let the definition of sml:uri be governed by the definition of xs:anyURI type defined in the schema version we align to.

Reasons:

1.    sml:uri is of type xs:anyURI as currently defined in the SML schema. This type supports encoding international characters using a well defined escaping scheme (http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/datatypes.html#anyURI). SML instance documents can of course have internationalized content. Thus internationalization is possible without any change to the spec as it is defined today.

2.    We have decided to align SML 1.1 spec with XML schema 1.0 which is aligned with URIs (RFC2396/2732).

3.    Most XML schema 1.0 processor implementations do not support IRIs. This means that SML implementations that use an off-the-shelf schema 1.0 processor will need to provide additional implementation to support IRIs. Implementing RFC 3987 (46 pages long) is non-trivial amount of work. This is an unnecessary implementation burden given that internationalization is already possible as described in #1.

4.    If we decide to align SML spec with XML schema 1.1 in a future release, we will automatically get IRI functionality as schema 1.1 is aligned with the IRI RFCs.

5.    The SML spec does not put any restrictions on additional reference schemes that can be defined. If an application does not wish to use the internationalization support already provided by sml:uri (xs:anyURI) for reasons specific to its domain, it is free to define additional scheme(s) to meet its needs without violating the SML 1.1 specification.




From: public-sml-request@w3.org [mailto:public-sml-request@w3.org] On Behalf Of Pratul Dublish
Sent: Thursday, September 06, 2007 9:11 PM
To: public-sml@w3.org
Subject: RE: [w3c sml] [4632] Use of IRIs

Sorry, I meant to address this to Philippe and Kumar

From: public-sml-request@w3.org [mailto:public-sml-request@w3.org] On Behalf Of Pratul Dublish
Sent: Thursday, September 06, 2007 8:47 PM
To: public-sml@w3.org
Subject: [w3c sml] [4632] Use of IRIs

Phil and Kumar
I am reluctant  to offer my suggestion as a proposal for resolving this bug since I know that both of you are very passionate about the IRI/URI issue. It will be great if one of you can make a proposal that we can use to instigate consensus on this bug.
Thanks!
Pratul

From: Pratul Dublish
Sent: Tuesday, September 04, 2007 1:38 PM
To: 'public-sml@w3.org'
Subject: 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 Monday, 17 September 2007 05:54:52 UTC