XSD-yhdistelmätyhjä elementti

Tyhjät yhdistetyt elementit eivät voi sisältää sisältöä, vaan ne voivat sisältää vain ominaisuuksia.

Yhdistetty tyhjä elementti:

Tyhjä XML-elementti:

<product prodid="1345" />

Yllä oleva "product"-elementti ei sisällä sisältöä. Määrittääksemme tyhjän sisällön tyypin, meidän täytyy ilmoittaa tyyppi, joka voi sisältää vain elementtejä, mutta emme todellisuudessa määrittele minkäänlaisia elementtejä, kuten näin:

<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>

Yllä olevassa esimerkissä määriteltiin komponenttinen tyyppi, jolla komponenttinen sisältö -elementti antaa signaalin siitä, että aiot rajoittaa tai laajentaa jossain komponenttityypissä sisältömallia, ja integer-rajoitus ilmoittaa ominaisuudesta ilman elementtien sisältöä.

Kuitenkin, voidaan myös määritellä tätä "product"-elementtiä tiiviimmin:

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

Tai voit antaa nimen complexType-elementille ja asettaa "product"-elementille type-ominaisuuden ja viitata tähän complexType-nimeen (tällä tavalla useat elementit voivat viitata samaan yhdistelmätyyppiin):

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