XML Şeması group elementi
Tanım ve kullanım
group element, karmaşık tür tanımlarında kullanılan element gruplarını tanımlamak için kullanılır.
Element bilgisi
Görünüm sıklığı | Sınırsız |
Ana element | schema、choice、sequence、complexType、restriction (complexContent)、extension (complexContent) |
İçerik | annotation、all、choice、sequence |
Gramer
<group id=ID name=NCName ref=QName maxOccurs=sıfır veya daha büyük bir tam sayı|unbounded minOccurs=sıfır veya daha büyük bir tam sayı Herhangi bir özellik > annotation?,(all|choice|sequence)?) </group>
Group elemanında (? sembolü, bu elemanın sıfır veya bir kez görünmesini sağlar.)
Özellikler
id
Opsiyonel. Bu elemanın benzersiz bir kimliği belirler.
name
Opsiyonel. Grubun adını belirtir. Bu ad, XML isim uzantısı normunda tanımlanmış, atıf içermeyen bir isim (NCName) olmalıdır.
Bu özellik, schema elemanı group elemanının üst elemanı olduğunda kullanılır. Bu durumda, group, complexType, choice ve sequence elemanları tarafından kullanılan model grubudur.
name özelliği ve ref özelliği aynı anda kullanılamaz.
ref
Opsiyonel. Başka bir grubun adını referans alır. ref değeri QName olmalıdır. ref, isim uzantısını içerebilir.
name özelliği ve ref özelliği aynı anda kullanılamaz.
maxOccurs
Opsiyonel. Group elemanının üst elemanında görünmesini sağlayacak en büyük sayıyı belirtir. Bu değer, sıfır veya daha büyük bir tam sayı olabilir. En büyük sayıya herhangi bir kısıtlama uygulamak istemezseniz, "unbounded" kelimesini kullanın. Varsayılan değeri 1'dir.
minOccurs
Opsiyonel. Group elemanının üst elemanında görünmesini sağlayacak en küçük sayıyı belirtir. Bu değer, sıfır veya daha büyük bir tam sayı olabilir. Varsayılan değeri 1'dir.
Herhangi bir özellik
Opsiyonel. Non-schemalarca tanımlanmış herhangi bir özelliği belirler.
Örnek
Örnek 1
Aşağıdaki örnek, dört eleman içeren bir dizinin grubunu tanımlar ve bu group elemanını karmaşık tür tanımlarında kullanır:
<?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>