- From: <bugzilla@wiggum.w3.org>
- Date: Thu, 15 Mar 2007 17:29:33 +0000
- To: www-xml-schema-comments@w3.org
- CC:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=4395 Summary: QName lexical mapping - where do the ns bindings come from? Product: XML Schema Version: 1.1 only Platform: Macintosh OS/Version: All Status: NEW Severity: normal Priority: P2 Component: Datatypes: XSD Part 2 AssignedTo: cmsmcq@w3.org ReportedBy: cmsmcq@w3.org QAContact: www-xml-schema-comments@w3.org The discussion of the QName datatype currently lacks any formal discussion of its lexical mapping; we abandoned that as a requirement when we went to Last Call (bug 1904). I would like to avoid reopening bug 1904, since it's still not clear to me how best to treat context dependencies like those governing namespace bindings, in the context of our formal definitions of lexical mappings. But in practice, it's clear that the mapping for a particular QName depends both on (a) the namespace bindings in scope where it occurs and on (b) whether unqualified names are bound to the default namespace (as specified in the Namespaces spec for element names) or not (as specified for attribute names). We have made clear that in interpreting schema documents, attributes of type QName are interpreted using the [in scope namespaces] of the schema document's infoset, and using a mapping which is default-sensitive. (Actually, the question comes up from time to time, so perhaps we didn't make it clear enough. But that's a separate issue, for Structures, not for Datatypes.) But we have not said, for the QName type in general, some things that I think we really ought to say explicitly. The spec should either specify where the namespace bindings come from, or specify that users of the type really need to say which bindings are used. Perhaps we will want to say that when QNames appear in XML, the bindings come from the XML document, and if they are used elsewhere, the specifier of the context needs to say where the bindings come from. (Tricky wording needed here, to handle XPointers appearing in XML documents.) We should also either specify explicitly that the QName type always follows the element-name discipline, or say that the user has some ability to specify the alternative attribute-name discipline, for unqualified names. If the element-name discipline is assumed, then it may be worthwhile to add a note that users can get the effect of the attribute-name discipline by using a union of xsd:NCName and xsd:QName and defining the interpretation rules for NCNames appropriately. Having thought about this now for the time it has taken to draft this issue description, I now realize we could draft a formal treatment of the effective lexical mapping as a ternary function which takes the lexical representation, a set of namespace bindings, and an attribute-discipline-or-element-discipline flag. That at least allows us to make explicit that the ns-bindings and discipline arguments depend on some context outside the scope of XSD. some context
Received on Thursday, 15 March 2007 17:30:35 UTC