Re: Agenda for XML Core WG telcon of 2009 April 22

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

Here's an attempt to explain my problem.

What is the implicit processing order as between validation and xml:id
processing?  Why didn't we talk about xml:id compliant validation,
since neither order actually makes sense?

This sentence from the intro seems to imply that:

  A mechanism allowing unique element identifiers to be recognized by
  all conformant XML processors, whether they validate or not, is
  desirable in making XML sub-resource linking robust.

This sentence from the intro seems to imply xml:id first:

  It has been a guiding principle in the design of this specification
  that the result of xml:id processing should be the same as if an
  appropriate declaration has been seen and used by the processor.

As does this:

  [Definition: An xml:id processor is a software module that works in
  conjunction with an XML processor to provide access to the IDs in an
  XML document.]

since at least W3C XML Schema validators depend on infoset input,
i.e. the _output_ of "an XML processor".

However the following appears to assume that xml:id comes _after_
validation:

  [Definition: The process of ID type assignment causes an xml:id
  attribute value to be an ID.] This is often achieved by making the
  type of the attribute "ID" in the infoset or post-schema-validation
  infoset (PSVI), but that is not the only possible mechanism.

since a PSVI only exists after validation.  Likewise references to
attributes having non-ID types imply xml:id comes after, well, at
least, type-assignment.

If the implicit ordering is validate, then xml:id-process, then isn't
the right change to D3 (and D2 _mutatis mutandis_) to be to say
something along the lines of

 "XML Schema authors are encouraged to declare attributes named xml:id
 with the type xs:ID. A document that uses xml:id attributes that have
 a declared type other than xs:ID will always generate xml:id errors
 vvvvvv----New Text----vvvvvv 
 when processed by an xml:id processor which has access to type
 assignment information."

If necessary, we could go on to add a 

 Note: Relax NG processors are not required to make type assignment
 information available.

ht
- -- 
       Henry S. Thompson, School of Informatics, University of Edinburgh
                         Half-time member of W3C Team
      10 Crichton Street, Edinburgh EH8 9AB, SCOTLAND -- (44) 131 650-4440
                Fax: (44) 131 651-1426, 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)

iD8DBQFJ7zL4kjnJixAXWBoRAn6RAJ9GwQ96Mbb0QmkaRWYnwbjY8MplZwCcCq6U
n3fewntHkA/8ic9aoq/9jgg=
=5uNy
-----END PGP SIGNATURE-----

Received on Wednesday, 22 April 2009 15:09:23 UTC