HTML vs. XHTML

HTML y XHTML Son ambos lenguajes en los que se escriben las páginas web. HTML está basado en SGML, mientras que XHTML está basado en XML. Son como dos caras de una misma moneda. XHTML se derivó de HTML para cumplir con los estándares XML. Por lo tanto, XHTML es estricto en comparación con HTML y no permite que el usuario se salga con lapsos en la codificación y la estructura..

La razón por la que se desarrolló XHTML fueron las complicadas etiquetas específicas del navegador. Las páginas codificadas en HTML aparecieron diferentes en diferentes navegadores..

Gráfica comparativa

Gráfico comparativo HTML versus XHTML
HTMLXHTML
Introducción (de Wikipedia) HTML o HyperText Markup Language es el lenguaje de marcado principal para crear páginas web y otra información que se puede mostrar en un navegador web.. XHTML (Extensible HyperText Markup Language) es una familia de lenguajes de marcado XML que reflejan o amplían las versiones del lenguaje de marcado de hipertexto (HTML), el lenguaje en el que se escriben las páginas web..
Extensión de nombre de archivo .html, .htm .xhtml, .xht, .xml, .html, .htm
Tipo de medios de internet texto / html aplicación / xhtml + xml
Desarrollado por W3C & WHATWG Consorcio Mundial de la red
Tipo de formato Formato de archivo de documento Lenguaje de marcado
Extendido desde SGML XML, HTML
Representa Lenguaje de marcado de hipertexto Lenguaje de marcado de hipertexto extensible
Solicitud Aplicación del lenguaje estándar de marcado generalizado (SGML). Aplicación de XML
Función Las páginas web están escritas en HTML.. Versión extendida de HTML que es más estricta y basada en XML.
Naturaleza Marco flexible que requiere un analizador específico de HTML indulgente. Un subconjunto restrictivo de XML y debe analizarse con analizadores XML estándar.
Origen Propuesto por Tim Berners-Lee en 1987. Recomendación del consorcio World Wide Web en 2000.
Versiones HTML 2, HTML 3.2, HTML 4.0, HTML 5. XHTML 1, XHTML 1.1, XHTML 2, XHTML 5.

Contenidos: HTML vs XHTML

  • 1 Resumen de HTML y XHTML
  • 2 Características de documentos HTML vs XHTML
  • 3 XHTML vs HTML Especificación
  • 4 Cómo migrar de HTML a XHTML
  • 5 Cómo migrar de XHTML a HTML
  • 6 referencias

Descripción general de HTML y XHTML

HTML Es el lenguaje de marcado predominante para páginas web. HTML crea documentos estructurados al denotar semántica estructural para texto como encabezados, listas, enlaces, citas, etc. Permite incrustar imágenes y objetos para crear formularios interactivos. Está escrito como etiquetas rodeadas por corchetes angulares, por ejemplo, . También se pueden cargar scripts en lenguajes como JavaScript..

XHTML es una familia de lenguajes XML que extienden o reflejan versiones de HTML. No permite la omisión de ninguna etiqueta o el uso de la minimización de atributos. XHTML requiere que haya una etiqueta final para cada etiqueta de inicio y todas las etiquetas anidadas deben cerrarse en el orden correcto. Por ejemplo, mientras
Es válido en HTML, se requeriría escribir.
en XHTML.

Características de los documentos HTML vs XHTML

Los documentos HTML se componen de elementos que tienen tres componentes: un par de etiquetas de elementos: etiqueta inicial, etiqueta final; Atributos de elementos dados dentro de etiquetas y contenido real, textual y gráfico. Elemento HTML es todo lo que se encuentra entre las etiquetas incluidas. (La etiqueta es una palabra clave que se incluye entre paréntesis angulares).

Los documentos XHTML solo tienen un elemento raíz. Todos los elementos, incluidas las variables, deben estar en minúsculas, y los valores asignados deben estar entre comillas, cerrados y anidados para que se reconozcan. Este es un requisito obligatorio en XHTML a diferencia de HTML donde es opcional. La declaración de DOCTYPE determinaría las reglas para los documentos a seguir..

