stringtranslate.com

XHTML

El lenguaje de marcado de hipertexto extensible ( XHTML ) es parte de la familia de lenguajes de marcado XML que refleja o extiende versiones del ampliamente utilizado lenguaje de marcado de hipertexto (HTML), el lenguaje en el que se formulan las páginas web . [1]

Mientras que HTML, antes de HTML5 , se definía como una aplicación del lenguaje de marcado generalizado estándar (SGML), un marco de lenguaje de marcado flexible, XHTML es una aplicación de XML , un subconjunto más restrictivo de SGML. Los documentos XHTML están bien formados y, por lo tanto, pueden analizarse utilizando analizadores XML estándar, a diferencia de HTML, que requiere un analizador específico de HTML indulgente. [2]

XHTML 1.0 se convirtió en una recomendación del Consorcio World Wide Web (W3C) el 26 de enero de 2000. XHTML 1.1 se convirtió en una recomendación del W3C el 31 de mayo de 2001. XHTML se conoce ahora como "la sintaxis XML para HTML" [3] [4] y se está desarrollando como una adaptación XML del estándar HTML. [5] [6]

Descripción general

XHTML 1.0 fue "una reformulación de los tres tipos de documentos HTML 4 como aplicaciones de XML 1.0". [7] El Consorcio World Wide Web (W3C) también mantuvo simultáneamente la Recomendación HTML 4.01. En el documento de Recomendación XHTML 1.0, publicado y revisado en agosto de 2002, el W3C comentó que "la familia XHTML es el siguiente paso en la evolución de Internet. Al migrar a XHTML hoy, los desarrolladores de contenido pueden ingresar al mundo XML con todos los beneficios que conlleva, sin perder la confianza en la compatibilidad de su contenido con versiones anteriores y futuras". [7]

Sin embargo, en 2005, el Grupo de Trabajo de Tecnología de Aplicaciones de Hipertexto Web (WHATWG) se formó, independientemente del W3C, para trabajar en el avance del HTML ordinario no basado en XHTML. El WHATWG finalmente comenzó a trabajar en un estándar que admitiera serializaciones XML y no XML , HTML5 , en paralelo a los estándares del W3C como XHTML 2.0. En 2007, el grupo de trabajo HTML del W3C votó para reconocer oficialmente HTML5 y trabajar en él como el estándar HTML de próxima generación. [8] En 2009, el W3C permitió que el estatuto del Grupo de Trabajo XHTML 2.0 expirara, reconociendo que HTML5 sería el único estándar HTML de próxima generación, incluyendo serializaciones XML y no XML. [9] De las dos serializaciones, el W3C sugiere que la mayoría de los autores usen la sintaxis HTML, en lugar de la sintaxis XHTML. [10]

Las recomendaciones del W3C de XHTML 1.0 y XHTML 1.1 se retiraron el 27 de marzo de 2018, [11] [12] junto con HTML 4.0, [13] HTML 4.01, [14] y HTML5. [15]

Motivación

XHTML fue desarrollado para hacer HTML más extensible y aumentar la interoperabilidad con otros formatos de datos. [16] Además, los navegadores perdonaban los errores en HTML, y la mayoría de los sitios web se mostraban a pesar de los errores técnicos en el marcado; XHTML introdujo un manejo de errores más estricto. [17] HTML 4 era ostensiblemente una aplicación del Lenguaje de marcado generalizado estándar (SGML); sin embargo, la especificación para SGML era compleja, y ni los navegadores web ni la Recomendación HTML 4 eran totalmente conformes con ella. [18] El estándar XML, aprobado en 1998, proporcionó un formato de datos más simple más cercano en simplicidad a HTML 4. [19] Al cambiar a un formato XML, se esperaba que HTML se volviera compatible con herramientas XML comunes; [20] los servidores y proxies podrían transformar el contenido, según fuera necesario, para dispositivos restringidos como teléfonos móviles. [21] Al usar espacios de nombres , los documentos XHTML podrían proporcionar extensibilidad al incluir fragmentos de otros lenguajes basados ​​en XML como Scalable Vector Graphics y MathML . [22] Finalmente, el trabajo renovado brindaría una oportunidad para dividir HTML en componentes reutilizables ( modularización XHTML ) y limpiar las partes desordenadas del lenguaje. [23]

Relación con HTML

Existen varias diferencias entre XHTML y HTML. El modelo de objetos de documento (DOM) es una estructura de árbol que representa la página internamente en las aplicaciones, y XHTML y HTML son dos formas diferentes de representarla en el marcado. Ambos son menos expresivos que el DOM (por ejemplo, "--" se puede colocar en comentarios en el DOM, pero no se puede representar en un comentario ni en XHTML ni en HTML) y, en general, la sintaxis XML de XHTML es más expresiva que HTML (por ejemplo, no se permiten espacios de nombres arbitrarios en HTML). XHTML utiliza una sintaxis XML, mientras que HTML utiliza una sintaxis pseudo- SGML (oficialmente SGML para HTML 4 y versiones anteriores, pero nunca en la práctica, y estandarizada a partir de SGML en HTML5). Debido a que los contenidos expresables del DOM en la sintaxis son ligeramente diferentes, existen algunos cambios en el comportamiento real entre los dos modelos. Sin embargo, las diferencias de sintaxis se pueden superar implementando un marco de traducción alternativo dentro del marcado.

En primer lugar, existen algunas diferencias en la sintaxis: [24]

Además de las diferencias sintácticas, existen algunas diferencias de comportamiento, que en su mayoría surgen de las diferencias subyacentes en la serialización. Por ejemplo:

Adopción

