HTML 4.0 Aplicación SGML (Lenguaje de Etiqueta Generalizado Estándar) conforme al estándar ISO 8879, ampliamente considerado como lenguaje de publicación estándar del WWW (World Wide Web).
SGML Lenguaje para describir lenguajes de Etiquetas, particularmente los basados en intercambio de documentos electrónicos, manejo de documentos y publicación.
XML Lenguaje de Etiqueta extensible, concebido para sacar lo mejor de SGML y evitando su complejidad.
Diferencias entre HTML y XHTML
- Nombres de elementos y atributos en minúsculas. El XML es sensible a la utilización de mayúsculas y minúsculas.
- Todos los valores de los atributos deben ir entrecomillados (comillas tanto simples como dobles).
- Todos los elementos "no vacíos" deben ir entre la etiqueta de principio y la etiqueta de final, todos los elementos que no estén declarados en la DTD con EMPTY deben tener una etiqueta de cierre.
- Todos los elementos deben estar anidados ordenadamente.
- El XML no soporta la minimización de atributos. Los pares atributo-valor deben escribirse en toda su extensión.
- Los elementos "vacíos" deben llevar terminación, los cuales deben tener una etiqueta de cierre o bien terminar su etiqueta de apertura con />.
Características más importantes:
- Strict: Se utiliza cuando se da formato a los textos a través de CSS (cuando no se recurre a las etiquetas font, etc. La declaración debe ser:
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- Transitional: Se utiliza cuando no se describe la presentación de los documentos por medio de hojas de estilo. La declaración debe ser de la siguiente manera:
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- Frameset: Se utiliza cuando los documentos incorporan marcos. La declaración:
PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
El elemento raíz del XHTML debe ser y en el debemos declarar el namespace usando el atributo xmlns. EL namespace para XHTML es: "http://www.w3.org/1999/xhtml"
En XHTML, los elementos style y script se declaran como elementos con contenido #PCDATA. El único carácter que no está permitido dentro es el que indica el cierre de la marca CDATA, es decir, el código ]] >.
Se puede evitar la utilización de las secciones CDATA, incluyendo los códigos en archivos externos:
<script language="JavaScript" src="global.js"></script>
<link href="style.css">
Para poder validar el documento se requiere en el mismo directorio la DTD xml html1-strict.dtd (o la que usemos) y los archivos de entidades a los que hace referencia. Después sólo nos queda validar el documento con algun parser de XML.
Para validar el documento XML se puede utilizar cualquier parser de XML.
Convertir HTML en XHTML
Son necesarios dos pasos para convertir un documento HTML en un documento XHTML válido.
- Que esté bien formado
- Que sea válido respecto de alguna de las tres DTD que conforman el XHTML.
Y nuestros amigos de la W3C hacen el resto -> http://validator.w3.org/
XHTML y los navegadores actuales
XHTML se visualizan sin problemas en IE5 y posteriores, pero no es así en todos los navegadores, en algunos de éllos hay problemas debido a los elementos vacíos (<br/>, <hr/>)Aunque, según la especificación no hay ninguna obligación de que los documentos XHTML 1.0 sean compatibles con los navegadores existentes, en la práctica es fácil de conseguir:
- Elementos vacíos . Incluir un espacio en blanco antes de la barra y ángulo de cierre / y >
- Minimización de elementos . Dado un elemento vacío cuyo modelo de contenido no es empty, como por ejempo un título o un párrafo, no utilizar la forma minimizada, escribirlo como:<p> </p> en lugar de <p></p>
- Hojas de estilo y archivos de código incrustados . Usar hojas de estilo externas o archivos de código externo si la hoja o el código en cuestión utiliza los caracteres < > o --. Notar que los analizadores XML tienen permitido suprimir el contenido de los comentarios.
- Saltos de línea dentro de valores de atributos . Evitar saltos de línea y múltiples espacios en blanco dentro de los valores de los atributos.
- Identificadores de fragmentos . En XML, los URI que terminan con identificadores de fragmentos del tipo #identificador no se refieren a elementos con un atributo name=identificador, sino que se refieren a elementos con un atributo de tipo ID. Muchos navegadores actuales no soportan este uso de atributos de tipo ID, de tal manera que se pueden dar valores idénticos a ambos atributos para asegurar la máxima compatibilidad futura y retroactiva.
- Uso del carácter & amp; en valores de atributos. Cuando el valor de un atributo contenga un carácter &, debe expresarse como una referencia a la entidad de tipo carácter.
- Codificación de caracteres . Para especificar una codificación de caracteres en el documento, usar tanto la especificación del atributo de codificación en la declaración XML como una sentencia meta http-equiv. El valor del atributo de codificación de la instrucción de proceso XML tiene preferencia.
Recomendación W3C de XHTML1.1 (31 mayo 2001) define un nuevo tipo de documento que está basado en un marco de módulos que están definidos en el documento de modularización de XHTML. Se busca que este nuevo tipo de documento sea la base para extender la familia XHTML y proveer consistencia, compatibilidad para aquellas opciones a eliminar (deprecated). Esta recomendación básicamente es una reformulación de XHTML 1.0 Strict incluyéndole el uso de módulos XHTML.
XHTML 1.1 da de baja el soporte para:
- Base basefont
- Center font
- Frame frameset
- Iframe isindex
- Menu noframes
- Object s
- strike
El tipo de documento XHTML 1.1 esta hecho de los siguientes módulos, los cuales están definidos en el documento Modularización de XHTML.
- Modulo Estructural: body, head, html, title
- Modulo Texto: abbr, acronym, address, blockquote, br, cite, code, dfn, div, em, h1, h2, h3, h4, h5, h6, kbd, p, pre, q, samp, span, strong, var.
- Modulo Hipertexto: a
- Modulo Lista: dl, dt, dd, ol, ul, li
- Modulo Objeto: object, param
- Modulo Presentación: b, big, hr, i, small, sub, sup, tt
- Modulo Editar: del, ins
- Modulo Texto Bidireccional: bdo
- Modulo Formas: button, fieldset, form, input, label, legend, select, optgroup, option, textarea
- Modulo Tablas: caption, col, colgroup, table, tbody, td, tfoot, th, thead, tr.
- Modulo imagen: img
- Modulo Mapa lado Cliente: area, map
- Modulo Mapa lado Servidor: Attribute ismapon img
- Modulo eventos intrínsecos: Atributos Events
- Modulo Metainformación: meta
- Modulo de Scripts: noscript, script
- Modulo Hoja de estilos: elementos style
- Modulo Atributo Style: Deprecated : atributo style
- Modulo link: link
- Modulo base: base
Extraído y reescrito. (Fuentes: W3C, WikiLearning, http://www.tejedoresdelweb.com/, etc)
No hay comentarios:
Publicar un comentario