- From: <bugzilla@jessica.w3.org>
- Date: Wed, 05 May 2010 11:07:46 +0000
- To: www-xml-schema-comments@w3.org
http://www.w3.org/Bugs/Public/show_bug.cgi?id=9661 Summary: Ambiguity: overriding components that don't exist Product: XML Schema Version: 1.1 only Platform: PC OS/Version: Windows NT Status: NEW Severity: normal Priority: P2 Component: Structures: XSD Part 1 AssignedTo: David_E3@VERIFONE.com ReportedBy: mike@saxonica.com QAContact: www-xml-schema-comments@w3.org CC: cmsmcq@blackmesatech.com Section 4.2.5 contains in a Note the sentence "Source declarations not present in the target set of E cannot be overridden". A casual reader might interpret this as saying that it's an error to have an element declaration with name="N" as a child of xs:override if there is no element declaration in the "target set" (that is, the schema being overridden) with name "N". In fact, careful reading of the override transformation shows that this is not the case. So what exactly is it saying? It's presumably saying something about source declarations that actually exist but are not part of the target set. If those source declarations are in the wrong namespace, then it's a fact that you can't override them, because there is no mechanism to refer to them. Perhaps it's just pointing out that fact. But can there be source declarations in the right namespace that are not part of the target set? It seems there can: for example if A includes both B and C, and C overrides D, then a declaration in C/xs:override will conflict with a like-named declaration in B, rather than overriding it (xs:override, unlike xs:redefine, is not pervasive). It might be helpful to rephrase the sentence along the lines: "If there is no source declaration in the target set that matches a declaration E appearing as a child of xs:override, then E is processed exactly as if it appeared directly as a child of xs:schema. In consequence, E can conflict with like-named declarations contained in schema documents that are not part of the target set." It might also be helpful to point out that a complex type declaration cannot override a simple type declaration, or vice versa, even though they share the same symbol space. At the moment, I think you have to read the XSLT code to discover this. -- Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug.
Received on Wednesday, 5 May 2010 11:07:47 UTC