Las similitudes entre HTML 4.01 y XHTML 1.0 llevaron a muchos sitios web y sistemas de gestión de contenido a adoptar la recomendación inicial XHTML 1.0 del W3C. Para ayudar a los autores en la transición, el W3C proporcionó orientación sobre cómo publicar documentos XHTML 1.0 de una manera compatible con HTML y mostrarlos en navegadores que no estaban diseñados para XHTML. [28] [29]

Este tipo de contenido "compatible con HTML" se envía utilizando el tipo de medio HTML ( text/html) en lugar del tipo de medio oficial de Internet para XHTML ( application/xhtml+xml). Por lo tanto, al medir la adopción de XHTML en comparación con la del HTML normal, es importante distinguir si lo que se está comparando es el uso del tipo de medio o el contenido real del documento. [30] [31]

La mayoría de los navegadores web tienen un soporte maduro [32] para todos los tipos de medios XHTML posibles. [33] La notable excepción son las versiones 8 y anteriores de Internet Explorer de Microsoft ; en lugar de mostrar application/xhtml+xmlel contenido, un cuadro de diálogo invita al usuario a guardar el contenido en el disco. Tanto Internet Explorer 7 (lanzado en 2006) como Internet Explorer 8 (lanzado en marzo de 2009) muestran este comportamiento. [34] El desarrollador de Microsoft Chris Wilson explicó en 2005 que las prioridades de IE7 eran mejorar la seguridad del navegador y el soporte CSS , y que sería difícil incorporar un soporte XHTML adecuado al analizador HTML orientado a la compatibilidad de IE; [35] sin embargo, Microsoft agregó soporte para XHTML verdadero en IE9 . [36]

Mientras el soporte no esté generalizado, la mayoría de los desarrolladores web evitan usar XHTML que no sea compatible con HTML, [37] por lo que las ventajas de XML como espacios de nombres, análisis más rápido y navegadores de menor tamaño no benefician al usuario. [38] [39] [40]

Crítica

A principios de la década de 2000, algunos desarrolladores web comenzaron a preguntarse por qué los autores web dieron el salto a la creación en XHTML. [41] [42] [43] Otros respondieron que los problemas atribuidos al uso de XHTML se podían atribuir principalmente a dos fuentes principales: la producción de documentos XHTML no válidos por parte de algunos autores web y la falta de soporte para XHTML integrado en Internet Explorer 6. [ 44] [45] Continuaron describiendo los beneficios de los documentos web basados ​​en XML (es decir, XHTML) con respecto a la búsqueda, indexación y análisis, así como a la preparación de la propia Web para el futuro.

En octubre de 2006, el inventor del HTML y presidente del W3C Tim Berners-Lee , al presentar un importante esfuerzo del W3C para desarrollar una nueva especificación HTML, publicó en su blog que "[e]l intento de hacer que el mundo cambie a XML... de golpe no funcionó. El gran público generador de HTML no se movió... Algunas grandes comunidades sí cambiaron y están disfrutando de los frutos de sistemas bien formados... El plan es crear un grupo HTML completamente nuevo". [46] El borrador de trabajo actual de HTML5 dice que "se ha prestado especial atención a definir criterios de conformidad claros para los agentes de usuario en un esfuerzo por mejorar la interoperabilidad... mientras que al mismo tiempo se actualizan las especificaciones HTML para abordar los problemas planteados en los últimos años". Ian Hickson , editor de la especificación HTML5 que critica el uso indebido de XHTML en 2002, [41] es miembro del grupo que desarrolla esta especificación y figura como uno de los coeditores del borrador de trabajo actual. [47]

Simon Pieters investigó la compatibilidad de los navegadores móviles con XML [48] y concluyó que "la afirmación de que XHTML sería necesario para los dispositivos móviles es simplemente un mito".

Versiones de XHTML

XHTML 1.0

En épocas anteriores [¿ cuándo? ] , Wikipedia utilizaba el tipo de documento y la sintaxis XHTML 1.0 Transitional, aunque no se presentaba como XHTML.

En diciembre de 1998 se publicó un borrador de trabajo del W3C titulado Reformulating HTML in XML (Reformulación de HTML en XML). En él se introdujo Voyager, el nombre en clave de un nuevo lenguaje de marcado basado en HTML 4, pero que se adhirió a las reglas de sintaxis más estrictas de XML. En febrero de 1999, el nombre de la especificación había cambiado a XHTML 1.0: The Extensible HyperText Markup Language (XHTML 1.0: lenguaje de marcado de hipertexto extensible ) , y en enero de 2000 se adoptó oficialmente como una recomendación del W3C. [49] Existen tres definiciones de tipo de documento (DTD) formales para XHTML 1.0, que corresponden a las tres versiones diferentes de HTML 4.01:

La segunda edición de XHTML 1.0 se convirtió en una recomendación del W3C en agosto de 2002. [50]

Modularización de XHTML

La modularización proporciona una colección abstracta de componentes a través de los cuales se pueden crear subconjuntos y extender XHTML. La función tiene como objetivo ayudar a que XHTML extienda su alcance a plataformas emergentes, como dispositivos móviles y televisores con acceso a Internet. El borrador inicial de Modularización de XHTML se publicó en abril de 1999 y alcanzó el estado de Recomendación en abril de 2001. [51]

Las primeras variantes modulares de XHTML fueron XHTML 1.1 y XHTML Basic 1.0.

En octubre de 2008, la Modularización de XHTML fue reemplazada por la Modularización de XHTML 1.1 , que agrega una implementación de esquema XML . Fue reemplazada por una segunda edición en julio de 2010. [52]

XHTML 1.1: XHTML basado en módulos

