W3C home > Mailing lists > Public > public-xml-core-wg@w3.org > March 2006

Re: Appling inheritance rule to xml:base, was Re: FINAL minutes for the XML

From: Henry S. Thompson <ht@inf.ed.ac.uk>
Date: Wed, 15 Mar 2006 16:33:12 +0000
To: daniel@veillard.com
Cc: John Boyer <boyerj@ca.ibm.com>, public-xml-core-wg@w3.org
Message-ID: <f5bmzfrvfav.fsf@erasmus.inf.ed.ac.uk>

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Daniel Veillard writes:

>   Hum, assume you don't have a fixed base on a, then you force generating
> a base depending on the document base,, which mean suddenly canonicalization
> of a document depends on how you retrieved it (e.g. a file access would 
> end up with file:///localpath/test/test while from a web access you would
> get http://example.org/test/test , I don't think it's acceptable either.
>
>> Can't we come up with a way to get this effect?
>
>   I definitely prefer a solution leading to false negative i.e. we fail to
> canonicalize in the same way, than a situation leading to false positive
> where the canonicalization result in a broken result.
>   We already discussed in the past especially with Richard generating
> relative xml:base when possible, maybe we need to formalize this and 
> put it as the algorithm to compute the canonicalized result.

So we have been discussing this on the call today, and the straw man
reads, roughly:

   Use the name *EII* for an element information item to be
   canonicalized, and *EIIC* for the element information item
   corresponding to *EII* in the result of parsing the canonical
   serialization of the node-set containing *EII*.
 
   Synthesize an xml:base attribute for *EII* iff the *EIIC*'s [base
   URI] would otherwise be different from *EII*'s [base URI]."

   If the only absolute URI involved in the calculation of [base URI]
   for an element is the document [base URI], then when you need to
   output an xml:base based on an element's [base URI], relativize wrt
   the document base.

So for example, given

<a>
  <b xml:base="test">
     <c xml:base="test"/>
  </b>
</a> 

with the 'b' being clipped out, we get

<a>
  <c xml:base="test/test"/>
</a> 

This leaves only the case where the document [base URI] is not known.
Will this work to avoid a negative impact of '../../...'?:

  In the absence of a document [base URI], assume one of the form
    "file:/a/a/a/"
  with more 'a' steps then the total number of '..' steps in all the
  xml:base in the document

ht
- -- 
 Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh
                     Half-time member of W3C Team
    2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440
            Fax: (44) 131 650-4587, e-mail: ht@inf.ed.ac.uk
                   URL: http://www.ltg.ed.ac.uk/~ht/
[mail really from me _always_ has this .sig -- mail without it is forged spam]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (GNU/Linux)

iD8DBQFEGEHIkjnJixAXWBoRAr6+AJ45C2Ao6/TM3PqbiUlKLp1nD68McQCfTZ7j
+BivGvGIpH/O8dAWpbNtycc=
=4uU/
-----END PGP SIGNATURE-----
Received on Wednesday, 15 March 2006 16:33:43 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 8 January 2008 14:21:33 GMT