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>