2009-09-15 23 views
22

Ok, no estoy seguro de la diferencia entre estos idiomas. ¿Alguien podría aclarar? Sé que XML tiene una etiqueta definida por el usuario y html está predefinido, pero eso es básicamente lo que yo sé.Comparar/contrastar HTML, XHTML, XML y HTML5

Sé que se supone que HTML5 debe reemplazar el HTML, pero ¿no se suponía que XML también debería hacer eso? Básicamente, ¿qué idiomas aquí son un sustituto del otro y qué complemento? ¿XML reemplaza XHTML?

Respuesta

29

HTML es el lenguaje de marcado de hipertexto, que está diseñado para crear documentos estructurados y proporcionar el significado semántico detrás de los documentos. HTML5 es la próxima versión de la especificación HTML.

XML es el lenguaje de marcado extensible, que proporciona reglas para crear, estructurar y codificar documentos. A menudo ve que XML se usa para almacenar datos y permitir la comunicación entre aplicaciones. Es independiente del lenguaje de programación, todos los principales lenguajes de programación proporcionan mecanismos para leer y escribir documentos XML, ya sea como parte del núcleo o en bibliotecas externas.

XHTML es un HTML basado en XML. Sirve la misma función que HTML, pero con las mismas reglas que los documentos XML. Estas reglas se refieren a la estructura del marcado.

+0

Algunas de mis descripciones podrían usar un poco de trabajo. Siéntase libre de limpiar cualquier fraseología, si así lo desea. Intentaré entrar y limpiarlo más tarde, también. –

+6

Tenga en cuenta que HTML5 también actualiza XHTML. También conocido como XHTML5. – Anne

+2

, ¿me equivocaría al decir que XHTML es el sucesor de HTML y HTML5 reemplazará a XHTML? ¿HTML y HTML5 nunca serán un sustituto de XHTML? – GiH

6

Puede buscar en google o utilizar wikipedia para obtener una definición exacta. Voy a dar un ejemplo:

HTML:

<DIV id=header>header</div> 

XHTML:

<div id="header">header</div> 

HTML 5:

<header>header</header> 

XML es la sintaxis en la que se basa XHTML:

<something otherthing="stuff">content</something> 
+0

HTML también permite nombres de elementos en minúsculas. – Gumbo

+1

sí, pero también permite mayúsculas. es por eso que puse "DIV" y "div" – marcgg

0

Los estándares para todos esos idiomas se mantienen en el World Wide Web Consortium.

Las diferencias y sutilezas exactas están fuera del alcance de una pregunta sobre stackoverflow, pero w3schools.com tiene algunos tutoriales que pueden ayudarlo a comenzar con esto.

Sugiero que leas la introducción a cada uno de los idiomas que preguntaste en w3schools. Eso debería darte una idea de las diferencias.

+3

Las diferencias y sutilezas exactas son el pan y la mantequilla del stackoverflow. [w3schools no es conocido por su exactitud o sutileza] (http://w3fools.com/) – Benxamin

1

HTML es un lenguaje de marcas creado para páginas web. HTML 5 es la quinta versión de HTML.

XML es otro lenguaje de marcado. XHTML es un dialecto de XML que se parece mucho a HTML y se suponía que debía reemplazarlo, pero debido a su escaso soporte, básicamente, simplemente existía junto con HTML.

2

HTML es un lenguaje de marcado para páginas web, mientras que XML es un lenguaje de marcado para información. XML nunca fue pensado como un reemplazo directo para HTML, tiene un alcance diferente.

HTML 5 es simplemente la última versión de HTML. La versión "actual" de HTML (la que es compatible con prácticamente todos los navegadores en uso) es 4.01.

XHTML es un estándar basado en HTML que se ha ajustado para ajustarse a las reglas más estrictas de XML. Un documento XHTML también es un documento XML y, si está escrito correctamente, puede ser analizado por cualquier analizador XML.

+1

La versión actual de HTML es 4.01. – Gumbo

+0

@Gumbo: Eso es lo que quise decir. ;) – Guffa

8

XML es una sintaxis: define cómo se escriben los datos, pero no qué datos se pueden escribir. Por ejemplo:

<something otherthing="stuff">content</something> 

HTML es un vocabulario: se define qué tipo de elementos se puede escribir (por ejemplo, BODY, P, LI, etc.), pero no es muy estricto en cuanto a la forma de escribir (consulte "Tag soup ");

XHTML es (aproximadamente) el vocabulario HTML, excepto que se escribe utilizando la sintaxis XML (mucho más estricta). Es por lo tanto (debido a que la sintaxis es más estricta) más fácil de analizar por el software, pero es más difícil para los no programadores escribir correctamente. No es muy popular, porque Internet Explorer no lo admite correctamente.

HTML5 es la versión de próxima generación de HTML (la versión actual de HTML 4), todavía en borrador, no es un estándar todavía, parcialmente compatible con algunos navegadores (y por lo tanto, experimental). HTML5 admitirá explícitamente que se sirva utilizando la sintaxis XML o como sopa de etiquetas.

9