XHTML 1.1 evolucionó a partir del trabajo en torno a la modularización inicial de la especificación XHTML . El W3C publicó el primer borrador en septiembre de 1999; el estado de recomendación se alcanzó en mayo de 2001. [53] Los módulos combinados dentro de XHTML 1.1 recrean efectivamente XHTML 1.0 Strict, con la adición de elementos de anotación rubyruby ​​( , rbc, rtc, rb, rty rp) para brindar un mejor soporte a los idiomas del este asiático. Otros cambios incluyen la eliminación del nameatributo de los elementos ay map, y (en la primera edición del lenguaje) la eliminación del langatributo a favor de xml:lang.

Aunque XHTML 1.1 es en gran medida compatible con XHTML 1.0 y HTML 4, en agosto de 2002 el Grupo de Trabajo emitió una Nota formal en la que aconsejaba que no se transmitiera con el tipo de medio HTML. [54] Debido a que el soporte de los navegadores para el tipo de medio alternativo era limitado application/xhtml+xml, XHTML 1.1 no logró un uso generalizado. En enero de 2009 se publicó una segunda edición del documento ( XHTML Media Types – Second Edition ), que relajaba esta restricción y permitía que XHTML 1.1 se transmitiera como text/html. [55]

La segunda edición de XHTML 1.1 se publicó el 23 de noviembre de 2010, corrigiendo varias erratas y añadiendo una implementación de esquema XML no incluida en la especificación original. [56] (Se publicó brevemente por primera vez el 7 de mayo de 2009 como una "Recomendación editada propuesta" [57] antes de ser rescindida el 19 de mayo debido a problemas no resueltos).

XHTML básico

Dado que los dispositivos de información pueden carecer de los recursos del sistema necesarios para implementar todos los módulos abstractos XHTML, el W3C definió una especificación XHTML limitada en cuanto a características, denominada XHTML Basic. Esta especificación proporciona un subconjunto mínimo de características suficiente para la creación de contenido más común. La especificación se convirtió en una recomendación del W3C en diciembre de 2000. [58]

De todas las versiones de XHTML, XHTML Basic 1.0 es la que ofrece menos funciones. Junto con XHTML 1.1, es una de las dos primeras implementaciones de XHTML modular. Además de los módulos básicos (estructura, texto, hipertexto y lista), implementa los siguientes módulos abstractos: Base, Formularios básicos, Tablas básicas, Imagen, Enlace, Metainformación, Objeto, Hoja de estilo y Destino. [59] [60]

XHTML Basic 1.1 reemplaza el módulo Formularios básicos por el módulo Formularios y añade los módulos Eventos intrínsecos, Presentación y Creación de scripts. También admite etiquetas y atributos adicionales de otros módulos. Esta versión se convirtió en una recomendación del W3C el 29 de julio de 2008. [61]

La versión actual de XHTML Basic es la 1.1 Segunda Edición (23 de noviembre de 2010), en la que el lenguaje se ha vuelto a implementar en el lenguaje de esquema XML del W3C . Esta versión también admite el langatributo. [62]

Impresión XHTML

XHTML-Print, que se convirtió en una recomendación del W3C en septiembre de 2006, es una versión especializada de XHTML Basic diseñada para documentos impresos desde dispositivos de información a impresoras de gama baja . [63]

Perfil XHTML para dispositivos móviles

XHTML Mobile Profile (abreviado XHTML MP o XHTML-MP) es una variante de terceros de la especificación XHTML Basic del W3C. Al igual que XHTML Basic, XHTML fue desarrollado para dispositivos de información con recursos de sistema limitados.

En octubre de 2001, una sociedad anónima llamada Wireless Application Protocol Forum comenzó a adaptar XHTML Basic para WAP 2.0 , la segunda versión principal del Wireless Application Protocol . WAP Forum basó su DTD en la Modularización de XHTML del W3C, incorporando los mismos módulos que el W3C utilizó en XHTML Basic 1.0, excepto el Módulo de destino. Partiendo de esta base, WAP Forum reemplazó el Módulo de formularios básicos con una implementación parcial del Módulo de formularios, agregó soporte parcial para los módulos Legacy y Presentation, y agregó soporte completo para el Módulo de atributos de estilo.

En 2002, el Foro WAP se fusionó con la Open Mobile Alliance (OMA), que continuó desarrollando el Perfil Móvil XHTML como un componente de su Especificación de Navegación OMA.

Perfil móvil XHTML 1.1

A esta versión, finalizada en 2004, la OMA añadió soporte parcial para el módulo de secuencias de comandos y soporte parcial para eventos intrínsecos. XHTML MP 1.1 es parte de la v2.1 de la especificación de navegación de la OMA (1 de noviembre de 2002). [64]

Perfil móvil XHTML 1.2

Esta versión, finalizada el 27 de febrero de 2007, amplía las capacidades de XHTML MP 1.1 con soporte completo para el módulo de formularios y los modos de entrada de texto de OMA. XHTML MP 1.2 es parte de la versión 2.3 de la especificación de navegación de OMA (13 de marzo de 2007). [64]

Perfil móvil XHTML 1.3

XHTML MP 1.3 (finalizada el 23 de septiembre de 2008) utiliza la definición de tipo de documento XHTML Basic 1.1 , que incluye el módulo de destino. Los eventos de esta versión de la especificación se actualizan a las especificaciones DOM de nivel 3 (es decir, son independientes de la plataforma y del lenguaje).

XHTML 1.2

El grupo de trabajo XHTML 2 consideró la creación de un nuevo lenguaje basado en XHTML 1.1. [65] Si se creaba XHTML 1.2, incluiría WAI-ARIA y roleatributos para soportar mejor las aplicaciones web accesibles, y soporte mejorado para la Web Semántica a través de RDFa . El inputmodeatributo de XHTML Basic 1.1, junto con el targetatributo (para especificar los objetivos del marco ) también podrían estar presentes. El grupo de trabajo XHTML2 no había sido autorizado para llevar a cabo el desarrollo de XHTML1.2. Dado que el W3C anunció que no tiene la intención de renovar el grupo de trabajo XHTML2, [9] y cerró el grupo de trabajo en diciembre de 2010, esto significa que la propuesta de XHTML 1.2 no se concretaría.

