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).