Compartir a través de


Elemento <xsd:element>

Declara un elemento.

<element
  abstract = Boolean : false
  block = (#all | List of (extension | restriction | substitution))
  default = string
  final = (#all | List of (extension | restriction))
  fixed = string
  form = (qualified | unqualified)
  id = ID
  maxOccurs = (nonNegativeInteger | unbounded) : 1
  minOccurs = nonNegativeInteger : 1
  name = NCName
  nillable = Boolean : false
  ref = QName
  substitutionGroup = QName
  type = QName
  {any attributes with non-schema Namespace}...>
Content: (annotation?, ((simpleType | complexType)?, (unique | key |
keyref)*))
</element>

Atributos

  • abstract
    Indicador de si se puede utilizar el elemento en un documento de instancia. Si el valor es true, el elemento no puede aparecer en el documento de instancia. En su lugar, otro elemento cuyo atributo substitutionGroup contiene el nombre completo (QName) de ese elemento debe aparecer en este lugar del elemento. Varios elementos pueden hacer referencia a este elemento en su atributo substitutionGroup.

    El valor predeterminado es false.

    Opcional.

  • block
    Tipo de derivación. El atributo block evita que se utilice un elemento que tenga el tipo especificado de derivación en lugar de este elemento. Este valor puede contener #all o una lista que sea un subconjunto de extension, restriction o substitution.

    extension

    Evita que se utilicen elementos derivados por extensión en lugar de este elemento.

    restriction

    Evita que se utilicen elementos derivados por restricción en lugar de este elemento.

    substitution

    Evita que se utilicen elementos derivados por sustitución en lugar de este elemento.

    #all

    Evita que se utilicen todos los elementos derivados en lugar de este elemento.

    Opcional.

  • default
    Valor predeterminado del elemento si su contenido es un tipo simple o textOnly.

    Los atributos fixed y default se excluyen mutuamente.

    Si el elemento contiene un tipo simple, este valor debe ser un valor válido de dicho tipo.

    Opcional.

  • substitutionGroup
    Nombre de un elemento por el que este elemento puede ser sustituido. Este elemento debe ser el mismo tipo o de un tipo derivado del tipo del elemento especificado.

    Este atributo se puede utilizar en cualquier elemento si el elemento al que hace referencia está declarado en el nivel global (el primario es el elemento schema).

    Este valor debe ser de tipo QName.

    Opcional.

  • final
    Tipo de derivación. El atributo final establece el valor predeterminado del atributo final en el elemento element. Este valor puede contener #all o una lista que sea un subconjunto de extension o restriction.

    extension

    Evita que se utilicen elementos derivados por extensión en lugar de este elemento.

    restriction

    Evita que se utilicen elementos derivados por restricción en lugar de este elemento.

    #all

    Evita que se utilicen todos los elementos derivados en lugar de este elemento.

    Está prohibido si el elemento contenedor no es el elemento schema.

    Opcional.

  • fixed
    Valor predeterminado, que no puede cambiarse, del elemento si su contenido es un tipo simple o textOnly.

    Los atributos fixed y default se excluyen mutuamente.

    Opcional.

  • form
    Formato del elemento. El valor predeterminado es el valor del atributo elementFormDefault del elemento schema que contiene el atributo. El valor debe ser una de las cadenas siguientes: "qualified" o "unqualified".

    Si el valor es unqualified, no se requiere certificar este elemento con el prefijo del espacio de nombres.

    Si el valor es qualified, se debe certificar este elemento con el prefijo del espacio de nombres.

    Opcional.

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

  • maxOccurs
    Número máximo de veces que el elemento puede aparecer en el elemento contenedor. El valor puede ser un número entero mayor o igual que cero. Para no limitar el número máximo, utilice la cadena "sin delimitar".

    Está prohibido si el elemento contenedor es schema.

    Opcional.

  • minOccurs
    Número mínimo de veces que el elemento puede aparecer en el elemento contenedor. El valor puede ser un número entero mayor o igual que cero. Para especificar que este elemento es opcional, establezca este atributo como cero.

    Está prohibido si el elemento contenedor es schema.

    Opcional.

  • nombre
    Nombre del elemento. 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.

    Se requiere si el elemento contenedor es el elemento schema.

    Opcional.

  • nillable
    Indicador de si se puede asignar un valor nil explícito al elemento. Se aplica al contenido del elemento y no a los atributos del mismo. El valor predeterminado es false.

    Si nillable es true, permite que una instancia del elemento tenga el atributo nil establecido en true. El atributo nil se define como parte del espacio de nombres del esquema XML para instancias.

    Por ejemplo, en el fragmento siguiente se define un único elemento con nillable establecido en true.

    <xs:element name="myDate" type="xs:date" nillable="true"/>
    

    En el fragmento siguiente se utiliza ese elemento y tiene un valor nil explícito (atributo nil establecido en true).

    <myDate xsi:nil="true"></myDate>
    

    Opcional.

  • ref
    El nombre de un elemento declarado en este esquema (u otro esquema indicado por el espacio de nombres especificado). El valor ref debe ser un QName. ref puede incluir un prefijo del espacio de nombres.

    Está prohibido si el elemento contenedor es schema.

    Si el atributo ref está presente, los elementos complexType, simpleType, key, keyref y unique, y los atributos nillable, default, fixed, form, block y type no pueden estar presentes.

    <xs:element ref="comment"/>
    

    Opcional.

  • type
    Tanto el nombre de un tipo de datos integrado como el de un elemento simpleType o complexType definido en este esquema (u otro esquema indicado por el espacio de nombres especificado). El valor proporcionado debe corresponder al atributo name del elemento simpleType o complexType al que se hace referencia.

    Los atributos type y ref se excluyen mutuamente.

    Con el fin de declarar un elemento mediante una definición de tipo simple o tipo complejo existente, utilice el atributo type para especificar el tipo existente.

    <xs:element name="name" type="xs:string"/>
    

    Opcional.

Información del elemento

Número de apariciones

Número de elementos definidos en el esquema.

Elementos primarios

schema, choice, all, sequence

Contenido

simpleType, complexType, key, keyref, unique

Notas

Una declaración de elementos asocia un nombre con una definición de tipo, que puede ser un tipo de datos integrado, un tipo simple o un tipo complejo.

Las declaraciones de elementos pueden estar presentes como elementos secundarios del elemento schema (con ámbito global) o dentro de definiciones de tipos complejos. En tipos complejos, las declaraciones de elementos pueden estar presentes como declaraciones locales o referencias a elementos con ámbito global.

Las declaraciones de elementos globales deben definir directamente los tipos complejos.

Un elemento simpleType o complexType puede estar presente como elemento secundario solo si los atributos ref y type no están presentes.

Además, los elementos pueden aparecer por referencia dentro de elementos choice, all, sequence y complexType.

Ejemplos

El siguiente ejemplo contiene dos elementos que pueden servir como sustitutos de otro.

Otros recursos

Para obtener más información, vea la parte 1 sobre recomendación sobre estructuras de esquema XML de W3C en la dirección www.w3.org/TR/2001/REC-xmlschema-1-20010502/\#element-all.

Vea también

Referencia

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