XHTML 2.0

Entre agosto de 2002 y julio de 2006, el W3C publicó ocho borradores de trabajo de XHTML 2.0, una nueva versión de XHTML capaz de romper con el pasado descartando el requisito de compatibilidad con versiones anteriores. Esta falta de compatibilidad con XHTML 1.x y HTML 4 provocó cierta controversia temprana en la comunidad de desarrolladores web. [66] Algunas partes del lenguaje (como los roleatributos y RDFa) se separaron posteriormente de la especificación y se trabajó en ellas como módulos separados, en parte para ayudar a que la transición de XHTML 1.x a XHTML 2.0 fuera más fluida. Se esperaba que el noveno borrador de XHTML 2.0 apareciera en 2009, pero el 2 de julio de 2009, el W3C decidió dejar que el estatuto del grupo de trabajo de XHTML2 expirara a finales de ese año, deteniendo efectivamente cualquier desarrollo posterior del borrador para convertirlo en un estándar. [9] En cambio, XHTML 2.0 y sus documentos relacionados se publicaron como Notas W3C en 2010. [67] [68]

Las nuevas características que se introdujeron con XHTML 2.0 incluyen:

XHTML5

HTML5 creció independientemente del W3C, a través de un grupo informal de fabricantes de navegadores y otras partes interesadas que se autodenominaron WHATWG (Web Hypertext Application Technology Working Group). El motivo principal del grupo era crear una plataforma para aplicaciones web dinámicas; consideraban que XHTML 2.0 estaba demasiado centrado en documentos y no era adecuado para la creación de sitios de foros de Internet o tiendas en línea. [69]

HTML5 tiene tanto una text/htmlserialización regular como una serialización XML, que también se conoce como XHTML5 . [70] El lenguaje es más compatible con HTML 4 y XHTML 1.x que con XHTML 2.0, debido a la decisión de mantener el modelo de eventos y elementos de formulario HTML existente. Sin embargo, agrega muchos elementos nuevos que no se encuentran en XHTML 1.x, como las etiquetas sectiony aside.

El lenguaje XHTML5, al igual que HTML5, utiliza una declaración DOCTYPE sin una DTD. Además, la especificación descarta las DTD XHTML anteriores al solicitar a los navegadores que las reemplacen con una que contenga únicamente definiciones de entidad para caracteres nombrados durante el análisis. [70]

Contenido semántico en XHTML

XHTML+RDFa es una versión extendida del lenguaje de marcado XHTML para dar soporte a RDF a través de una colección de atributos y reglas de procesamiento en forma de documentos XML bien formados . Este lenguaje anfitrión es una de las técnicas utilizadas para desarrollar contenido de la Web semántica mediante la incorporación de marcado semántico enriquecido.

Documentos XHTML válidos

Se dice que un documento XHTML que cumple con una especificación XHTML es válido . La validez garantiza la coherencia del código del documento, lo que a su vez facilita el procesamiento, pero no garantiza necesariamente una representación coherente por parte de los navegadores. Se puede comprobar la validez de un documento con el Servicio de validación de marcado del W3C (para XHTML5, se debe utilizar en su lugar el Validador Living Validator de nu). En la práctica, muchos programas de desarrollo web proporcionan validación de código basada en los estándares del W3C .

Elemento raíz

El elemento raíz de un documento XHTML debe ser htmly debe contener un xmlnsatributo para asociarlo con el espacio de nombres XHTML . El URI del espacio de nombres para XHTML es http://www.w3.org/1999/xhtml. La etiqueta de ejemplo que se muestra a continuación incluye además un xml:langatributo para identificar el documento con un lenguaje natural :

<html xmlns= "http://www.w3.org/1999/xhtml" xml:lang= "ar" >  

DOCTYPE (Tipos de documentos)

Para validar un documento XHTML, se puede utilizar una Declaración de tipo de documento o DOCTYPE . Un DOCTYPE declara al navegador la Definición de tipo de documento (DTD) a la que se ajusta el documento. La Declaración de tipo de documento debe colocarse antes del elemento raíz .

La parte del identificador del sistema del DOCTYPE, que en estos ejemplos es la URL que comienza con http://, solo necesita apuntar a una copia del DTD que se utilizará, si el validador no puede encontrar una en función del identificador público (la otra cadena entre comillas). No es necesario que sea la URL específica que se encuentra en estos ejemplos; de hecho, se recomienda a los autores que utilicen copias locales de los archivos DTD cuando sea posible. Sin embargo, el identificador público debe ser carácter por carácter igual que en los ejemplos.

Declaración XML

Se puede especificar una codificación de caracteres al comienzo de un documento XHTML en la declaración XML cuando el documento se sirve utilizando el tipo application/xhtml+xml MIME . (Si un documento XML carece de especificación de codificación, un analizador XML supone que la codificación es UTF-8 o UTF-16 , a menos que la codificación ya haya sido determinada por un protocolo superior).

Por ejemplo:

<?xml version="1.0" encoding="UTF-8" ?>

La declaración se puede omitir opcionalmente porque declara que su codificación es la codificación predeterminada. Sin embargo, si el documento utiliza XML 1.1 u otra codificación de caracteres, es necesaria una declaración. Internet Explorer anterior a la versión 7 entra en modo de peculiaridades si encuentra una declaración XML en un documento que se sirve como text/html.

Compatibilidad con versiones anteriores

