- From: <bugzilla@wiggum.w3.org>
- Date: Mon, 19 Feb 2007 17:33:14 +0000
- To: www-xml-schema-comments@w3.org
- CC:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=4337 Summary: Substitution group and abstract Product: XML Schema Version: 1.0/1.1 both Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: Structures: XSD Part 1 AssignedTo: cmsmcq@w3.org ReportedBy: sandygao@ca.ibm.com QAContact: www-xml-schema-comments@w3.org Can an abstract element declaration "substitute" another element declaration? The 2 substitution group related constraints give different answers. In the definition of "substitution group" [1], it's clear that abstract element declarations are excluded. But Substitution Group OK (Transitive) doesn't take abstractness into account. Many people consider substitution group as a choice over all members of the "substitution group" of the head. This is currently *not* true given the inconsistency between these constraints. Consider <element name="head" type="date"/> <element name="sub" substitutionGroup="head" abstract="true"/> ... <choice or sequence> <element ref="head"/> <element name="sub" type="int"/> </choice or sequence> It's not clear whether the above <choice> violates "Unique Particle Attribution", and it's not clear whether the <sequence> violates "Element Declaration Consistent". What's the rationale for [1] to exlcude abstract elements from substitution groups? Given the changes in how abstract is handled in schema 1.1 (moving more toward "matched but unfortunately abstract"), maybe [1] should be changed to include abstract elements? [1] http://www.w3.org/TR/xmlschema11-1/#key-eq [2] http://www.w3.org/TR/xmlschema11-1/#cos-equiv-derived-ok-rec
Received on Monday, 19 February 2007 17:33:21 UTC