<!DOCTYPE nombre [
... declaraciones ...
]>
<!DOCTYPE nombre SYSTEM "uri">
Combinar una DTD externa con una DTD interna:
<!DOCTYPE nombre SYSTEM "uri" [
... declaraciones ...
]>
<!DOCTYPE nombre PUBLIC "fpi" "uri">
Combinar una DTD externa con una DTD interna:
<!DOCTYPE nombre PUBLIC "fpi" "uri" [
... declaraciones ...
]>
En todos estos casos:
<!ENTITY nombreEntidad "valorEntidad">
<!ENTITY nombreEntidad SYSTEM "uri">
<!ENTITY nombreEntidad PUBLIC "fpi" "uri">
<!ENTITY nombreEntidad SYSTEM "uri" NDATA tipo>
<!ENTITY nombreEntidad PUBLIC "fpi" "uri" NDATA tipo>
<!ENTITY % nombreEntidad "valorEntidad">
<!ENTITY % nombreEntidad SYSTEM "uri">
<!ENTITY % nombreEntidad SYSTEM "uri" NDATA tipo>
En todos estos casos:
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.
<!ELEMENT nombreElemento (contenido)>
<!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: