W3C home > Mailing lists > Public > www-xml-linking-comments@w3.org > January to March 2007

Re: XML Base and "valid XML Resource Identifiers"

From: Henry Zongaro <zongaro@ca.ibm.com>
Date: Mon, 26 Mar 2007 15:18:46 -0400
To: www-xml-linking-comments@w3.org
Message-ID: <OFE51C9A24.18CB7DFE-ON852572AA.0067A587-852572AA.006A1618@ca.ibm.com>
Hello.

Sorry for picking up on this so late, but

On Wed, 7 Feb 2007 14:16:47 +0000 (GMT) Richard Tobin wrote in [1]:
> Regarding your example xml:base="{@xyz}", I don't see anything wrong
> with it.  If the previous base URI was http://example.com/foo, The new
> base URI will be http://example.com/%7B@foo%7D, which SHOULD (section
> 3.1) be returned by XML Base processors as http://example.com/{@foo}.


I was looking at the same test case as Michael Kay for the same reason, 
and I ended up reaching a different conclusion regarding the example than 
the one Richard reached.

The first paragraph of section 5.4.1 of the CR draft of XLink 1.1[2] says, 
"To convert an XML resource identifier to an IRI reference, the following 
characters must be escaped...  the unwise characters “{“ #x7B, “}” ...." 
The last paragraph of that section says,

    If required, an IRI reference can be converted to a URI
    reference by following the prescriptions of Section 3.1
    of [RFC 3987]. This conversion must be performed only when
    absolutely necessary and as late as possible in a processing
    chain. In particular, neither the process of converting a
    relative IRI to an absolute one nor the process of passing
    a IRI reference to a process or software component
    responsible for dereferencing it should trigger escaping.

This later paragraph seems to recommend only that the conversion of an IRI 
to a URI happen as late as possible, not the conversion of an XRI to an 
IRI.  Reading between the lines, I took it that the working group intended 
that resolving a relative URI happen on the IRI rather than the original 
XRI.

So, where section 3.1 of the PER of XML Base 2e [3] says

    In accordance with the principle that this percent-encoding
    must occur as late as possible in the processing chain,
    applications which provide access to the base URI of an
    element should calculate and return the value without
    escaping

I assumed the principle of late-encoding referred to was the principle of 
late-encoding of an IRI to a URI, rather than late encoding of an XRI to 
an IRI and then to an IRI, and so a processor conforming to XML Base 2e 
should return http://example.com/%7B@foo%7D, just as a processor 
conforming to the first edition of XML Base would.

If that was not the intent, I think section 5.4.1 of XLink 1.1 needs to be 
clarified.

Thanks,

Henry
[1] 
http://lists.w3.org/Archives/Public/www-xml-linking-comments/2007JanMar/0003.html

[2] http://www.w3.org/TR/2006/CR-xlink11-20060328/#xml-resource-identifier

[3] http://www.w3.org/TR/2006/PER-xmlbase-20061220/#escaping

------------------------------------------------------------------
Henry Zongaro      XSLT Processors Development
IBM SWS Toronto Lab   T/L 969-6044;  Phone +1 905 413-6044
mailto:zongaro@ca.ibm.com
Received on Monday, 26 March 2007 19:19:07 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 27 October 2009 08:39:46 GMT