dtd para xhtml

Luis
26 de Octubre del 2003
Tengo un fichero xml que necesito cumpla con el dtd de xhtml y el dtd propio que he creado. Como hago para que cumpla ambas especificaciones?

lmata
26 de Octubre del 2003
Hola Luis, yo he tenido un problema parecido y no he llegado a la conclusion de q no se puede hacer q un fichero se valide por dos dtds a la vez , es decir, por dos fichero distintos ya que solo puedes poner una linea con un nombre de fichero.
Lo q hice para resolverlo fue juntar los dtds en un uno para que asi se pueda validar por los dos.
Y poner en la linea el fichero q yo creo. Algo como:
<!DOCTYPE html SYSTEM "nombre_del_dtd.dtd">

Prueba con eso.
Salu2.


Ricardo
26 de Octubre del 2003
Estimado Luis:

Este ha sido un problema constante en los grupos de estándares web. El hecho de que un archivo no puede especificar más de un DTD a la vez.

Lo que sí puedes hacer, sin embargo, es definir un DTD INTERNO. O sea:

<!DOCTYPE html PUBLIC "etcetc" "blablablah"
[
<!ELEMENT mi elemento etc>
]
>

Yo probé definiendo nuevos atributos en un documento XHTML, y SÍ VALIDABA en el W3 vaidator.

Desafortunadamente para nosotros, el #=/%%#(= internet explorer no reconoce DTD's internos. Al encontrar el primer > piensa que es el fin de la declaración DOCTYPE. El resultado es que todos los elementos (incluyendo html, quizás?) forman parte del objeto javascript document.body, por lo cual se te amuela toda la programación.

Lo que puedes hacer es crear tu propio DTD que INCLUYA el DTD XHTML que eliges, y definir tu propio xmlns. Eso sí, el documento dejará de ser XHTML.

Desafortunadamente, para fines prácticos, XHTML no significa "HTML eXtensible", sino "XML compatible con HTML".

Exactamente para qué quieres añadirle nuevos elementos? Para usar los famosos "XML data islands" de internet explorer? Quizás haya un modo *alternativo* de resolver el problema.