Aparte de las diferentes declaraciones de apertura para un documento, las diferencias entre un documento HTML 4.01 y XHTML 1.0 en cada uno de los DTD correspondientes son en gran medida sintácticas. La sintaxis subyacente de HTML permite muchos accesos directos que XHTML no permite, como elementos con etiquetas opcionales de apertura o cierre, e incluso elementos VACÍOS que no deben tener una etiqueta final. Por el contrario, XHTML requiere que todos los elementos tengan una etiqueta de apertura o una etiqueta de cierre. XHTML, sin embargo, también introduce un nuevo acceso directo: una etiqueta XHTML puede abrirse y cerrarse dentro de la misma etiqueta, incluyendo una barra antes del final de la etiqueta, como esta:
. La introducción de esta abreviatura, que no se usa en la declaración SGML para HTML 4.01, puede confundir a un software anterior que no está familiarizado con esta nueva convención. Una solución para esto es incluir un espacio antes de cerrar la etiqueta, como tal:
.

Especificación XHTML vs HTML

HTML y XHTML están estrechamente relacionados y, por lo tanto, se pueden documentar juntos. Tanto HTML 4.01 como XHTML 1.0 tienen tres especificaciones secundarias: estricta, suelta y de conjunto de marcos. Las declaraciones de apertura de diferencia para un documento distinguen HTML y XHTML. Otras diferencias son sintácticas. HTML permite accesos directos como elementos con etiquetas opcionales, elementos vacíos sin etiquetas finales. XHTML es muy estricto en cuanto a abrir y cerrar etiquetas. XHTML utiliza un atributo de funcionalidad de definición de lenguaje incorporado. Todos los requisitos de sintaxis de XML se incluyen en un documento XHTML bien formado.

Sin embargo, tenga en cuenta que estas diferencias solo se aplican cuando un documento XHTML se sirve como una aplicación de XML; es decir, con un tipo MIME de aplicación / xhtml + xml, application / xml o text / xml. Un documento XHTML servido con un tipo MIME de texto / html debe analizarse e interpretarse como HTML, por lo que las reglas de HTML se aplican en este caso. Una hoja de estilo escrita para un documento XHTML que se sirve con un tipo MIME de texto / html puede no funcionar como se espera si el documento se entrega con un tipo de aplicación MIME / xhtml + xml. Para obtener más información sobre los tipos MIME, asegúrese de leer los tipos MIME.

Esto puede ser especialmente importante cuando está sirviendo documentos XHTML como texto / html. A menos que sea consciente de las diferencias, puede crear hojas de estilo que no funcionen como se espera si el documento se sirve como XHTML real..

Donde aparecen los términos “XHTML” y “Documento XHTML” en el resto de esta sección, se refieren al marcado XHTML servido con un tipo XML MIME. El marcado XHTML servido como texto / html es un documento HTML en lo que respecta a los navegadores.

Cómo migrar de HTML a XHTML

Según lo recomendado por W3C, se pueden seguir los siguientes pasos para la migración de HTML a XHTML (documentos XHTML 1.0):

  • Incluya los atributos xml: lang y lang en los elementos que asignan el idioma.
  • Use la sintaxis de elementos vacíos en elementos especificados como vacíos en HTML.
  • Incluya un espacio extra en las etiquetas de elementos vacíos:
  • Incluya etiquetas de cierre para elementos que pueden tener contenido pero están vacíos:
  • No incluir declaración XML.

Siguiendo cuidadosamente las pautas de compatibilidad de W3C, un agente de usuario (navegador web) debe poder interpretar documentos con la misma facilidad que HTML o XHTML..

Cómo migrar de XHTML a HTML

Para entender lo sutil. Diferencias entre HTML y XHTML., considere la transformación de un documento XHTML 1.0 válido y bien formado en un documento HTML 4.01 válido. Para hacer esta traducción se requieren los siguientes pasos:

  • El idioma de un elemento debe especificarse con un lang atribuir en lugar de la XHTML xml: lang atributo. XHTML utiliza el atributo de funcionalidad de definición de lenguaje incorporado de XML.
  • Eliminar el espacio de nombres XML (xmlns = URI). HTML no tiene facilidades para espacios de nombres..
  • Cambie la declaración de tipo de documento de XHTML 1.0 a HTML 4.01.
  • Si está presente, elimine la declaración XML. (Típicamente esto es: ).
  • Asegúrese de que el tipo MIME del documento esté configurado en texto / html. Tanto para HTML como para XHTML, esto viene de HTTP Tipo de contenido encabezado enviado por el servidor.
  • Cambie la sintaxis del elemento vacío XML a un elemento vacío de estilo HTML (
    a
    ).

Referencias

  • Wikipedia: XHTML
  • Wikipedia: HTML # SGML basado en HTML basado en XML