Los documentos XHTML 1.x son en su mayoría compatibles con versiones anteriores de los agentes de usuario HTML 4 cuando se siguen las pautas adecuadas. XHTML 1.1 es esencialmente compatible, aunque los elementos para la anotación Ruby no forman parte de la especificación HTML 4 y, por lo tanto, los navegadores HTML 4 generalmente los ignoran. Los módulos XHTML 1.x posteriores, como los del roleatributo RDFa y WAI-ARIA, se degradan de manera elegante de manera similar.

XHTML 2.0 es significativamente menos compatible, aunque esto se puede mitigar hasta cierto punto mediante el uso de scripts (pueden ser simples líneas de código, como el uso de document.createElement()para registrar un nuevo elemento HTML en Internet Explorer, o marcos JavaScript completos, como la implementación de XForms en FormFaces ).

Ejemplos

Los siguientes son ejemplos de XHTML 1.0 Strict, y ambos tienen la misma salida visual. El primero sigue las Pautas de compatibilidad HTML de la Nota sobre tipos de medios XHTML, mientras que el segundo rompe la compatibilidad con versiones anteriores, pero proporciona un marcado más limpio. [55]

Ejemplo 1.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns= "http://www.w3.org/1999/xhtml" xml:lang= "en" lang= "en" > <head> <meta http-equiv= "Tipo-de-contenido" content= "texto/html; charset=utf-8" /> <title> Ejemplo de XHTML 1.0 estricto </title> <script type= "texto/javascript" > // <![CDATA[ function loadpdf() {  document.getElementById("pdf-object").src="http://www.w3.org/TR/xhtml1/xhtml1.pdf"; } //]]> </script> </head> < body onload= " loadpdf()" > <p> Este es un ejemplo de un documento XHTML 1.0 Strict . <br /> <img id= "validation-icon" src = "http://www.w3.org/Icons/valid-xhtml10" alt = "XHTML 1.0 Strict válido" /> <br /> <object id= "pdf-object" name = "pdf-object" type= "application/pdf" data= "http://www.w3.org/TR/xhtml1/xhtml1.pdf" width= "100%" height= "500" > </object> </p> </body> </html>                                             

Ejemplo 2.

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns= "http://www.w3.org/1999/xhtml" xml:lang= "en" > <head> <title> Ejemplo de XHTML 1.0 estricto </title> <script type= "application/javascript" > <![CDATA[ function loadpdf() {  document.getElementById("pdf-object").src="http://www.w3.org/TR/xhtml1/xhtml1.pdf"; } ]]> </script> </head> <body onload= "loadpdf()" > <p> Este es un ejemplo de un documento XHTML 1.0 Strict <abbr title= "Lenguaje de marcado de hipertexto extensible" > . <br /> <img id= "validation-icon" src= "http://www.w3.org/Icons/valid-xhtml10" alt= "XHTML 1.0 Strict válido" /> <br /> <object id= " pdf-object" type= "application/pdf" data= "http://www.w3.org/TR/xhtml1/xhtml1.pdf" width= "100%" height= "500" ></object> </p> </body> </html>                                       

Notas:

  1. La función "loadpdf" es en realidad una solución alternativa para Internet Explorer. Se puede reemplazar agregando <param name="src" value="http://www.w3.org/TR/xhtml1/xhtml1.pdf"/>dentro de <object>.
  2. El imgelemento no recibe un nameatributo en la DTD estricta XHTML 1.0. Utilice iden su lugar.

Compatibilidad cruzada de XHTML y HTML

Las serializaciones HTML5 y XHTML5 son en gran medida intercompatibles si se adhieren a la sintaxis XHTML5 más estricta, pero hay algunos casos en los que XHTML no funcionará como HTML5 válido (por ejemplo, las instrucciones de procesamiento están obsoletas en HTML [ aclarar ] , se tratan como comentarios y se cierran en el primer ">", mientras que están completamente permitidas en XML, se tratan como su propio tipo y se cierran en ?>). [71]

Véase también

