RE: ISSUE-104: ComplexTypeChoiceExtension

Too many choices..... The actual base class was a sequence of course: 

<xs:complexType name="ComplexTypeChoiceBase"> 

<xs:sequence> 

<xs:element name="name" type="xs:string"/> 

</xs:sequence> <

/xs:complexType>


________________________________

From: public-xsd-databinding-request@w3.org on behalf of Databinding Issue Tracker
Sent: Fri 03/08/2007 14:27
To: public-xsd-databinding@w3.org
Subject: ISSUE-104: ComplexTypeChoiceExtension





ISSUE-104: ComplexTypeChoiceExtension

http://www.w3.org/2005/06/tracker/databinding/issues/104

Raised by: Jonathan Calladine
On product: Advanced

Our schemas in the wild trawl has thrown up some examples of this advanced
pattern:

  <xs:element name="complexTypeChoiceExtension"
type="ex:ComplexTypeChoiceExtension"/>

  <xs:complexType name="ComplexTypeChoiceBase">
            <xs:choice>
               <xs:element name="name" type="xs:string"/>
            </xs:choice>
         </xs:complexType>

  <xs:complexType name="ComplexTypeChoiceExtension">
            <xs:complexContent>
               <xs:extension base="ex:ComplexTypeChoiceBase">
                  <xs:choice>
                     <xs:element name="surname1" type="xs:string"/>
                     <xs:element name="surname2" type="xs:string"/>
                     <xs:element name="surname3" type="xs:string"/>
                  </xs:choice>
               </xs:extension>
            </xs:complexContent>
         </xs:complexType>


xpath 2.0 Detection Pattern

.//xs:complexType/xs:complexContent[xs:extension[@base]/xs:choice]/
                (., xs:extension/
                (., @base, xs:choice/(., xs:element/(., @name))))

Instance doc

  <ex:complexTypeChoiceExtension>
            <ex:name>Jon</ex:name>
            <ex:surname1>Calladine</ex:description>
  </ex:complexTypeSequenceExtension>

Received on Friday, 3 August 2007 14:04:10 UTC