/ / ¿Cuáles son los elementos HTML que deberían tener elementos principales que no sean <body>? - html, análisis html

¿Cuáles son los elementos HTML que deben tener elementos principales que no sean <body>? - html, html-parsing

Estoy buscando una lista de elementos HTML que deberían tener elementos principales (que no sean <body>) para que tengan más sentido.

Por ejemplo, un <tr> un elemento sería uno de esos elementos porque debería estar dentro de un <tbody> o <table> elemento. UN <div> El elemento no sería tal elemento porque está perfectamente bien estar dentro de un <body> elemento directamente.

¿Alguien sabe de la mejor manera de obtener esa lista? encontré esta lista como punto de partida, pero me ahorraría algo de tiempo si hubiera una mejor manera que yo revisando cada uno individualmente.

Respuestas

3 para la respuesta № 1

Para versiones de HTML anteriores a HTML 2.0 a HTML 4.01 y XHTML 1.x, vea sus DTD (que están vinculados desde la especificación aplicable en el sitio W3C). (Las versiones anteriores de HTML no estaban tan formalizadas como para tener un DTD. Las versiones posteriores de XHTML se estaban moviendo hacia el esquema. HTML 5 se está definiendo de tal manera que no tiene una especificación oficial legible por máquina, pero creo que puede haber esquemas de terceros por ahí).

Encuentre la definición del elemento del cuerpo:

<!ELEMENT BODY O O (%block;|SCRIPT)+ +(INS|DEL) -- document body -->

Expande las referencias (%body; en este ejemplo).

Eso le dará una lista de los elementos que pueden ser hijos del elemento del cuerpo.

Luego, simplemente reste esa lista de una lista de todos los elementos en esa versión de HTML y tendrá los elementos que deben ser hijos de un elemento distinto del cuerpo o son el elemento raíz (<html>)