Сравните / сопоставьте HTML, XHTML, XML и HTML5 - PullRequest
23 голосов
/ 15 сентября 2009

Хорошо, поэтому я не совсем уверен, в чем разница между этими языками. Может кто-нибудь уточнить? Я знаю, что в XML есть пользовательский тег, а html предопределен, но это в основном мои знания.

Я знаю, что HTML5 должен заменить HTML, но разве XML не должен был это делать? В основном, какие языки здесь заменяют другие, а какие дополняют? XML заменяет XHTML?

Ответы [ 9 ]

31 голосов
/ 15 сентября 2009

HTML - это язык разметки гипертекста, который предназначен для создания структурированных документов и обеспечения смыслового значения документов. HTML5 - это следующая версия спецификации HTML.

XML - это расширяемый язык разметки, который предоставляет правила для создания, структурирования и кодирования документов. Вы часто видите, что XML используется для хранения данных и для обеспечения связи между приложениями. Он не зависит от языка программирования - все основные языки программирования предоставляют механизмы для чтения и записи документов XML как в составе ядра, так и во внешних библиотеках.

XHTML - HTML-код на основе XML. Он выполняет ту же функцию, что и HTML, но с теми же правилами, что и документы XML. Эти правила касаются структуры разметки.

10 голосов
/ 30 сентября 2009

XML является метаязыком. Метаязык - это язык, который обеспечивает синтаксический механизм для создания других языков без ограничения выражений посредством заранее определенной грамматики. XML определен на языке доктайпов SGML. Соблюдение строгих требований к синтаксису XML называется правильной формой, которая представляет собой практику точной точности к заявленному набору требований в целях обеспечения равномерной обработки документа в различных приложениях и пользовательских агентах.

SGML является мета-языком, подобным XML, и даже является родителем XML. SGML предлагает широкую форму для определения данных с использованием синтаксиса без предоставления соглашения о типизации данных. В отличие от SGML XML обладает жестким и чрезвычайно упрощенным синтаксисом, который не допускает путаницы. XML также имеет определения типов данных, в отличие от SGML. Элементы в XML обеспечивают область пространства имен в лямбда-выражении, тогда как SGML не поддерживает пространства имен.

Doctype - это язык на основе SGML, который использует синтаксис, совершенно не похожий на XML, для определения грамматик языка разметки и общих соглашений о типах данных, чтобы отличать элементы данных от текста.

XML-схема - это письменный язык XML, который позволяет определять грамматику языка с точной структурной формой в дополнение к конкретным соглашениям о типизации данных для элементов, структур и атрибутов. Языки, написанные на Schema, структурно самосознающие, в отличие от словарей SGML, так что они знают свои собственные внутренние требования в любой точке структуры. Языки, определенные схемой, могут быть сразу же открыты для проверки посредством ссылки на документ Схемы благодаря структурному самосознанию, в то время как языки, определенные в Doctype, требуют несвязанного программного обеспечения со статическими определениями для выполнения проверки.

HTML 1.0 был написан на английском языке и не является ни SGML, ни XML.

HTML 2 - 4 написаны на SGML и имеют гибкие возможности SGML, такие как теги верхнего регистра или начальные теги без соответствующего закрывающего тега.

XHTML 1.0 - это определенная SGML форма языка HTML с некоторыми расширенными требованиями к постепенной совместимости с синтаксисом XML.

XHTML 1.1 - это язык HTML, определенный в XML с требованиями правильности XML.

HTML5, как и HTML 1.0, не определен с использованием какого-либо мета-языка. Он написан на английском языке и движется радикально вопреки единым требованиям сериализации XML. HTML5, кажется, создан для удобства использования и доставки мультимедиа без учета структуры или языковых иерархий.

