DTD - Atributos
- Página anterior Elementos DTD
- Página siguiente Comparación de atributos de elementos DTD
En DTD, los atributos se declaran mediante la declaración ATTLIST.
Declarar atributos
La declaración de atributos utiliza la siguiente sintaxis:
<!ATTLIST nombreDeElemento nombreDeAtributo tipoDeAtributo valorPorDefecto>
Instancia de DTD:
<!ATTLIST payment type CDATA "check">
Instancia de XML:
<payment type="check" />
A continuación se muestra:Tipo de atributoOpciones del tipo:
Tipo | Descripción |
---|---|
CDATA | El valor debe ser datos de caracteres (character data) |
(en1|en2|..) | Este valor es uno de los valores en la lista de enumeración |
ID | El valor debe ser un id único |
IDREF | El valor debe ser el id de otro elemento |
IDREFS | La lista de valores debe ser de otros ids |
NMTOKEN | El valor debe ser 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 entidades |
NOTATION | Este valor es el nombre de un símbolo |
xml: | El valor es un valor XML predefinido |
Los parámetros de valor por defecto pueden usar los siguientes valores:
Valor | Explicación |
---|---|
Valor | Valor por defecto del atributo |
#REQUIRED | El valor del atributo es obligatorio |
#IMPLIED | El atributo no es obligatorio |
#FIXED valor | El valor del atributo es fijo |
Establecer un valor de atributo por defecto
DTD:
<!ELEMENT square EMPTY> <!ATTLIST square width CDATA "0">
XML válido:
<square width="100" />
En el ejemplo anterior, "square" se define como un elemento vacío con el atributo "width" de tipo CDATA. Si el ancho no se establece, su valor por defecto es 0.
#IMPLIED
Sintaxis
<!ATTLIST nombre_de_elemento nombre_de_atributo tipo_de_atributo #IMPLIED>
Ejemplo
DTD:
<!ATTLIST contact fax CDATA #IMPLIED>
XML válido:
<contact fax="555-667788" />
XML válido:
<contact />
Si no desea forzar al autor a incluir el atributo y no tiene la opción de valor por defecto, utilice la palabra clave #IMPLIED.
#REQUIRED
Sintaxis
<!ATTLIST nombre_de_elemento nombre_de_atributo tipo_de_atributo #REQUIRED>
Ejemplo
DTD:
<!ATTLIST person number CDATA #REQUIRED>
XML válido:
<person number="5677" />
XML ilegal:
<person />
Si no tiene la opción de valor por defecto pero aún así desea forzar al autor a enviar el atributo, utilice la palabra clave #REQUIRED.
#FIXED
Sintaxis
<!ATTLIST nombre_de_elemento nombre_de_atributo tipo_de_atributo #FIXED "value">
Ejemplo
DTD:
<!ATTLIST sender company CDATA #FIXED "Microsoft">
XML válido:
<sender company="Microsoft" />
XML ilegal:
<sender company="W3School" />
Si desea que el atributo tenga un valor fijo y no permita que el autor lo cambie, utilice la palabra clave #FIXED. Si el autor utiliza un valor diferente, el analizador XML devolverá un error.
Enumeración de valores de atributo
Sintaxis:
<!ATTLIST nombre_de_elemento nombre_de_atributo (en1|en2|..) valor_por_defecto>
Ejemplo de DTD:
!ATTLIST payment type (check|cash) "cash">
Ejemplo de XML:
<payment type="check" />
O
<payment type="cash" />
Si desea que el valor del atributo sea uno de una serie de valores legales fijos, utilice valores de atributos enumerados.
- Página anterior Elementos DTD
- Página siguiente Comparación de atributos de elementos DTD