- From: Jonathan Marsh <jmarsh@microsoft.com>
- Date: Fri, 13 Jun 2003 14:42:19 -0700
- To: <www-tag@w3.org>
I notice that an option seems to be missing from Chris Lilley's draft TAG finding on IDs in XML [1]. This option was first presented in a message sent to the TAG list back in Feb [2]. The option described there is similar to the option "Require W3C XML Schema validation of all instances" but that option does not distinguish minimally conforming schema processors as a much lighter-weight process than full schema validation. To make this option concrete, I'll give some sample text as I would explain it. The following would augment and replace the section "Require W3C XML Schema validation of all instances". ------------------------------------------------------------------- Require W3C XML Schema validation of all instances A fully validating XML processor will, almost as a side effect, result in all attributes of type ID being so noted in the Post Schema Validation Infoset. This solution does get around the need for a DTD. It also uses an existing mechanism that is starting to see deployment. However, full schema validation is a somewhat heavyweight solution just to get IDs and is thus unlikely to see significant uptake in areas such as mobile devices, or xml messaging. It thus risks further severing those application areas from the 'desktop Web'. Essentially, precisely those areas that are looking for IDnness without DTDs are the ones least likely to find full Schema validation an acceptable solution. Note: Is it true that Schema processing is always validation as well? XML Schema also provides for a "Minimally conformant Schema processor" which might provide a lightweight option. Such a schema processor need not accept arbitrary schemas as input, instead it may be hardwired to apply a single schema such as this one: <xs:schema targetNamespace=http://www.w3.org/XML/1998/namespace xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:attribute name="id" type="xs:ID"/> </xs:schema> An application applying this mechanism would likely be indistinguishable in its effects from an application just looking for xml:id attributes and applying IDness to them. To enable applications to share a "built-in schema" such as this one, a common (standard) spelling for the ID attribute is necessary. xml:id is one way to spell this attribute. An advantage of this approach is that it does not conflict with existing validation-based ID detection. If a DTD is present, the application may recognize IDs declared therein, and the author of the DTD should control whether ID attributes are spelled "xml:id" or some other way. If a Schema is present, the application need not apply the built-in xml:id schema, and the author of the Schema can control whether ID attributes are spelled "xml:id" or some other way. Since the ID-consuming application is responsible for applying the xml:id schema when no other validation mechanism exists, a new version of XML is unncessary. The option, in sum, unreserves the xml:id attribute name, while encouraging DTD and Schema authors to use this spelling in their schemas, and encouraging applications to apply a minimal built-in schema when full validation is not performed. ------------------------------------------------------------------- I have been promoting this option in the XML Core WG, which has expressed a desire to base its discussions on the options presented in the TAG finding. Adding this option (whether or not it eventually passes muster) would benefit this discussion. I hope we can add something along this line to the next draft of the finding. Thanks, - Jonathan [1] http://www.w3.org/2001/tag/doc/xmlIDsemantics-32.html [2] http://lists.w3.org/Archives/Public/www-tag/2003Feb/0087.html
Received on Friday, 13 June 2003 17:42:32 UTC