Los últimos tutoriales de desarrollo web
 

DTD - Atributos


En un DTD, atributos se declaran con una declaración ATTLIST.


La declaración de atributos

Una declaración de atributo tiene la siguiente sintaxis:

<!ATTLIST element-name attribute-name attribute-type attribute-value>

DTD example:

<!ATTLIST payment type CDATA "check">

XML example:

<payment type="check" />

El attribute-type puede ser uno de los siguientes:

Tipo Descripción
CDATA El valor es datos de caracteres
( en1 | en2 |..) El valor debe ser uno de una lista enumerada
ID El valor es un identificador único
IDREF El valor es el ID de otro elemento
IDREFS El valor es una lista de otros identificadores de
NMTOKEN El valor es un nombre XML válido
NMTOKENS El valor es una lista de nombres XML válidos
ENTITY El valor es una entidad
ENTITIES El valor es una lista de las entidades
NOTATION El valor es un nombre de una notación
xml: El valor es un valor predefinido xml

El attribute-value puede ser uno de los siguientes:

Valor Explicación
value El valor por defecto del atributo
#REQUIRED Se requiere el atributo
#IMPLIED El atributo es opcional
#FIXED value El valor del atributo es fijo

Una característica Valor predeterminado

DTD:
<!ELEMENT square EMPTY>
<!ATTLIST square width CDATA "0">

Valid XML:
<square width="100" />

En el ejemplo anterior, el "square" elemento se define como un elemento vacío con un "width" atributo del tipo CDATA. Si no se especifica el ancho, tiene un valor predeterminado de 0.


#NECESARIO

Sintaxis

<!ATTLIST element-name attribute-name attribute-type #REQUIRED>

Ejemplo

DTD:
<!ATTLIST person number CDATA #REQUIRED>

Valid XML:
<person number="5677" />

Invalid XML:
<person />

Usar la palabra clave #REQUIRED si usted no tiene una opción para un valor por defecto, pero todavía quiere forzar el atributo de estar presente.


#IMPLÍCITO

Sintaxis

<!ATTLIST element-name attribute-name attribute-type #IMPLIED>

Ejemplo

DTD:
<!ATTLIST contact fax CDATA #IMPLIED>

Valid XML:
<contact fax="555-667788" />

Valid XML:
<contact />

Usar la palabra clave #IMPLIED si no desea forzar el autor para incluir un atributo, y usted no tiene una opción para un valor predeterminado.


#FIJO

Sintaxis

<!ATTLIST element-name attribute-name attribute-type #FIXED "value">

Ejemplo

DTD:
<!ATTLIST sender company CDATA #FIXED "Microsoft">

Valid XML:
<sender company="Microsoft" />

Invalid XML:
<sender company="w3ii" />

Usar la palabra clave #FIXED cuando se desea un atributo que tiene un valor fijo sin permitir que el autor de cambiarlo. Si un autor incluye otro valor, el analizador XML devolverá un error.


Los valores de atributos enumerados

Sintaxis

<!ATTLIST element-name attribute-name (en1|en2|..) default-value>

Ejemplo

DTD:
<!ATTLIST payment type (check|cash) "cash">

XML example:
<payment type="check" />
or
<payment type="cash" />

Utilice los valores de atributos enumerados cuando se desea el valor del atributo de ser una de un conjunto fijo de valores legales.