XML Schema group-element

definition og brug

group-element bruges til at definere elementgrupper, der bruges i komplekse type definitioner.

elementinformation

forekomstmåde ikke begrænset
forældrelement schema, choice, sequence, complexType, restriction (complexContent), extension (complexContent)
indhold annotation, all, choice, sequence

syntaks

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

(? symbol er deklareret i group-elementet, som kan optræde nul eller én gang.)

Egenskaber

id

Valgfri. Angiver det unikke ID for elementet.

name

Valgfri. Angiver navnet på gruppen. Navnet skal være en uden kolon navn (NCName) defineret i XML navnerumspecifikationen.

Brug kun denne egenskab, når schema-elementet er forælder til group-elementet. I dette tilfælde bruges group af complexType, choice og sequence elementer som modelgrupper.

name-attributten og ref-attributten kan ikke bruges samtidig.

ref

Valgfri. Refererer til navnet på en anden gruppe. ref-værdien skal være en QName. ref kan indeholde et navnerumsprefiks.

name-attributten og ref-attributten kan ikke bruges samtidig.

maxOccurs

Valgfri. Angiver den maksimale gang group-elementet kan optræde i en forælder. Værdien kan være et heltal større end eller lig med 0. Brug strengen "unbounded", hvis der ikke er nogen grænse for antallet af gange. Standardværdien er 1.

minOccurs

Valgfri. Angiver den mindste gang group-elementet kan optræde i en forælder. Værdien kan være et heltal større end eller lig med 0. Standardværdien er 1.

Enhver attribut

Valgfri. Angiver eventuelle andre attributter med non-schema navnerum.

Eksempel

Eksempel 1

Her er et eksempel, der definerer en sekvens af fire elementer og bruger denne group-element i en kompleks type definition:

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