2009-07-19 3 views
4

По моему мнению, ни XHTML (1.0, 1.1), ни XHTML 5 не требовали DTD. Если это так, как браузер будет различать эти два?Как будет отличаться браузер от XHTML 1.0 и XHTML 5?

Я могу только предположить, что, когда поставщики браузеров поддерживают (X) HTML 5, все XHTML будут интерпретироваться в соответствии с правилами XHTML 5 (предполагая, что XHTML 5 является надмножеством XHTML 1.0). Так ли это будет работать?

ответ

2

Нет XHTML 5. В настоящее время существует HTML 4.01 и XHTML 1.0. There will be no XHTML 2.0. Там будет только HTML 5. HTML 5 не является стандартом XML (это означает, что документ HTML 5 не является документом XML).

Возможно, вы смотрите на HTML 5 + XML = XHTML 5. Я думаю, вы можете выразить HTML 5 как XML, но насколько я знаю, это нестандартно. Более конкретно, это всего лишь метод сериализации для дерева документов, а не для стандартного.

Чтобы уточнить этот вопрос, взгляните на HTML 5 and XHTML 5 - one vocabulary, two serializations. Даже из названия он говорит «один словарь, две сериализации». И Conversation With X/HTML 5 Team:

XHTML 5 спецификация говорит, что «вообще говоря, авторы обескураженный от попыток использовать XML на Паутина». Зачем писать спецификацию XML, например, XHTML 5, а затем отказать авторам от ее использования? Почему бы просто не оставить поддержку XML (XHTML 5)?

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

XHTML 1.0 был стандартом. Он отличается от HTML 4. XHTML 5, если вы можете его назвать, - это не что иное, как представление документов HTML 5 в форме XML.

+4

Вы ошибаетесь. XHTML5 является частью спецификации HTML 5. См. Http://www.w3.org/TR/html5/introduction.html#html-vs-xhtml –

+2

Это не совсем правильно. Существует XML-метод сериализации для HTML5, и несмотря на то, что он имеет специфичные для XML функции (например, пространства имен), он * является стандартом HTML5. Стандарт до сих пор говорит о том, что использование XML сильно обескуражено и действительно включает его только потому, что некоторые люди сделают это в любом случае. – cletus

+1

Я понимаю, что вы имеете в виду. w3 упоминает HTML 5 + XML как метод сериализации (http://www.w3.org/TR/2008/WD-html5-diff-20080122/#syntax), поэтому HTML 5 и «XHTML 5» или HTML 5 + XML - это те же языки, что и два метода сериализации. Я думаю, что мой вопрос все еще актуальен. – Abignale

2

Браузеры не будут. Элементы существуют в одном и том же пространстве имен и имеют то же значение, за исключением тех случаев, когда WHATWG решили изменить их —, например элемент b —, где браузеру просто придется путать.

+0

Не уверен, что вы подразумеваете под этим. Браузеры не заботятся о значении элементов, просто как их обрабатывать. Проект HTML 5 сохраняет обратную совместимость обработки для браузеров, измененная семантика влияет только на инструменты, которые пытаются извлечь смысл из разметки. Тем не менее, AFAIK семантика элементов в HTML 5 более узкая, чем в HTML 4, поэтому конечный результат для любого инструмента семантического извлечения будет заключаться в том, что правила HTML 4 все еще применяются, поскольку они не смогут сказать, когда более узкий смысл применяется. – Alohci

-1

Можно было бы отличить DOCTYPE (что отличается для HTML5 и XHTML 1.x), но его присутствие в XHTML5 не является обязательным; и пространство имен элементов одинаково. Так что, в общем, нет хорошего способа их отличить. Если вы хотите написать портативный XHTML5, я думаю, что предоставление DOCTYPE - лучший выбор.

+0

Doctype является необязательным для документов семейства XHTML (это должно быть так, что вы можете смешать пространства имен). – Quentin

+0

Я специально написал, что DOCTYPE является необязательным (необязательным) в моем ответе. Моя точка зрения состоит в том, что если вы _do_ напишите это (и у вас есть опция как _content author_), есть вероятность, что браузер _will_ рассмотрит его как индикатор XHTML5. –

+0

Браузеры не обращали внимания на Doctypes в прошлом (кроме как тест интеллекта, чтобы определить, должны ли они использовать режим Quirks или Standards), я не вижу, чтобы это изменилось. – Quentin

3

От http://hsivonen.iki.fi/xhtml2-html5-q-and-a/:

Если я могу использовать любой тип документа для XHTML5, как браузеры могут сказать XHTML 1.0 и XHTML5 друг от друга?

Они не могут, и им это не нужно. По дизайну пользовательский агент, который реализует XHTML5, обрабатывает исходные данные, созданные как XHTML 1.0 соответствующим образом.

Смежные вопросы