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