attributeGroup
Raggruppa un insieme di dichiarazioni di attributi in modo che possano essere incorporate come gruppo nelle definizioni dei tipi complessi.
<attributeGroup
id = ID
name = NCName
ref = QName
{any attributes with non-schema Namespace...}>
Content: (annotation?), ((attribute | attributeGroup)*, anyAttribute?))
</attributeGroup>
Attributi
id
ID dell'elemento. Il valore di id deve essere di tipo ID ed essere univoco all'interno del documento che contiene l'elemento.Facoltativo.
name
Nome del gruppo di attributi i cui attributi sono inclusi in un elemento attributeGroup o in un elemento complexType. Il nome deve essere un NCName (No-Colon-Name), come indicato nella specifica relativa agli spazi dei nomi XML. Gli attributi name e ref non possono essere presenti contemporaneamente. L'attributo name può essere presente solo se il gruppo di attributi è figlio dell'elemento schema.Facoltativo.
ref
Nome di riferimento del gruppo di attributi i cui attributi sono inclusi in un elemento attributeGroup o in elemento complexType.Gli attributi name e ref non possono essere presenti contemporaneamente. L'attributo ref può essere presente solo se il gruppo di attributi non è figlio dell'elemento schema.
Questo valore deve essere un nome completo (QName).
Facoltativo.
Informazioni sull'elemento
Numero di occorrenze | Illimitato |
Elementi padre | attributeGroup, complexType, schema, restriction (simpleContent), extension (simpleContent), restriction (complexContent), extension (complexContent) |
Contenuto | annotation, attribute, attributeGroup, anyAttribute |
Osservazioni
È possibile definire un gruppo di attributi solo come figlio dell'elemento schema. In tal caso, è necessario che l'attributo name sia presente e che contenga gli elementi attribute, attributeGroup o anyAttribute che costituiscono il gruppo di attributi.
È possibile includere un gruppo di attributi in un attributeGroup o in un complexType, nel qual caso è necessario che l'attributo ref sia presente e che l'elemento attributeGroup sia vuoto. Vedere l'esempio che segue.
Gli elementi attributeGroup possono contenere altri elementi attributeGroup.
Esempio
Nell'esempio che segue viene illustrato un gruppo di attributi definito (myAttributeGroup) e utilizzato in un tipo complesso (myElementType).
<xs:attributeGroup name="myAttributeGroup">
<xs:attribute name="someattribute1" type="xs:integer"/>
<xs:attribute name="someattribute2" type="xs:string"/>
</xs:attributeGroup>
<xs:complexType name="myElementType">
<xs:attributeGroup ref="myAttributeGroup"/>
</xs:complexType>
Nell'esempio che segue vengono illustrati due gruppi di attributi definiti (myAttributeGroupA e myAttributeGroupB), contenuti l'uno all'interno dell'altro.
<xs:attributeGroup name="myAttributeGroupA">
<xs:attribute name="someattribute10" type="xs:integer"/>
<xs:attribute name="someattribute11" type="xs:string"/>
</xs:attributeGroup>
<xs:attributeGroup name="myAttributeGroupB">
<xs:attribute name="someattribute20" type="xs:date"/>
<xs:attributeGroup ref="myAttributeGroupA"/>
</xs:attributeGroup>
Vedere anche
Informazioni di riferimento sullo schema XML (XSD) | Elementi di uno schema XML
Per ulteriori informazioni, vedere il documento del W3C dal titolo XML Schema Part 1: Structures Recommendation all'indirizzo http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/\#element-attributeGroup/ (informazioni in lingua inglese).