María Jesús Lamarca Lapuente. Hipertexto: El nuevo concepto de documento en la cultura de la imagen. |
El XHTML (eXtensible Hypertext Markup Language)
El lenguaje XHTML surgió ante los problemas de compatibilidad que surgían cuando se usaba un documento HTML en distintas plataformas. La especificación XHTML viene a ser una reformulación del HTML como aplicación XML. En realidad, es una reformulación de las tres definiciones de tipo de documento HTML 4.0 como aplicaciones XML. Su finalidad es que pueda ser usado como lenguaje de contenidos que sea a su vez conforme a XML y, si se siguen algunas sencillas directrices, funciona en agentes de usuario (esto es, las aplicaciones que leen y procesan documentos) conformes con HTML4.0.
Utilizar XHTML en
lugar de HTML
El lenguaje XHTML es una familia de módulos y tipos de documentos que reproduce, engloba y extiende HTML 4.0. Los tipos de documentos de la familia XHTML están basados en XML y diseñados fundamentalmente para trabajar en conjunto con aplicaciones de usuario basados en XML.
Fuente: W3C. HyperText Markup Language Activity Statement.http://www.w3.org/MarkUp/Activity En realidad, XHTML es HTML con sintaxis XML, esto es, XHTML es una aplicación XML que se puede leer con los navegadores normales. Dos elementos destacables son, por un lado, que todo el código debe ir en minúsculas y, por otro, que es obligatorio cerrar las etiquetas. Así pues, <img src="1" alt=uno" debe ser ahora <img src="1" alt="uno" /> He aquí 2 ejemplos de documentos XHTML válidos: <?xml version="1.0"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "xhtml1-strict.dtd"> <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.1//EN""http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> En este ejemplo, la declaración XML está incluida. Una declaración XML como la de arriba no está requerida en todos los documentos XML. También se puede usar XHTML con otros espacios nominales XMLNames, por ejemplo la inclusión de metadatos expresados en RDF dentro de documentos XHTML o con otras recomendaciones como XMath, XML, etc. Para validar el documento XML se puede utilizar cualquier parser de XML. En XMLSoftware se pueden encontrar muchas de estas herramientas (http://html.programacion.net/xhtml/). Una aplicación de usuario debe cumplir todos y cada uno de los criterios de conformidad que se especifican en la Recomendación. Los documentos deben ser "gramaticalmente correctos". La gramaticalidad de los documentos es un nuevo concepto introducido por XML. Esencialmente significa que todos los elementos bien deben tener etiquetas de cierre y deben ser escritos de manera correcta, y que todos los elementos deben estar anidados, pues, aunque el solapamiento de elementos no estaba permitido en SGML, era tolerado en los navegadores existentes. En realidad, no resulta demasiado complicado convertir un documento HTML a un documento XHTML válido. Depende esencialmente de cómo hayamos construido nuestro documento HTML. Si lo hemos construido y codificado bien en HTML, es decir, hemos entrecomillado todos y cada uno de los atributos, hemos cerrado todas las etiquetas y las anidamos correctamente, mantenemos la estructura esencial de la página, etc., y lo escribimos todo en minúsculas, la conversión de HTML a XHTML es prácticamente inmediata. Así pues, se puede hacer esta conversión de forma manual, aunque también existen editores y convertidores automáticos que convierten HTML en XHTML, como una herramienta llamada HTML Tidy desarrollada por Dave Raggett del W3C Consortium (http://www.w3.org/People/Raggett/tidy/) o Amaya que es un navegador/editor que guarda documentos HTML como XHTML (http://www.w3.org/Amaya/).
Etiquetas XHTML La especificación XHTML daba una explicación clara de por qué es necesario usar XHTML:
Y esto es lo que hace la Modularization of XHTML. http://www.w3.org/TR/xhtml-modularization/ ha hecho. Esta modularización especifica un compendio de la modularización de XHTML y ofrece una implementación de dicho compendio usando las DTDs o Document Type Definitions de XML o Esquemas XML. Esta modularización proporciona un medio para subdividir y extender XHTML, una característica necesaria para extender el alcance de XHTML a las plataformas emergentes HTML ha sido el lenguaje de etiquetado de documentos con más éxito del mundo. Pero cuando se presentó XML, se organizó un taller de dos días de duración para analizar si era necesaria una nueva versión de HTML basada en XML. La opinión general del taller fue un rotundo "Sí": con un HTML basado en XML, otros lenguajes XML podrían incluir porciones de XHTML, y los documentos XHTML podrían incluir porciones de otros lenguajes de etiquetado. Incluso se podría aprovechar el rediseño para limpiar algunas de las partes más descuidadas de HTML, y añadir algunas funcionalidades nuevas y necesarias, tales como mejores formularios. Si los documentos son XHTML 1.0 puro (sin incluir otros lenguajes de etiquetado) entonces las diferencias con HTML no serán muy significativas. Sin embargo, a medida que proliferan las herramientas XML, como XSLT para la transformación de documentos, las ventajas de usar XHTML serán más visibles. XForms por ejemplo, permitirá editar documentos XHTML (u otros tipos de documentos XML) de forma sencilla. Además, las aplicaciones de Web Semántica serán capaces de sacar provecho de los documentos XHTML. Sin embargo, si los documentos son algo más que XHTML 1.0, por ejemplo si incluyen MathML, SMIL, o SVG, entonces las ventajas son inmediatas, ya que este tipo de combinaciones no son posibles con HTML. Los navegadores HTML aceptan cualquier entrada, ya sea correcta o no, e intentan mostrar algo perceptible con lo que reciben. Dicha corrección de errores hace que los navegadores sean muy difíciles de implementar, especialmente si se espera que todos los navegadores actúen de igual manera. Esto también supone que una enorme cantidad de documentos HTML sean incorrectos, ya que, al mostrarse correctamente en el navegador, el autor no es consciente de los errores. Todo ello hace que sea realmente complicado implementar nuevos agentes de usuario, puesto que los documentos que se supone son HTML, frecuentemente tienen errores. Aunque los navegadores son, de hecho, usuarios importantes de HTMLy XHTML, hay otros programas y sistemas que leen esos documentos. Los motores de búsqueda, por ejemplo, leen documentos pero no son navegadores. Por eso se utiliza el término agente de usuario, en vez de navegadores, ya que con este término se incluye a cualquier aplicación que lee y procesa un documento en un determinado lenguaje. Por ejemplo, cuando hacemos una búsqueda, en algunos casos
vemos que en el resultado de búsqueda aparece algo similar a: "Esta página Web contiene marcos,
pero su navegador no los soporta", lo que desanima a los usuarios a hacer clic
en ese vínculo. El autor del sitio Web en cuestión no se ha dado cuenta de que
no todo son navegadores, y de que se debe incluir un texto mejor en la sección
Otra característica importante en es que en XHTM se utilizan los espacios de nombres o namespaces. Las declaraciones de los espacios de nombres indican al navegador o a otro agente de usuario a qué lenguaje pertenecen los elementos y atributos que están contenidos en un documento, para que este navegador o agente los reconozca. En los primeros tiempos del lenguaje HTML diferentes grupos y compañías añadieron nuevos elementos y atributos al HTML y esto podía provocar un caos entre las distintas versiones de HTML que se convertían en no interoperables. Sin embargo, XML (la X significa eXtensible) permite a cualquiera utilizar elementos de diferentes lenguajes, por lo que hay que indicar qué lenguaje estamos utilizando. La modularización de XHTML no se dirige a los usuarios normales de XHTML, sino a los diseñadores de lenguajes basados en XHTML. Las compañías y grupos tienen la tendencia a diseñar sus propias versiones de HTML y XHTML, y éstas a menudo no son interoperables en los niveles básicos. La modularización XHTML divide XHTML en una serie de módulos que pueden seleccionarse individualmente cuando se define un nuevo lenguaje; de esta manera se garantiza que cualquier lenguaje basado en XHTML que utilice por ejemplo tablas, utilice la misma definición de tablas, y no otra versión divergente. La modularización también aclara dónde es correcto añadir nuevos elementos y dónde no lo es. A la vez que el uso de XHTML vaya pasando de las aplicaciones de usuario del ordenador de sobremesa tradicional a otras plataformas, está claro que no todos los elementos de XHTML serán necesarios en todas las plataformas. Por ejemplo un dispositivo de mano o un teléfono móvil pueden soportar sólo un subconjunto elementos de XHTML. El proceso de modularización rompe XHTML en una serie de pequeños conjuntos de elementos. Dichos elementos pueden ser recombinados para cumplir las necesidades de diferentes comunidades. La Modularización de XHTML es una descomposición de XHTML y, por referencia, de HTML 4, en una colección de módulos resumen que proporcionan tipos de funcionalidad específicos. Estos módulos resumen son implementados en esta especificación usando el lenguaje de Definición de Tipo de Documento de XML o Esquemas XML. Los módulos pueden ser combinados con cualquiera de los otros y con otros módulos para crear subconjuntos y extensiones de tipos de documento XHTML que puedan calificarse como miembros de la familia de tipos de documentos XHTML. La modularización conlleva diversas ventajas:
La modularización de XHTML está recogida en 2 Especificaciones:
Así pues, la modularización y extensibilidad de XHTML ha mejorado las posibilidades de estructuración, eliminación de características repetidas en XML, usabilidad, accesibilidad, internacionalización, independencia del dispositivo, mejores formularios y reducción de la necesidad de scripts, etc. Bibliografía:
Mapa de navegación / Tabla de contenido / Mapa conceptual / Tabla de documentos / Buscador / Bibliografía utilizada / Glosario de Términos / Índice Temático / Índice de Autores
|
|