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