(Discussion started on atom-syntax, but this is a more general RELAX NG issue, so cross-posting to rng-users.)

On Mar 19, 2006, at 09:33, Martin Duerst wrote:

At 18:49 06/03/17, Bjoern Hoehrmann wrote:
>
>* Martin Duerst wrote:
>>When looking with a microscope, you will find some little
>>differences, because xs:anyURI was described before the IRI
>>spec (RFC 3987) was approved. These differences are:
>>
>>1) xs:aryURI also allows spaces and a few other ASCII characters
>>    that are not allowed in URIs nor in IRIs (but the IRI spec has
>>    an escape hatch for such cases).
>>2) The IRI spec contains many more details than the xs:anyURI
>>    description, in particular also some requirements re.
>>    normalization. However, some of the requirements in this
>>    area of the IRI spec may be lowered or removed in the future
>>    because we have received feedback from implementers that
>>    there are difficulties to implement these.
>
>I agree with Martin that it would be incorrect to use xsd:anyURI here.

Sorry, but I never said that it would be incorrect to use
xsd:anyURI. I personally think that it should be okay to
use xsd:anyURI. The differences are microscopic, and they should
become even smaller, or hopefully go away completely, over time.

I need datatypes for IRIs in general (relative, absolute or just fragment identifiers) and for absolute IRIs (possibly with a fragment id) in a RELAX NG schema.

Is it really the best practice to use xsd:anyURI and sweep the discrepancies under the rug in the hope that future definitions of xsd:anyURI change the meaning of the schema later? Can xsd:anyURI be augmented with a regexp pattern to restrict "spaces and a few other ASCII characters" in such a way that the resulting datatype restriction matches the definition of IRI? Has anyone implemented a strictly correct IRI datatype in a Java datatype library (for Jing and MSV)?

--
Henri Sivonen
[EMAIL PROTECTED]
http://hsivonen.iki.fi/


Reply via email to