DTD - Resumen - Cheat Sheet - Elementos, atributos, tipos, entidades...

Referencia a DTD

  • DTD en el propio documento
    <!DOCTYPE nombre [
     ... declaraciones ...
    ]>
  • DTD en un documento externo para una única aplicación:
    <!DOCTYPE nombre SYSTEM "uri">
    Combinar una DTD externa con una DTD interna:
    <!DOCTYPE nombre SYSTEM "uri" [
     ... declaraciones ...
    ]>
  • DTD en un documento externo para varias aplicaciones:
    <!DOCTYPE nombre PUBLIC "fpi" "uri">
    Combinar una DTD externa con una DTD interna:
    <!DOCTYPE nombre PUBLIC "fpi" "uri" [
     ... declaraciones ...
    ]>
En todos estos casos:
  • "nombre" es el nombre del tipo de documento XML, que debe coincidir con el nombre del elemento raíz del documento XML.
  • "uri" es el camino (absoluto o relativo) hasta la DTD.
  • "fpi" es un indentificador público formal (Formal Public Identifier).

Declaración de entidades

  • Entidades internas:
    <!ENTITY nombreEntidad "valorEntidad">
  • Entidad externa (archivo de texto):
    <!ENTITY nombreEntidad SYSTEM "uri">
    <!ENTITY nombreEntidad PUBLIC "fpi" "uri">
  • Entidad externa (archivo no de texto):
    <!ENTITY nombreEntidad SYSTEM "uri" NDATA tipo>
    <!ENTITY nombreEntidad PUBLIC "fpi" "uri" NDATA tipo>
  • Entidades paramétricas:
    <!ENTITY % nombreEntidad "valorEntidad">
    <!ENTITY % nombreEntidad SYSTEM "uri">
    <!ENTITY % nombreEntidad SYSTEM "uri" NDATA tipo>
En todos estos casos:
  • "nombreEntidad" es el nombre de la entidad.
  • "valorEntidad" es el valor de la entidad.
  • "uri" es el camino (absoluto o relativo) hasta un archivo.
  • "tipo" es el tipo de archivo (gif, jpg, etc).
  • "fpi" es un indentificador público formal (Formal Public Identifier).
Declaración de notaciones
Las notaciones se usan en XML para definir las entidades externas que no va a analizar en procesador XML (aunque sí lo hará la aplicación que trate un documento). Para hacer referencia estas entidades no se utiliza la notación habitual (&nombreEntidad;), sino que se utiliza el nombre de la entidad directamente.

Declaración de elementos
  • Elementos:
    <!ELEMENT nombreElemento (contenido)>
  • Contenido:
    • EMPTY: elemento vacío. 
    • (#PCDATA): texto
    • ANY: cualquier cosa.
    • , (coma): elementos en el orden indicado.
    • | (o lógico): contiene uno de los dos elementos.
    • ?: elemento puede aparecer o no, pero sólo una vez.
    • *: elemento puede no aparecer o aparecer una o más veces.
    • +: elemento tiene que aparecer una o más veces (no puede no aparecer).
    • (): agrupar expresiones.
Declaración de atributos
  • Atributos:
    <!ATTLIST nombreElemento nombreAtributo tipoAtributo valorInicialAtributo >
    <!ATTLIST nombreElemento nombreAtributo1 tipoAtributo1 valorInicialAtributo1>
    <!ATTLIST nombreElemento nombreAtributo2 tipoAtributo2 valorInicialAtributo2>
    <!ATTLIST nombreElemento
      nombreAtributo1 tipoAtributo1 valorInicialAtributo1
      nombreAtributo2 tipoAtributo2 valorInicialAtributo2
     >
    en la que:
    • "nombreElemento" es el nombre del elemento para el que se define un atributo.
    • "nombreAtributo" es el nombre del atributo.
    • "tipoAtributo" es el tipo de datos .
    • "valorInicialAtributo" es el valor predeterminado del atributo (aunque también puede indicar otras cosas).
  • Tipos de atributos:
    • CDATA: caracteres (sin restricciones). 
    • NMTOKEN: letras, dígitos, y los caracteres punto ".", guión "-", subrayado "_" y dos puntos ":". 
    • NMTOKENS: letras, dígitos, y los caracteres punto ".", guión "-", subrayado "_", dos puntos ":" (como el tipo NMTOKEN) y también espacios en blanco. 
    • valores: valores de una lista. Lista entre paréntesis, con términos separados por una barra vertical "|". términos entre comillas simples o dobles si contienen espacios en blanco.
    • ID: valor no se puede repetir en otros elementos o atributos. 
    • IDREF: valor debe coincidir con el valor del atributo ID de otro elemento.
    • IDEREFS: valor es una serie de valores separados por espacios que coinciden con el valor del atributo ID de otros elementos.
    • ENTITY: entidad definida en la DTD.
    • ENTITIES: alguna de las entidades de una lista de entidades definida en la DTD.
    • NOTATION: notación definida en la DTD.
  • Valores iniciales:
    • #REQUIRED: el atributo es obligatorio, aunque no se especifica ningún valor predeterminado. 
    • #IMPLIED: el atributo no es obligatorio y no se especifica ningún valor predeterminado. 
    • #FIXED valor: el atributo tiene un valor fijo. 
    • valor: el atributo tiene un valor predeterminado. 

No hay comentarios:

Publicar un comentario

Gracias por comentar en mi blog. Saludos.