Elemento <xdr:ElementType>
Define un tipo de elemento que se va a utilizar con el elemento de los esquemas reducidos de datos XML (XDR) Schema.
<ElementType
content="{empty | textOnly | eltOnly | mixed}"
dt:type="datatype"
model="{open | closed}"
name="idref"
order="{one | seq | many}">
Atributos
contenido
Un indicador de si el contenido debe estar vacío o puede contener texto, elementos o las dos cosas. A este atributo pueden asignarse los siguientes valores. El valor predeterminado para el atributo content es mixed. Cuando el atributo content se establece como mixed, el atributo order precisa un valor many.empty
El elemento no puede incluir contenido.
textOnly
El elemento solo puede incluir texto, no elementos. Si el atributo model se establece como open, el elemento puede incluir texto y otros elementos sin nombre.
eltOnly
Elemento solo puede incluir los elementos especificados. No puede incluir texto libre.
mixed
El elemento puede incluir una mezcla de elementos con nombre y texto. El valor predeterminado es mixed. Si el valor del atributo content es mixed, los atributos minOccurs y maxOccurs no desencadenarán un error de validación en caso de que el número de elementos secundarios esté fuera de los límites especificados.
![]() |
---|
No se permiten elementos con content="empty" y model="open". |
Ejemplo
Descripción
El siguiente ejemplo muestra el uso del atributo content con diferentes valores.
Ejemplo de código heredado
El siguiente ejemplo muestra el atributo content para una definición de tipo de documento (DTD) equivalente.
- dt:type
Tipo de dato del elemento. Los tipos de datos válidos se definen en la referencia de tipos de datos de esquemas XDR.
model
Un indicador de si el contenido puede incluir solo lo que aparece definido en el modelo de contenido. El valor predeterminado es open.<ElementType name="x" model="open"/>
Cuando el modelo se define como open, el elemento puede incluir elementos o atributos adicionales no declarados de manera explícita en el modelo de contenido. Estas etiquetas adicionales proceden del mismo espacio de nombres o de uno distinto. Si se encuentran en el mismo espacio de nombres, debe haber una definición ElementType o AttributeType correspondiente en el esquema.
Cuando el modelo se define como closed, el elemento no puede incluir elementos y contenido mezclado que no aparezca especificado en el modelo de contenido. La DTD utiliza un modelo cerrado.
nombre
Nombre del elemento. Este atributo es necesario. Si este tipo de elemento se declara como un elemento secundario válido de otro tipo de elemento, se especifica este nombre en un elemento element.<ElementType name="x"> </ElementType>
La DTD equivalente es la siguiente.
<!ELEMENT x EMPTY>
order
Un indicador de cómo van a aparecer los elementos. Este indicador puede contener los siguientes valores.one
Permite solo uno de un conjunto de elementos. Para que un documento realice de forma correcta la validación cuando se especifica el atributo one, debe especificarse como closed el atributo model para ElementType.
seq
Precisa que los elementos aparezcan en la secuencia determinada.
many
Permite que los elementos aparezcan en cualquier orden (o no aparezcan). Si especifica many para el atributo order, los valores maxOccurs dejarán de ser relevantes durante la validación.
El valor seq debe especificar secuencias válidas. Por ejemplo, puede utilizarse para especificar cuándo es válida una secuencia concreta, como
x1,y1
ox2,y2
, pero no son válidas otras combinaciones posibles. El valor seq sirve para el mismo rol que los paréntesis en una DTD. El valor predeterminado es seq.En el siguiente ejemplo se muestra el valor one. El valor del atributo model debe ser closed cuando se especifica one para el atributo order.
En el siguiente ejemplo se muestra el valor seq.
En el siguiente ejemplo se muestra el valor many.
El valor many del atributo order hace que los atributos minOccurs y maxOccurs sean irrelevantes durante la validación. En vez de utilizar el valor many para el atributo order junto con minOccurs y maxOccurs, utilice el valor seq. Por ejemplo, considere el siguiente esquema, que establece
order="seq"
.
Si se valida el siguiente documento XML en función del esquema anterior, la validación fallará porque el número de elementos Publisher supera el valor maxOccurs especificado de 1. Sin embargo, si el valor order se establece en many, la validación se completará correctamente de manera incorrecta ya que no se tendrá en cuenta el valor maxOccurs="1"
.
Información del elemento
Número de apariciones |
Ilimitado |
Elementos primarios |
|
Elementos secundarios |
attribute, AttributeType, datatype, description, element, group |
Propiedades de los elementos
ETIQUETA | Explicación |
---|---|
Name="idref" |
Los elementos ElementType y AttributeType deben tener nombres. |
Model="open" |
En este elemento se permiten elementos o contenido mezclado no especificados en el modelo de contenido. Para subclasificar una definición concreta, este valor debe estar abierto (cuando se implemente la herencia en el futuro). |
Model="closed" |
En este elemento no se permiten elementos o contenido mezclado no especificados en el modelo de contenido. |
content="empty" |
Es posible que el elemento no contenga nada. |
content="textOnly" |
El elemento solo puede incluir texto, no elementos. Si model="open", es posible que el elemento contenga texto y otros elementos sin nombres. |
* content="mixed" |
El elemento puede incluir una mezcla de elementos con nombre y texto entremezclado. Si model="open", es posible que el elemento contenga texto y otros elementos sin nombres. Implica order='many' y maxOccurs="*"! |
order='one' |
Permite solo uno de un conjunto de elementos. |
* order='seq' |
Indica que los elementos deben aparecer en la secuencia enumerada. Es parecido al valor predeterminado de una lista de elementos, aunque es necesario para poder agrupar secuencias, como en el ejemplo en el que |
order='many' |
Los elementos pueden aparecer en cualquier orden (o no aparecer). |
dt:type=datatype |
Especifica que el elemento debe incluir un número entero. Para obtener una lista de tipos de datos primitivos, consulte la referencia de tipos de datos de esquemas XDR. |
Comentarios
El término "element type" hace referencia al tipo de elemento de los que son instancias todos los elementos que comparten un nombre. Los tipos de elementos se declaran en esquemas; los elementos aparecen en documentos. Los tipos de elementos se declaran con el tipo de elemento ElementType.