Elemento attribute de XML Schema

Definición y uso

El elemento attribute define un atributo.

Información del elemento

Número de apariciones Definido una vez en el elemento schema. Citado múltiples veces en tipos complejos o grupos de atributos.
Elemento padre attributeGroup、schema、complexType、restriction (simpleContent)、extension (simpleContent)、restriction (complexContent)、extension (complexContent)
Contenido anotación、simpleType

Gramática

<attribute
default=string
fixed=string
form=qualified|unqualified
id=ID
name=NCName
ref=QName
type=QName
use=opcional|prohibido|required
cualquier atributos
>
(anotación?,(simpleType?))
</attribute>

(? El símbolo indica que este elemento puede aparecer cero o una vez en el elemento attribute。)

Atributo

default

Opcional. Define el valor predeterminado del atributo. No se pueden usar las propiedades default y fixed al mismo tiempo.

fixed

Opcional. Define el valor fijo del atributo. No se pueden usar las propiedades default y fixed al mismo tiempo.

form

Opcional. Define el formato del atributo. El valor predeterminado es el valor de la propiedad attributeFormDefault del elemento schema que contiene este atributo. Puede establecerse uno de los siguientes valores:

  • "qualified" - Indica que debe limitarse este atributo mediante prefijo de espacio de nombres y el nombre sin dos puntos (NCName) de este atributo.
  • "unqualified" - Indica que este atributo no requiere prefijo de espacio de nombres y no requiere que el nombre sin dos puntos (NCName) de este atributo coincida, es decir, el nombre local.

id

Opcional. Especificar el ID único de este elemento.

nombre

Opcional. Especificar el nombre del atributo. Las propiedades name y ref no pueden aparecer simultáneamente.

ref

Opcional. Especificar la referencia al atributo especificado. Las propiedades name y ref no pueden aparecer simultáneamente. Si se utiliza ref, no se pueden utilizar los elementos simpleType, form y type.

tipo

Opcional. Especificar el tipo de datos integrado o tipo simple. La propiedad type solo debe aparecer cuando el contenido no contiene el elemento simpleType.

usar

Opcional. Especificar cómo se debe usar el atributo. Se pueden establecer los siguientes valores:

  • opcional - El atributo es opcional y puede tener cualquier valor (por defecto).
  • prohibido - No se puede usar el atributo.
  • requerido - Atributo necesario.

cualquier atributos

Opcional. Especificar cualquier otro atributo con espacio de nombres no esquemático.

Ejemplo

Ejemplo 1

<xs:attribute name="code">
<xs:simpleType>
  <xs:restriction base="xs:string">
    <xs:pattern value="[A-Z][A-Z]"/>
  </xs:restriction>
</xs:simpleType>
</xs:attribute>

El ejemplo anterior indica que el atributo "code" tiene una restricción. El único valor aceptable es dos letras mayúsculas de la A a la Z.

Ejemplo 2

Para declarar un atributo utilizando una definición de atributo existente en un tipo complejo, utilice el atributo ref:

<xs:attribute name="code">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="[A-Z][A-Z]"/>
    </xs:restriction>
  </xs:simpleType>
</xs:attribute>
<xs:complexType name="someComplexType">
  <xs:attribute ref="code"/>
</xs:complexType>

Ejemplo 3

El atributo puede tener tanto un valor predeterminado como un valor fijo especificado. Cuando no se especifica otro valor, se asigna automáticamente el valor predeterminado al atributo. En el siguiente ejemplo, el valor predeterminado es "EN":

<xs:attribute name="lang" type="xs:string" default="EN"/>

Cuando no se especifica otro valor, se asigna automáticamente un valor fijo al atributo. Sin embargo, a diferencia del valor predeterminado, si se especifica otro valor además del valor fijo para el atributo, el documento se validará como inválido. En el siguiente ejemplo, el valor fijo es "EN":

<xs:attribute name="lang" type="xs:string" fixed="EN"/>

Ejemplo 4

Todos los atributos son por defecto opcionales. Si desea especificar explícitamente que un atributo es opcional, utilice el atributo "use":

<xs:attribute name="lang" type="xs:string" use="optional"/>

Hacer que el atributo sea obligatorio:

<xs:attribute name="lang" type="xs:string" use="required"/>