XHTML5 расшифровывается как «XML-сериализация HTML5» и представляет собой синтаксис XML для HTML5, который можно использовать при сериализации дерева DOM обратно в HTML5 (дерево DOM теряет способность различать теги супа тегов и правильные теги) и должно придерживаться более строгих правил XML и пространств имен. Он предназначен для более легкого машинного чтения или обмена данными, а также для сравнения двух документов HTML5. Он указан вместе со стандартом HTML5 и в нем (спасибо hsivonen за указание на это).

8 голосов
/ 15 сентября 2009

XML - это синтаксис: он определяет, как вы пишете данные, но не то, какие данные вы можете написать. Например:

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

HTML - это словарь: он определяет, какие элементы вы можете писать (например, BODY, P, LI и т. Д.), Но не очень строг в отношении того, как вы его пишете (см. « Tag soup » «);

XHTML - это (приблизительно) словарь HTML, за исключением написанного с использованием (гораздо более строгого) синтаксиса XML. Поэтому (поскольку синтаксис более строг) синтаксический анализ программного обеспечения проще, но непрограммистам труднее правильно писать. Он не очень популярен, потому что Internet Explorer не поддерживает его должным образом.

HTML5 - это версия HTML следующего поколения (текущая версия HTML 4), все еще в черновом варианте, пока не в стандарте, частично поддерживаемая некоторыми браузерами (и, таким образом, экспериментальная). HTML5 будет явно поддерживать обслуживание с использованием синтаксиса XML или в качестве супа тега.

6 голосов
/ 15 сентября 2009

Вы можете Google или использовать Википедию для точного определения. Я просто приведу пример:

HTML:

<DIV id=header>header</div>

XHTML:

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

HTML 5:

<header>header</header>

XML - это синтаксис, на котором основан XHTML:

<something otherthing="stuff">content</something>
5 голосов
/ 20 сентября 2017

Во-первых, был SGML , концептуальный предок HTML и XML, который является

  • S (стандарт ISO 8879: 1986), чтобы различные организации и программы могли обмениваться документами
  • G , что позволяет пользователям определять новые теги
  • M arkup, чтобы содержимое документа можно было дополнить структурной информацией, описывающей содержимое
  • L anguage, так что есть грамматика, определяющая разметку.

Затем HTML был создан как особый набор тегов SGML, используемых для определения способа представления веб-страниц.

XML был создан как упрощение SGML.

XHTML был создан для преобразования HTML в правильно сформированный XML (например, требующий закрывающих тегов, которые не были строго необходимы в SGML и HTML).

HTML 5 - текущая версия HTML. Он отвергает мотивацию XHTML и допускает более слабую спецификацию разметки, чем того требуют правила XML.

4 голосов
/ 30 сентября 2009

См. Рисунок для двух сериализаций HTML5 Abstract language. alt text

2 голосов
/ 15 сентября 2009

HTML - это язык разметки для веб-страниц, а XML - это язык разметки для информации. XML никогда не задумывался как прямая замена HTML, он имеет другую область применения.

HTML 5 - это только последняя версия HTML. «Текущая» версия HTML (поддерживаемая практически всеми используемыми браузерами) - 4.01.

XHTML - это стандарт, основанный на HTML, который был скорректирован в соответствии с более строгими правилами XML. Документ XHTML также является документом XML, и если он правильно написан, он может быть проанализирован любым анализатором XML.

1 голос
/ 15 сентября 2009

HTML - это язык разметки, созданный для веб-страниц. HTML 5 является пятой версией HTML.

XML - это другой язык разметки. XHTML - это диалект XML, который очень похож на HTML и должен был заменить его, но из-за слабой поддержки в основном только существовал вместе с HTML.

0 голосов
/ 15 сентября 2009

Стандарты для всех этих языков поддерживаются Консорциумом World Wide Web .

Точные различия и тонкости выходят за рамки вопроса о stackoverflow, но w3schools.com содержит несколько учебных пособий, которые помогут вам начать работу с этим.

Я бы предложил прочитать вступление к каждому из языков, о которых вы спрашивали в w3schools. Это должно дать вам некоторое представление о различиях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...