Así pues, el XHTML es prácticamente igual que el HTML, y tal como su nombre indica, es simplemente una versión eXtendida del mismo, pero observando algunas modificaciones de sintaxis y eliminando algunos elementos de estilo que pasan a definirse por otros medios en la CSS, que se convierte en una compañera inseparable del nuevo estándar.
Estas son las reglas de sintaxis más notables:
Buena prueba de esto es el enredo que hay que escribir para poder incrustar un bloque JavaScript en una página XHTML que deba validar código estricto. Por supuesto, se utiliza también una nueva sintaxis para el elemento <SCRIPT>, pero además habrá que "adornarla" un poco para que no genere errores de JavaScript ni de validación XHTML. Sea, por ejemplo, este JavaScript en una página HTML:
<SCRIPT LANGUAGE="JavaScript"> function mensaje() { alert('Prueba de JavaScript con XHTML') } </SCRIPT>En XHTML tendremos que escribirlo asi:
<script type="text/javascript"><!--//--><![CDATA[//><!-- function mensaje() { alert('Prueba de JavaScript con XHTML') } //--><!]]></script>Como puedes ver, es un poco engorroso. Una posible solución para ahorrarse esto es pasar todo el código JavaScript a un fichero externo a la página (si es posible, claro), en cuyo caso no hay que escribir la etiqueta <script>, tal como se explica en la sección de JavaScript de esta guia.
Exactamente igual habrá que resolver el problema si se trata del elemento <STYLE>, que como ya sabrás, puede estar tanto embebido en la propia página HTML como en un fichero separado (las famosas CSS).
Al igual que en HTML, el estándar recomienda incluir al principio de cada página una identificación de tipo de documento. Es una recomendación, y no tiene ningún efecto práctico en la visualización de la página. Pueden ser varios, aunque solamente hay que poner una:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">La primera, strict, indica que se ha utilizado la forma más estricta de escribir, y debiera validar sin ningún error. Obliga a separar los contenidos de la presentación y no admite ningún elemento de estilo, que deben definirse en la inseparable CSS.
La transitional o código de transición hacia la estricta, permite incluir algunos elementos ya en desuso en XHTML, pero válidos en HTML 4.0. No obliga a utilizar CSS.
Por último la frameset, que está reservada a las páginas que incluyan frames, muy desaconsejados últimamente, ya que generan problemas de usabilidad, vocablo de nuevo cuño que viene a significar que no todo el mundo puede usar (ver u oir) tu página tal cual, sino por medio de programas y/o aparatos adaptadores.
La etiqueta <HTML> típica del principio de todas las páginas, tampoco ha escapado a la reconversión, y debe escribirse así:
<html xmlns="http://www.w3.org/1999/xhtml" lang="es" xml:lang="es">Donde el parámetro lang indica la lengua o idioma en que está escrita la página: es = español, en = inglés, fr = francés, etc.
La etiqueta <head> permanece sin cambios (escrita en minúsculas, por supuesto), pero las instrucciones meta que van en su interior sí han resultado afectadas por la nueva sintaxis. Además de ir en minúsculas, como todas, hay que añadirles la barra de cierre, y existe la recomendación de incluir al menos una con el código de caracteres utilizado.
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />Hay varios charset, es decir la tabla de codificación de caracteres En los web de habla hispana suelen utilizarse mayoritariamente el ISO 8859-1 y el UTF-8. Este último, es el llamado formato unicode, y es válido para todos los caracteres de las lenguas occidentales. Se recomienda su uso para escribir páginas XHTML.