XSD monimutkainen tyyppi - pelkkää tekstiä

Pelkkää tekstiä sisältävä monimutkainen elementti voi sisältää tekstiä ja ominaisuuksia.

Pelkkää tekstiä sisältävä monimutkainen elementti

Tämä tyyppi sisältää vain yksinkertaista sisältöä (tekstiä ja ominaisuuksia), joten meidän täytyy lisätä siihen simpleContent-elementti. Kun käytämme yksinkertaista sisältöä, meidän täytyy määritellä laajennus tai rajoitus simpleContent-elementissä, kuten näin:

<xs:element name="jokin nimi">
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="basetype">
        ....
        ....
      </xs:extension>     
    </xs:simpleContent>
  </xs:complexType>
</xs:element>

tai:

<xs:element name="jokin nimi">
  <xs:complexType>
    <xs:simpleContent>
      <xs:restriction base="basetype">
        ....
        ....
      </xs:restriction>     
    </xs:simpleContent>
  </xs:complexType>
</xs:element>

Vinkki:Käytä extension- tai restriction-elementtiä laajentaaksesi tai rajoittaaksesi elementin perustyyppiä.

Tässä on esimerkki XML-elementistä, "shoesize", joka sisältää vain tekstin:

<shoesize country="france">35</shoesize>

Tässä on esimerkki monimutkaisesta tyypistä, jonka sisältö määritellään kokonaisluvun arvoksi, ja "shoesize"-elementillä on nimeltään "country" ominaisuus:

<xs:element name="shoesize">
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="xs:integer">
        <xs:attribute name="country" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:element>

Voimme myös asettaa nimen complexType-elementille ja antaa "shoesize"-elementin type-ominaisuudelle viitata tähän nimeen (tällä tavalla useat elementit voivat viitata samaan monimutkaiseen tyyppiin):

<xs:element name="shoesize" type="shoetype"/>
<xs:complexType name="shoetype">
  <xs:simpleContent>
    <xs:extension base="xs:integer">
      <xs:attribute name="country" type="xs:string" />
    </xs:extension>
  </xs:simpleContent>
</xs:complexType>