lunes, 31 de octubre de 2011

Un pequeño repaso a XHTML como puente hasta el XML

XHTML
Introducción
En sus inicios, el lenguaje HTML fue ampliamente adoptado por la comunidad, lo que dio lugar a que el HTML empezase a crecer incorporando etiquetas nuevas, pero sin demasiado control. Esto provocó que determinados contenidos sólo fuesen accesibles desde determinados navegadores. Por tanto, esta falta de estandarización dio lugar a que el hTML dejase de ser tan sencillo como era en un principio.
Es en ese momento, cuando XML hace su aparición, y se postula como alternativa al caos generado por el crecimiento de HTML. Sin embargo, XML está orientado al intercambio de información más que a la presentación de la misma. Como solución se propone utilizar una combinación de XML y HTML y de esta forma y de un modo natural surge XHTML (eXtensible Hypertext Markup Language), como dialecto de XML, pero con las características orientadas a presentación de información en HTML
Por tanto, una de las principales diferencias es que HTML proviene de SGML mientras que XHTML proviene de XML, lo que condiciona su sintaxis, entre otras características

Ventajas respecto del HTML
Las principales ventajas del XHTML sobre el HTML son:
·         Se pueden incorporar elementos de distintos espacios de nombres XML (como MathML y Scalable Vector Graphics).
·         Un navegador no necesita implementar heurísticas para detectar qué quiso poner el autor, por lo que el parser puede ser mucho más sencillo.
·         Como es XML se pueden utilizar fácilmente herramientas creadas para procesamiento de documentos XML genéricos (editores, XSLT, etc.).
Sintaxis
Debe existir un único elemento raíz llamado <html>
Se debe incluir una instrucción de procesamiento XML para indicar la versión de XML y la  codificación de caracteres usada
<?xml version=”1.0” encoding=”UTF-8”?>
Debe existir una declaración de Doctype para poder validar el documetno frente al DTD correspondiente. Por ejemplo
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd” >
Las etiquetas de apertura deberán tener su correspondiente par de cierre teniendo en cuenta los posibles anidamientos de etiquetas.
Como XML diferencia entre mayúsculas y minúsculas las etiquetas válidas en XHTML deberán ir siempre en minúsculas
Los valores de los atributos se escriben siempre entre comillas dobles
Elementos vacíos que en HTML son correctos como <br>, en XHTML deben escribirse como <br/> ocomo <br></br>
Versiones
El lenguaje XHTML surgió a partir de la versión HTML 4.0 alrededor del año 2000 y se denominó XHTML 1.0. A partir de entonces se empezaron a desarrollar algunas nuevas versiones como el XHTML 1.1 (en 2001) Posteriormente, se desarrollaron borradores de nuevas versiones, como la 1.2 o la 2.0 que nunca llegaron a estandarizarse y a usarse ampliamente. En la actualidad, se está trabajando sobre XHTML 5.0
Para la versión 1.0 existen varias versiones dependiendo de lo restrictivo que se quiere que sea el DTD correspondiente. Existen las siguientes versiones:
-          Transitional: en este caso se permite el uso de algunos elementos que están en desuso o desaconsejados(del inglés deprecated) como por ejemplo, <center> o <font>
-          Strict: este, sin embargo, no permite incluir los elementos marcados por la W3C como deprecated
-          Frameset: permite escribir documentos XHTML usando marcos.

Por otro lado, la versión 1.1 surge para dotar a la versión 1.0 de modularidad. De esta forma, se permite el uso de módulos externos combinados con XHTML 1.1. Una segunda edición de la versión 1.1 se publicó por parte del W3C en 2010 para corregir algunas erratas en la especificación original e incluir el uso de XML Schema


Apéndice
El estándar XHTML indica en un apéndice informativo una manera de escribir XHTML de modo tal que los navegadores actuales que sólo entienden HTML, lo procesen como si fuera éste. Para esto se deberá crear un documento con algunas restricciones y consideraciones, y servirlo con el «content-type» text/html, en vez del correcto para XHTML.
Algunas de las reglas propuestas para que XHTML «parezca» HTML son:
·         No usar instrucciones de proceso.
·         Los elementos vacíos (como <br>) deberán escribirse <br />, es decir en forma abreviada y con un espacio antes de «/».
·         No se debe utilizar la forma abreviada para elementos no vacíos que no tengan contenido, es decir: no se debe escribir <p/>.
Para algunos autores, la inclusión de este apéndice en el estándar fue un error y consideran que es un error usar XHTML de esta manera.


Diferencias entre HTML y XHTML
La siguiente lista muestra algunas reglas de XHTML 1.0 que lo diferencian de HTML 4.01. Muchas de estas diferencias vienen con el cambio de ser una aplicación SGML a ser una aplicación del más estricto XML:
  • Los elementos vacíos deben cerrarse siempre:
      • Incorrecto: <br>
      • Correcto: <br></br> o <br/> o <br />
Nota: Cualquiera de las tres formas es válida en XHTML. Para compatibilidad según el "Apéndice C" debe usarse <br />.
  • Los elementos no vacíos también deben cerrarse siempre:
      • Incorrecto: <p>Primer párrafo<p>Segundo párrafo
      • Correcto: <p>Primer párrafo</p><p>Segundo párrafo</p>
  • Los elementos anidados deben tener un correcto orden de apertura/cierre (el que se abre último, debe cerrarse primero).
      • Incorrecto: <em><strong>Texto</em></strong>
      • Correcto: <em><strong>Texto</strong></em>
  • Los valores de los atributos deben siempre ir encerrados entre comillas (simples o dobles).
      • Incorrecto: <td rowspan=3>
      • Correcto: <td rowspan="3">
      • Correcto: <td rowspan='3'>
  • Los nombres de elementos y atributos deben ir en minúsculas.
      • Incorrecto: <A HREF="http://www.domname.com">Domname</A>
      • Correcto: <a href="http://www.domname.com">Domname</a>

  • No está permitida la minimización de atributos (se usa el nombre del atributo como valor).
      • Incorrecto: <textarea readonly>Solo-lectura</textarea>
      • Correcto: <textarea readonly="readonly">Solo-lectura</textarea>
  • Los atributos desaprobados en HTML 4.01 no forman parte de XHTML.
      • Incorrecto: <font color="#0000FF">Blue text</font>
      • Correcto: <span style="color: #0000FF;">Blue text</span>

Reglas para DTDs estrictos
§         El texto no debe ser insertado directamente en el cuerpo (dentro de la etiqueta body).
·         Incorrecto: <body>Texto plano</body>
·         Correcto: <body><span>Texto plano</span></body>

§         No se deben insertar elementos de bloque dentro de elementos de línea.
·         Incorrecto: <em><h2>Título</h2></em>
·         Correcto: <h2><em>Título</em></h2>



Actividades
-          Reescriba el documento HTML de la actividad global anterior usando XHTML.
-          Compruebe que el documento sea válido usando, por ejemplo, el validador del consorcio W3

No hay comentarios:

Publicar un comentario