[XML Schema 1.1] What does ##defined and ##definedSibling mean?

Hi Folks,

I am not able to understand what the specification is saying about ##defined and ##definedSibling.

Would someone tell me what they mean please?


Here I use ##defined. What does it mean:

   <xs:element name="Book" maxOccurs="unbounded">
      <xs:complexType>
         <xs:all>
            <xs:any notQName="##defined"/>
            <xs:element name="Author" type="xs:string"/>
            <xs:element name="Title" type="xs:string"/>
            <xs:element name="Date" type="xs:string"/>
            <xs:element name="ISBN" type="xs:string"/>
            <xs:element name="Publisher" type="xs:string"/>
         </xs:all>
      </xs:complexType>
   </xs:element>


Here I use ##definedSibling. What does it mean:

   <xs:element name="Book" maxOccurs="unbounded">
      <xs:complexType>
         <xs:all>
            <xs:any notQName="##definedSibling"/>
            <xs:element name="Author" type="xs:string"/>
            <xs:element name="Title" type="xs:string"/>
            <xs:element name="Date" type="xs:string"/>
            <xs:element name="ISBN" type="xs:string"/>
            <xs:element name="Publisher" type="xs:string"/>
         </xs:all>
      </xs:complexType>
   </xs:element>

/Roger

Received on Thursday, 14 May 2009 17:24:00 UTC