XML es un metalenuaje. Un metalenguaje es un lenguaje que proporciona un mecanismo de sintaxis para crear otros idiomas sin restringir la expresión a través de una gramática predefinida. XML se define en el lenguaje SGML doctype. El cumplimiento de los estrictos requisitos de sintaxis de XML se denomina buena formación, que es una práctica de precisión precisa para un conjunto establecido de requisitos en un esfuerzo por lograr un procesamiento uniforme de un documento a través de diversas aplicaciones y agentes de usuario.

SGML es un meta lenguaje como XML e incluso es el padre de XML. SGML ofrece una forma amplia para definir datos en usos de sintaxis sin proporcionar una convención de tipeo de datos. A diferencia de SGML, XML presenta una sintaxis rígida y extremadamente simplificada que no genera confusión. XML también presenta definiciones de tipo de datos también a diferencia de SGML. Los elementos en XML proporcionan el ámbito del espacio de nombres de forma lambda, mientras que SGML no proporciona soporte para los espacios de nombres.

Doctype es un lenguaje basado en SGML que utiliza una sintaxis completamente diferente a XML para definir gramáticas de lenguaje de marcado y amplias convenciones de tipo de datos para distinguir elementos de datos del texto.

XML Schema es un lenguaje escrito en XML que permite definiciones de gramática del lenguaje con una forma estructural precisa además de convenciones específicas de tipeo de datos para elementos, estructuras y atributos. Los lenguajes escritos en Schema son estructuralmente autoconscientes, a diferencia de los vocabularios SGML, de modo que conocen sus propios requisitos internos en cualquier punto de la estructura. Los idiomas definidos por el esquema pueden abrirse inmediatamente a la validación mediante referencia al documento del Esquema, debido a la autoconciencia estructural, mientras que los idiomas definidos en Doctype requieren un software no relacionado con definiciones estáticas para solicitar la validación.

HTML 1.0 fue escrito en texto en inglés y no es ni SGML ni XML.

HTML 2 - 4 están escritos en SGML y presentan flexibilidad SGML, como etiquetas en mayúsculas o etiquetas de inicio sin una etiqueta de cierre coincidente.

XHTML 1.0 es una forma definida SGML del lenguaje HTML con algunos requisitos extendidos para destellar la compatibilidad progresiva hacia la sintaxis XML.

XHTML 1.1 es el lenguaje HTML definido en XML con requisitos de formación de XML.

HTML5, como HTML 1.0, no se define con ningún metalenguaje. Está escrito en texto en inglés y se mueve radicalmente en oposición a los requisitos uniformes de una serialización XML. Parece que HTML5 se creó para la usabilidad y la entrega de medios sin tener en cuenta las jerarquías de estructura o lenguaje.

XHTML5 significa "Serialización XML de HTML5" y es una sintaxis XML para HTML5 que se puede utilizar al serializar un árbol DOM de nuevo en HTML5 (un árbol DOM pierde la capacidad de distinguir entre etiquetas etiqueta de sopa y etiquetas adecuadas) debe cumplir con las reglas y espacios de nombres XML más estrictos. Está diseñado para facilitar la lectura de la máquina o el intercambio de datos, o cuando se deben comparar dos documentos HTML5. Se especifica junto con y en el estándar HTML5 (gracias a hsivonen para señalar esto).

+0

XHTML5 se define en la misma especificación que HTML5 aunque el título de la especificación es HTML5. La definición es pública y ha estado en público por años. – hsivonen

1

En primer lugar, hubo SGML, el antepasado conceptual de HTML y XML, que es un

  • S stándar (ISO 8879: 1986), por lo que las organizaciones y los programas pueden dispares intercambiar documentos
  • G eneralized, por lo que los usuarios pueden definir nuevas etiquetas
  • M arkup, para que el contenido del documento se pueda aumentar con información estructural que describa el contenido
  • L idioma, de modo que haya una gramática que defina el marcado.

Entonces, HTML fue creado como un conjunto específico de etiquetas SGML usados ​​para definir cómo se deben presentar las páginas web.

XML se ha creado como una simplificación de SGML.

XHTML se creó para refundir HTML como XML bien formado (que requiere etiquetas de cierre, por ejemplo, que no habían sido estrictamente necesarias en SGML y HTML).

HTML 5 es la versión actual de HTML. Rechaza la motivación detrás de XHTML y permite una especificación de marcado más relajada de lo que requerirían las reglas de XML.

+0

Me gustaría añadir que el HTML5 moderno sigue siendo SGML, a pesar de que las especificaciones HTML ya no hacen referencia normativamente al estándar SGML (ISO 8879). El legado de SGML se muestra en reglas léxicas para nombres de elementos (caracteres admisibles, plegado de mayúsculas y minúsculas), en la inferencia de etiquetas de HTML, en el comportamiento de HTML wrt. omitiendo nombres de atributos (como en ), y muchos más detalles. Lo cual no es sorprendente, ya que HTML está basado en SGML, y HTML5 está específicamente diseñado para la compatibilidad con versiones anteriores como objetivo principal. Fuente: publicó un documento/charla sobre este tema en XMLPrague 2017 (consulte http://sgmljs.net/blog/blog1701.html). – imhotap

Cuestiones relacionadas