XSD Karışık Boş Öğeler

Boş karmaşık element içeriği içermeyebilir, sadece özellikler içerebilir.

Karmaşık boş element:

Boş bir XML elementi:

<product prodid="1345" />

Yukarıdaki "product" elementi hiçbir içeriğe sahip değil. Boş içeriğe sahip bir tür tanımlamak için, sadece element içeriği içerebilecek bir tür beyan etmek zorundayız, ancak aslında hiçbir element beyan etmeyeceğiz, örneğin şöyle:

<xs:element name="product">
  <xs:complexType>
    <xs:complexContent>
      <xs:restriction base="xs:integer">
        <xs:attribute name="prodid" type="xs:positiveInteger"/>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
</xs:element>

Yukarıdaki örnekte, karmaşık içeriğe sahip bir karmaşık tür tanımladık. "complexContent" elementi verdiği sinyal, bir karmaşık türün içeriğini sınırlamayı veya genişletmeyi planladığımızı, "integer" sınırlamasının ise bir özellik beyan ettiğini ancak hiçbir element içeriği eklemeyeceğini ifade eder.

Ancak, bu "product" elementini daha sıkı bir şekilde beyan etmek de mümkün:

<xs:element name="product">
  <xs:complexType>
    <xs:attribute name="prodid" type="xs:positiveInteger"/>
  </xs:complexType>
</xs:element>

veya bir complexType öğesine bir ad verebilir ve "product" öğesine bir type özelliği ayarlayarak bu complexType adını referans alabilirsiniz (bu yöntemle, birçok öğe aynı karışık türü referans alabilir):

<xs:element name="product" type="prodtype"/>
<xs:complexType name="prodtype">
  <xs:attribute name="prodid" type="xs:positiveInteger"/>
</xs:complexType>