- From: David Bau <david.bau@bea.com>
- Date: Wed, 29 Oct 2003 10:44:35 -0500
- To: <www-xml-schema-comments@w3.org>
Hello all, a question about the Element Declarations Consistent rule. The Element Declarations Consistent rule for model groups (http://www.w3.org/TR/xmlschema-1/#cos-element-consistent) rules out inconsistent element declarations like the following two conflicting definitions of element <a>, i.e., <a> cannot be both an "int" and a "string" in the same group: (example-1) <xs:complexType name="example-1"> <xs:sequence> <xs:element name="a" type="xs:int"/> <xs:element name="whatever"/> <xs:element name="a" type="xs:string"/> </xs:sequence> </xs:complexType> In addition to explicit element declarations, the rule also prevents conflicts between elements that appear "either directly, indirectly, or implicitly", i.e., between nested model groups or elements permitted via substitution groups. My question: consider the following "tricky" indirect case involving a wildcard referencing a global element - (example-2) <xs:element name="a" type="xs:string"/> <xs:complexType name="example-2"> <xs:sequence> <xs:element name="a" type="xs:int"/> <xs:element name="whatever"/> <xs:any namespace="##targetNamespace" processContents="lax"/> </xs:sequence> </xs:complexType> Clearly the local <a> and the indirect reference to the global <a> are "inconsistent" with each other within the content model of example-2, but I'm not sure if the "directly, indirectly, or implicitly" language in the ETC rule captures this case. Is there a hole in the EDC rule language with respect to example-2? Is this something that could be clarified in an errata? Thank you for any help! David Bau
Received on Wednesday, 29 October 2003 10:45:27 UTC