Pregunta

normas

El "viejo" HTML / XHTML tienen un (Definición Tipo de Documento) DTD definido por ellos:

http://www.w3.org/TR/html401/sgml/dtd.html
XHTML 1.0 http://www.w3.org/TR/xhtml1/dtds.html# a_dtd_XHTML-1,0-estricto

Este DTD especifica las reglas para los elementos de agrupamiento - "qué tipos de elementos pueden aparecer en el que los tipos de elementos". Hice un diagrama para XHTML 1.0 aquí (lo siento, ya no tengo ese recurso)

Me gustaría actualizar ese diagrama con una nueva versión que incluye también los nuevos elementos HTML5. Sin embargo, no parece ser un DTD HTML 5. Parece que las reglas de anidación están definidas por los diversos modelos de contenido que se definen en HTML5.

Así que no hay DTD, correcto?

Seguimiento pregunta: ¿Hay una razón por la que no hay DTD en HTML5? La DTD es un método tan agradable de definir las reglas de anidación para todos los diferentes tipos de elementos. ¿Por qué no habrían de incluir tal cosa?

Actualización: He encontrado esto: http://www.w3.org/TR/html5/dom.html#kinds-of-content supongo, este es el más parecido a tener un DTD.

Actualización: El equipo de Visual Studio hace un esquema XML para XHTML5. Supongo que eso responde a mi pregunta: http://blogs.msdn.com/b/webdevtools/archive/2009/11/18/html-5-intellisense-and-validation-schema-for -Visual-studio-2008-y-visual-web-developer.aspx

¿Fue útil?

Solución

No hay HTML5 DTD. El HTML5 RC explícitamente dice que esto cuando se habla de serialización XHTML, y esto se aplica claramente a la serialización HTML también.

DTD han sido considerados por los diseñadores de HTML5 como demasiado limitado en potencia expresiva, y HTML5 validadores (básicamente el modo HTML5 de http: //validator.nu y su copia en http://validator.w3.org/nu/ ) esquemas de uso y controles ad hoc, no validación basada en DTD.

Además, HTML 5 ha sido diseñado de manera que la escritura de un DTD porque es imposible. Por ejemplo, no hay manera de SGML para capturar la regla HTML5 que cualquier nombre de atributo que comienza con “Data-” y cumple con ciertas reglas generales son válidos. En SGML, atributos deben mencionarse de forma individual, por lo que una DTD tendría que ser infinita.

Es posible diseñar DTD que corresponden a HTML5 con algunas omisiones y tal vez con algunas reglas adicionales impuesta, pero no será realmente HTML5 DTD. Mi experimento con la idea no es muy alentador: demasiadas limitaciones también difícil, y el DTD tendría que ser tan permisiva que muchos errores de sintaxis irían sin capturar.

Otros consejos

correcta. No hay una DTD. Sin embargo, HTML5 documentos deberán tener <!DOCTYPE html> Así que hay un DOCTYPE, pero sin DTD.

Vea:

He creado una DTD HTML 5 para su uso en mis proyectos XML PHP. No es bonito, pero funciona bien formado con XHTML5 (es decir, HTML5 expresa como XML).

Se puede agarrarlo de mi cuenta bitbucket aquí:

https://bitbucket.org/kashbridge/dtd/overview

Disfrute!

Certain Marcus de sgmljs.net creado y analizado un DTD SGML para HTML 5.1 y comenzó un hilo en la lista de correo XML-dEV para su revisión y discusión . Los gira discusión en torno a las definiciones de la entidad hasta el momento.

  

He acaba de terminar mi análisis de HTML 5.1 de W3C en la recomendación    http://sgmljs.net/docs/html5.html (a partir de un lenguaje de marcado en lugar de   desarrollo web POV), y yo estoy publicando aquí para su revisión en el   forma de SGML DTD inicial de análisis de HTML 5.1, junto con una larga   análisis de textos.

     

[...]

     

Soy consciente de que WHATWG y W3C han puesto mucho alejado de SGML   (Y en la mayoría XML trabajo de especificación relacionada con la web), tratándolo como una   técnica de legado y con una actitud un tanto presuntuosa en el   texto especificación y en otros lugares. Pero como el análisis de HTML5   espectáculos de gramática, que han abandonado esencialmente uso de cualquiera de los métodos formales   alltogether (y se nota en al menos dos defectos tratados en el   análisis).

Nada oficial aún, pero tal vez esta iniciativa será conseguir la tracción, o al menos encontrar a sus usuarios como un recurso no oficial.

Creo que lo hicieron con la edad DTD, ahora sólo empezamos con páginas HTML: <!DOCTYPE HTML>

Tal vez el W3C va a salir con una eventual.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top