Referencias

  1. ^ "SGML, XML y XHTML". Centro de ayuda de Adobe . 30 de septiembre de 2016 . Consultado el 13 de junio de 2024 . El lenguaje de marcado de hipertexto extensible (XHTML) es una extensión de HTML que se basa en XML y está diseñada para funcionar con aplicaciones basadas en XML.
  2. ^ Graff, Eliot (7 de mayo de 2014). «Polyglot Markup: A robust profile of the HTML5 dictionary». W3C . Archivado desde el original el 16 de junio de 2022 . Consultado el 17 de octubre de 2015 .
  3. ^ "Escritura de documentos en sintaxis XML". HTML Living Standard . WHATWG . Archivado desde el original el 7 de julio de 2023.
  4. ^ "La sintaxis XML". HTML: The Living Standard . WHATWG . Archivado desde el original el 5 de junio de 2023.
  5. ^ "HTML frente a XHTML". whatwg.org .
  6. ^ "El blog de WHATWG". whatwg.org .
  7. ^ ab "Especificación XHTML 1.0, Sección 1: ¿Qué es XHTML?". Consorcio World Wide Web . 26 de enero de 2000. Consultado el 16 de junio de 2007 .
  8. ^ "resultados de preguntas sobre texto, editor y nombre en HTML 5". W3C .
  9. ^ abc "Preguntas frecuentes (FAQ) sobre el futuro de XHTML". w3.org .
  10. ^ "Borrador de trabajo HTML5, Sección 1.6: HTML vs XHTML". Consorcio World Wide Web . 13 de enero de 2011. Consultado el 16 de febrero de 2011 .
  11. ^ "Historial de publicación de XHTML™ 1.0, el lenguaje de marcado de hipertexto extensible (segunda edición)". Consorcio World Wide Web.
  12. ^ "XHTML™ 1.1 - XHTML basado en módulos - Historial de publicación de la segunda edición". Consorcio World Wide Web.
  13. ^ "Historial de publicación de HTML 4.0". Consorcio World Wide Web.
  14. ^ "Historial de publicación de HTML 4.01". Consorcio World Wide Web.
  15. ^ "Historial de publicaciones HTML5". Consorcio World Wide Web.
  16. ^ "Especificación XHTML 1.0, Sección 1.1: ¿Por qué es necesario XHTML?". Consorcio World Wide Web . 26 de enero de 2000. Consultado el 16 de junio de 2007 .
  17. ^ Pilgrim, Mark. "¿Cómo llegamos hasta aquí? - Sumérgete en HTML5". diveintohtml5.info . Consultado el 11 de junio de 2016 .
  18. ^ Arjun Ray (6 de octubre de 1999). "Eliminación de la referencia normativa a SGML (antes: ID ACTION)". Archivado desde el original el 25 de febrero de 2021. Consultado el 29 de diciembre de 2008. ... Sin embargo, dado que la norma ISO 8879 no otorga a las aplicaciones la libertad de prohibir los subconjuntos internos, se deduce que la letra de la especificación HTML [4] automáticamente le quita el derecho a ser una aplicación conforme a SGML...
  19. ^ Tina Holmboe (6 de octubre de 2008). "XHTML: mitos y realidad". Archivo del desarrollador. Archivado desde el original el 12 de enero de 2017. Consultado el 29 de diciembre de 2008. ... Dado que los objetivos de diseño del propio XML reflejaban parcialmente los del HTML original, era lógico empezar a trabajar en la formulación de un lenguaje de marcado basado en XML...
  20. ^ Kip Hampton (10 de enero de 2001). "Creación de utilidades web mediante XML::XPath". XML.com . Consultado el 29 de diciembre de 2008. ... El problema: desea aprovechar la potencia y la simplicidad que pueden ofrecer las herramientas XML, pero se enfrenta a un sitio lleno de documentos HTML antiguos. La solución: convierta sus documentos a XHTML y ponga Perl a trabajar...XML::XPath
  21. ^ Jean-Luc David (14 de abril de 2004). "Desarrollo de contenido inalámbrico mediante XHTML Mobile". XML.com . Consultado el 29 de diciembre de 2008. ... Una característica útil de XHTML es que se puede manipular como XML. Las plantillas de lenguaje de hojas de estilo extensibles se pueden utilizar para transformar XHTML en WML o cualquier otro formato móvil propietario...
  22. ^ "Curso intensivo sobre espacios de nombres". Centro de desarrolladores de Mozilla. Archivado desde el original el 2008-10-02 . Consultado el 2008-12-29 . ... Desde hace tiempo, el W3C se ha propuesto hacer posible que distintos tipos de contenido basado en XML se mezclen en el mismo archivo XML. Por ejemplo, SVG y MathML se pueden incorporar directamente en un documento científico basado en XHTML...
  23. ^ Steven Pemberton (21 de julio de 2004). "Preguntas frecuentes sobre HTML y XHTML". Consorcio World Wide Web . Consultado el 29 de diciembre de 2008. ... con un HTML basado en XML, otros lenguajes XML podrían incluir fragmentos de XHTML, y los documentos XHTML podrían incluir fragmentos de otros lenguajes de marcado. También podríamos aprovechar el rediseño para limpiar algunas de las partes más desordenadas del HTML y agregar alguna nueva funcionalidad necesaria, como mejores formularios...
  24. ^ Clark, James (15 de diciembre de 1997). "Comparación de SGML y XML". Nota del Consorcio World Wide Web.
  25. ^ "Marcado abreviado". HTML 4, Apéndice B: Notas de rendimiento, implementación y diseño . W3C . Consultado el 30 de septiembre de 2011 .
  26. ^ "Distinción entre mayúsculas y minúsculas". SitePoint Pty. Ltd. Consultado el 30 de septiembre de 2011 .
  27. ^ Wilson, Nicholas (29 de mayo de 2010). "Diferencias de CSS entre XHTML y HTML".
  28. ^ "Especificación XHTML 1.0, Apéndice C: Pautas de compatibilidad HTML". Consorcio World Wide Web . 26 de enero de 2000. Consultado el 16 de junio de 2007 .
  29. ^ "Tipos de medios XHTML, nota del grupo de trabajo del W3C". Consorcio World Wide Web . 2002-08-01 . Consultado el 2008-06-12 .
  30. ^ "Etiquetas meta y en línea que Google entiende | Google Search Central".
  31. ^ Greta de Groat (2002). "Perspectivas sobre la Web y Google: Monika Henzinger , directora de investigación de Google", Journal of Internet Cataloging , vol. 5(1), págs. 17-28, 2002.
  32. ^ Las primeras implementaciones (como Mozilla 0.7 y Opera 6.0, ambas publicadas en 2001) no procesan XHTML de forma incremental a medida que se recibe a través de la red, lo que genera una experiencia de usuario degradada; consulte las Preguntas frecuentes de Mozilla Web Author. Los navegadores posteriores, como Opera 9.0, Safari 3.0 y Firefox 3.0, no tienen este problema.
  33. ^ "Prueba de tipo de medio XHTML - resultados". w3.org .
  34. ^ Chris Wilson (15 de septiembre de 2005). "El prólogo <?xml>, el modo estricto y XHTML en IE" . Consultado el 16 de junio de 2007. También he estado leyendo comentarios durante algún tiempo en el IEBlog que solicitaban compatibilidad con el tipo MIME "application/xml+xhtml" en IE. Debo decir que IE7 no agregará compatibilidad con este tipo MIME; por supuesto, continuaremos leyendo XHTML cuando se sirva como "text/html", suponiendo que siga las recomendaciones de compatibilidad HTML.
  35. ^ Chris Wilson (15 de septiembre de 2005). "El prólogo <?xml>, el modo estricto y XHTML en IE" . Consultado el 16 de junio de 2007. ...Si intentáramos dar soporte a XHTML real en IE 7 , habríamos acabado utilizando nuestro analizador HTML existente (que se centra en la compatibilidad) y modificando las construcciones XML. Es muy poco probable que pudiéramos dar soporte a XHTML de esta manera; en particular, no detectaríamos algunos casos de error aquí y allá, y daríamos soporte en silencio a casos no válidos. Esto, por supuesto, causaría problemas de compatibilidad basados ​​en el manejo de errores del analizador en el futuro, algo que XML está intentando evitar explícitamente; no queremos causar otro lío como el que se produce con el manejo de errores HTML actual (basado en la compatibilidad con navegadores anteriores; pueden culparme personalmente por eso, pero no con IE). Preferiría mucho más tomarme el tiempo para implementar XHTML correctamente después de IE 7, y que sea verdaderamente interoperable...
  36. ^ Hachamovitch, Dean (16 de marzo de 2019). "HTML5, acelerado por hardware: primera versión preliminar de la plataforma IE9 disponible para desarrolladores". IEBlog en Microsoft Developer Network . Microsoft . Consultado el 22 de marzo de 2010 . ... En este momento, estamos buscando comentarios de los desarrolladores sobre nuestra implementación de las reglas de análisis de HTML5, las API de selección, la compatibilidad con XHTML y los SVG en línea. En el caso de CSS3, estamos buscando comentarios de los desarrolladores sobre la compatibilidad de IE9 con selectores, espacios de nombres, colores, valores, fondos y bordes, y fuentes....
  37. ^ "Lista de sitios XHTML (los X-Philes)" . Consultado el 26 de agosto de 2008 .
  38. ^ "En 2007, 37 líderes en optimización de motores de búsqueda concluyeron que tener palabras clave en el atributo de palabras clave es poco o nada útil". Sanger. nu blog, 9 de septiembre de 2008, consultado el 2 de agosto de 2011 Archivado el 21 de febrero de 2009 en Wayback Machine .
  39. ^ "Meta utilizado para SEO". 18 de diciembre de 2015. Archivado desde el original el 31 de marzo de 2016 . Consultado el 18 de marzo de 2016 .
  40. ^ Danny Sullivan , Cómo usar metaetiquetas HTML Archivado el 13 de septiembre de 2008 en Wayback Machine , Search Engine Watch , 5 de diciembre de 2002
  41. ^ por Ian Hickson, ex desarrollador del navegador Opera y cofundador de WHATWG (8 de septiembre de 2002). "Enviar XHTML como texto/html se considera perjudicial" . Consultado el 16 de junio de 2007 .
  42. ^ Anne van Kesteren, desarrolladora del navegador Opera (13 de junio de 2004). "XHTML no es HTML válido" . Consultado el 16 de junio de 2007 .
  43. ^ Maciej Stachowiak, desarrollador del navegador Safari de Apple (20 de septiembre de 2006). "Understanding HTML, XML, and XHTML" (Entender HTML, XML y XHTML) . Consultado el 16 de junio de 2007 .
  44. ^ Brad Fults (2005-12-21). "Enviar XHTML como texto/HTML se considera perjudicial para los sentimientos" . Consultado el 13 de septiembre de 2008. No existen tantas desventajas (si las hay) en enviar XHTML como texto/HTML como afirma [Ian Hickson] y las ventajas que mencioné anteriormente hacen que valga la pena usarlo en mi humilde opinión. Hay algunas notas al pie y paréntesis sutiles [en el artículo de Hickson] que indican que la nocividad solo se aplica a los autores que no conocen los peligros de esta práctica, pero al igual que la etiqueta de "No comer" en los pequeños paquetes de gel de sílice, la advertencia de Ian parece ser de sentido común y no vale la pena mencionarla a ningún autor que realmente sepa qué es XHTML y cómo escribirlo.
  45. ^ Paul McDonald (30 de junio de 2007). "El caso de XHTML" . Consultado el 13 de septiembre de 2008. Algunas personas dicen que XHTML en la Web ha fracasado, pero yo digo que es nuestro mayor éxito en la lucha por los estándares web. ... Sin embargo, XHTML es algo bueno para la Web y es una vergüenza que la gente esté tratando de argumentar en su contra. Para demostrarlo, desarrollaré el mito y luego les mostraré por qué XHTML es lo mejor desde que se inventó el pan de molde en lo que respecta a nuestra lucha por los estándares web. ... Así que, para concluir, enviar XHTML como texto/html no causa ningún daño en ningún lado hoy en día, siempre que su XHTML se valide. Y, si desea que los estándares web se difundan cada vez más, limítese a usar XHTML y valide sus páginas.
  46. ^ Tim Berners-Lee (2006-10-27). "Reinventando HTML". Archivado desde el original el 2007-06-09 . Consultado el 2007-06-16 . Algunas cosas son más claras con la perspectiva de varios años. Es necesario evolucionar HTML de forma incremental. El intento de hacer que el mundo cambie a XML, incluyendo comillas alrededor de valores de atributos y barras en etiquetas vacías y espacios de nombres de una sola vez no funcionó. El gran público generador de HTML no se movió, en gran medida porque los navegadores no se quejaron. Algunas comunidades grandes cambiaron y están disfrutando de los frutos de sistemas bien formados, pero no todas. Es importante mantener HTML de forma incremental, así como continuar una transición hacia [un] mundo bien formado y desarrollar más poder en ese mundo. "El plan es crear un grupo HTML completamente nuevo. A diferencia del anterior, este se encargará de realizar mejoras incrementales en HTML, así como en XHTML en paralelo. Tendrá un presidente y un miembro del personal de contacto diferentes. Trabajará en HTML y xHTML en conjunto. Contamos con un fuerte apoyo para este grupo, de parte de muchas personas con las que hemos hablado, incluidos los fabricantes de navegadores.
  47. ^ Ian Hickson; David Hyatt (13 de enero de 2011). «HTML5: Un vocabulario y API asociadas para HTML y XHTML» . Consultado el 16 de febrero de 2011 .
  48. ^ Simon Pieters. «Resultados de las pruebas móviles» . Consultado el 31 de octubre de 2009 .
  49. ^ "XHTML 1.0: El lenguaje de marcado de hipertexto extensible, recomendación del W3C del 26 de enero de 2000". Consorcio World Wide Web . 26 de enero de 2000. Consultado el 19 de julio de 2008 .
  50. ^ "XHTML 1.0 El lenguaje de marcado de hipertexto extensible (segunda edición)". Consorcio World Wide Web . 2002-08-01 . Consultado el 2008-07-19 .
  51. ^ "Modularización de XHTML, recomendación del W3C del 10 de abril de 2001". Consorcio World Wide Web . 10 de abril de 2001. Consultado el 19 de julio de 2008 .
  52. ^ "Modularización XHTML 1.1 - Segunda edición, recomendación del W3C del 29 de julio de 2010". Consorcio World Wide Web . 2010-07-29 . Consultado el 2010-12-31 .
  53. ^ "XHTML 1.1 - XHTML basado en módulos, recomendación del W3C del 31 de mayo de 2001". Consorcio World Wide Web . 31 de mayo de 2001. Consultado el 19 de julio de 2008 .
  54. ^ "Tipos de medios XHTML, nota del grupo de trabajo del W3C del 1 de agosto de 2002". World Wide Web Consortium . 2002-08-01 . Consultado el 2008-07-19 .
  55. ^ ab "Tipos de medios XHTML – Segunda edición, nota del grupo de trabajo del W3C del 16 de enero de 2009". Consorcio World Wide Web . 16 de enero de 2009. Consultado el 28 de enero de 2009 .Este documento reemplaza las Pautas de compatibilidad HTML que se encontraban originalmente en el Apéndice C de XHTML 1.0.
  56. ^ "XHTML 1.1, XHTML Basic 1.1, XHTML Print Recommendations Revised". ARCHIVO DE NOTICIAS DEL W3C: 2010 . Consorcio World Wide Web . Consultado el 12 de diciembre de 2010 .
  57. ^ "XHTML 1.1 - XHTML basado en módulos – Segunda edición". World Wide Web Consortium . 7 de mayo de 2009. Archivado desde el original el 12 de mayo de 2009. Consultado el 25 de mayo de 2009 .
  58. ^ "XHTML Basic, W3C Recommendation 19 December 2000". Consorcio World Wide Web . 19 de diciembre de 2000. Consultado el 19 de julio de 2008 .
  59. ^ "Comparaciones de sabores XHTML". World Wide Web Consortium . 2007-01-09 . Consultado el 2013-01-30 .
  60. ^ XHTML Basic. W3.org. Consultado el 17 de julio de 2013.
  61. ^ XHTML Basic 1.1. W3.org. Consultado el 17 de julio de 2013.
  62. ^ "XHTML Basic 1.1 - Segunda edición". w3.org .
  63. ^ "XHTML-Print, Recomendación W3C del 20 de septiembre de 2006". World Wide Web Consortium . 20 de septiembre de 2006 . Consultado el 19 de julio de 2008 .
  64. ^ ab "Archivo de navegación de OMA". Lanzamientos de OMA . Open Mobile Alliance Ltd. 26 de septiembre de 2011.
  65. ^ "[XHTML] Agenda: 2008-07-09". w3.org .
  66. ^ Véase XHTML 2.0 Considered Harmful y XHTML 2.0 Considered Hopeful del desarrollador de navegadores Tantek Çelik, quien critica los primeros borradores de XHTML 2.0 por la ausencia del styleatributo y del citeelemento. El desarrollador Daniel Glazman ofrece críticas similares, pero también muestra su apoyo a algunos cambios incompatibles con versiones anteriores, como la decisión de eliminar los elementos insy del.
  67. ^ "XHTML 2.0, nota del grupo de trabajo del W3C del 16 de diciembre de 2010". World Wide Web Consortium . 16 de diciembre de 2010 . Consultado el 31 de diciembre de 2010 .
  68. ^ "Documentos del grupo de trabajo XHTML2 publicados como notas del W3C". World Wide Web Consortium . 2010-12-16 . Consultado el 2010-12-31 .
  69. ^ Ian Hickson (22 de enero de 2008). "HTML 5, 1.1.2. Relación con XHTML2". World Wide Web Consortium . Consultado el 19 de julio de 2008. ... XHTML2... define un nuevo vocabulario HTML con mejores características para hipervínculos, contenido multimedia, anotación de ediciones de documentos, metadatos enriquecidos, formularios interactivos declarativos y descripción de la semántica de obras literarias humanas como poemas y artículos científicos... Sin embargo, carece de elementos para expresar la semántica de muchos de los tipos de contenido que no son documentos que se ven a menudo en la Web. Por ejemplo, los sitios de foros, sitios de subastas, motores de búsqueda, tiendas en línea y similares no se ajustan bien a la metáfora del documento y no están cubiertos por XHTML2... Esta especificación tiene como objetivo ampliar HTML para que también sea adecuado en estos contextos...
  70. ^ ab "9 La sintaxis XHTML — HTML5". w3.org .
  71. ^ HTML frente a XHTML, Wiki WHATWG

Enlaces externos