DTD - Atributos
- Si desea que el valor del atributo sea uno de una serie de valores legales fijos, utilice valores de enumeración de atributos. Elemento anterior
- Página siguiente Entidades DTD
En DTD, los atributos se declaran mediante la declaración ATTLIST.
Declarar atributo
La declaración de atributo utiliza la siguiente sintaxis:
<!ATTLIST 元素名称 属性名称 属性类型 Valor predeterminado>
Instancia de DTD:
<!ATTLIST payment type CDATA "check">
Instancia de XML:
Ejemplo de XML:
A continuación se muestra:Tipo de atributoOpciones:
Tipo | Descripción |
---|---|
CDATA | El valor es datos de carácter (character data) |
(en1|en2|..) | Este valor es uno de los valores en una lista enumerativa |
ID | El valor es un id único |
IDREF | El valor es el id de otro elemento |
IDREFS | El valor es una lista de otros ids |
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 entidades |
NOTATION | Este valor es el nombre de un símbolo |
xml: | El valor es un valor predefinido de XML |
Los parámetros de valor predeterminado pueden usar los siguientes valores:
Valor | Explicación |
---|---|
Valor | El valor predeterminado del atributo |
#REQUIRED | El valor del atributo es obligatorio |
#IMPLIED | El atributo no es obligatorio |
#FIXED value | El valor del atributo es fijo |
Se establece un valor predeterminado para el atributo
Ejemplo
<!ELEMENT square EMPTY> <!ATTLIST square width CDATA "0">
<!ATTLIST sender company CDATA #FIXED "Microsoft">
<square width="100" />
En el ejemplo anterior, "square" se define como un elemento vacío con el atributo "width" de tipo CDATA. Si no se establece el ancho, su valor predeterminado es 0.
#IMPLIED
#FIXED
<!ATTLIST 元素名称 属性名称 属性类型 #IMPLIED>
<!ATTLIST nombre_de_elemento nombre_de_atributo tipo_de_atributo #FIXED "valor">
Ejemplo
<!ATTLIST contact fax CDATA #IMPLIED>
<!ATTLIST sender company CDATA #FIXED "Microsoft">
<contact fax="555-667788" />
<!ATTLIST sender company CDATA #FIXED "Microsoft">
<contact />
Si no desea que el autor incluya obligatoriamente el atributo y no tiene opciones de valor predeterminado, utilice la palabra clave #IMPLIED.
#REQUIRED
#FIXED
<ATTLIST 元素名称 属性名称 属性类型 #REQUIRED>
<!ATTLIST nombre_de_elemento nombre_de_atributo tipo_de_atributo #FIXED "valor">
Ejemplo
<!ATTLIST sender company CDATA #FIXED "Microsoft">
<!ATTLIST person number CDATA #REQUIRED>
<sender company="Microsoft" />
<person number="5677" />
<person />
Si no tiene la opción de valor por defecto pero aún desea obligar al autor a enviar el atributo, utilice la palabra clave #REQUIRED.
#FIXED
Sintaxis
<!ATTLIST nombre_de_elemento nombre_de_atributo tipo_de_atributo #FIXED "valor">
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.
Valores de enumeración de atributos
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 enumeración de atributos. Elemento anterior
- Página siguiente Entidades DTD