XML Schema group-elementti

Määrittely ja käyttö

group-elementti käytetään määrittämään elementtiyhmää, joka käytetään monimutkaisen tyypin määrittämisessä.

Elementin tiedot

Ilmentymien määrä Rajoittamaton
Isäelementti schema, choice, sequence, complexType, restriction (complexContent), extension (complexContent)
Sisältö annotation, all, choice, sequence

syntaksi

<group
id=ID
name=NCName
ref=QName
maxOccurs=nonNegativeInteger|unbounded
minOccurs=nonNegativeInteger
muiden ominaisuuksien
>
annotation?,(all|choice|sequence)?)
</group>

(?-merkki määritelty group-elementissä, joka voi esiintyä nollan tai yhden kerran.)

Ominaisuudet

id

Valinnainen. Määrittelee elementin ainutlaatuisen ID:n.

name

Valinnainen. Määrittelee ryhmän nimen. Nimen on oltava XML-nimellisessä alueessa määritelty ilman kolonaa oleva nimi (NCName).

Käytetään vain silloin, kun schema-elementti on group-elementin emo-elementti. Tässä tapauksessa group on complexType, choice ja sequence-elementtien käyttämä malliryhmä.

name-ominaisuus ja ref-ominaisuus eivät voi esiintyä samanaikaisesti.

ref

Valinnainen. Viittaa toisen ryhmän nimeen. ref-arvon on oltava QName. ref voi sisältää nimenimerkin.

name-ominaisuus ja ref-ominaisuus eivät voi esiintyä samanaikaisesti.

maxOccurs

Valinnainen. Määrittelee group-elementin mahdollisten esiintymien enimmäismäärän. Arvo voi olla yli tai yhtä suuri kuin nolla oleva kokonaisluku. Jos et halua asettaa enimmäismäärää, käytä merkkijonoa "unbounded". Oletusarvo on 1.

minOccurs

Valinnainen. Määrittelee group-elementin mahdollisen esiintymien vähimmäismäärän. Arvo voi olla yli tai yhtä suuri kuin nolla oleva kokonaisluku. Oletusarvo on 1.

muiden ominaisuuksien

Valinnainen. Määrittelee minkä tahansa schema-nimellisen alueen muiden ominaisuuksien. Valinnainen.

Esimerkki

Esimerkki 1

Esimerkki alla määrittelee neljän elementin sarjan ryhmän ja käyttää tätä group-elementtiä monimutkaisessa tyyppimäärittelyssä:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:group name="custGroup">
 <xs:sequence>
  <xs:element name="customer" type="xs:string"/>
  <xs:element name="orderdetails" type="xs:string"/>
  <xs:element name="billto" type="xs:string"/>
  <xs:element name="shipto" type="xs:string"/>
 </xs:sequence>
</xs:group>
<xs:element name="order" type="ordertype"/>
<xs:complexType name="ordertype">
  <xs:group ref="custGroup"/>
  <xs:attribute name="status" type="xs:string"/>
</xs:complexType>
</xs:schema>