Compartir a través de


attributeGroup

Agrupa un conjunto de declaraciones de atributos para que puedan ser incorporadas como grupo en definiciones de tipos complejos.

<attributeGroup
  id = ID 
  name = NCName
  ref = QName
  {any attributes with non-schema Namespace...}>
Content: (annotation?), ((attribute | attributeGroup)*, anyAttribute?))
</attributeGroup>

Atributos

  • id
    Identificador de este elemento. El valor id debe ser de tipo ID y debe ser único dentro del documento que contiene este elemento.

    Opcional.

  • name
    Nombre del grupo de atributos que están incluidos en un elemento attributeGroup o elemento complexType. El nombre no debe incluir un signo de dos puntos (NCName), como se define en la especificación de los espacios de nombres XML. Los atributos Name y ref no pueden estar presentes a la vez. El atributo name sólo puede estar presente si el grupo de atributos es un elemento secundario del elemento schema.

    Opcional.

  • ref
    Nombre de referencia del grupo de atributos que están incluidos en un elemento attributeGroup o elemento complexType.

    Los atributos Name y ref no pueden estar presentes a la vez. El atributo ref sólo puede estar presente si el grupo de atributos no es un elemento secundario del elemento schema.

    El valor debe ser un nombre completo (QName).

    Opcional.

Información del elemento

Número de apariciones Ilimitado
Elementos primarios attributeGroup, complexType, schema, restriction (simpleContent), extension (simpleContent), restriction (complexContent), extension (complexContent)
Contenido annotation, attribute, attributeGroup, anyAttribute

Comentarios

Un grupo de atributos sólo se puede definir como elemento secundario del elemento schema. En este caso, el atributo name debe estar presente y contener los elementos attribute, attributeGroup o anyAttribute que forman el grupo de atributos.

Se puede incluir un grupo de atributos en un attributeGroup o complexType, y en tal caso el atributo ref debe estar presente y el elemento attributeGroup debe estar vacío. Vea el ejemplo siguiente.

Los elementos attributeGroup pueden contener otros elementos attributeGroup.

Ejemplo

En el ejemplo siguiente se muestra un grupo de atributos (myAttributeGroup) definido y utilizado en un tipo complejo (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>

En el ejemplo siguiente se muestran dos grupos de atributos definidos (myAttributeGroupA y myAttributeGroupB) y uno contiene al otro.

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

Vea también

Referencia de esquemas XML (XSD) | Elementos de los esquemas XML

Para obtener más información, vea la parte 1: Structures Recommendation de XML Schema del W3C (World Wide Web Consortium), en http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/\#element-attributeGroup.