Подтвердить что ты не робот

В конце концов, зачем выбирать XHTML через HTML?

Интересно, почему я должен использовать XHTML вместо HTML.

Предполагается, что XHTML будет "модульным", но я не видел, чтобы какой-либо серверный язык использовал любой из них.

XHTML также более строг, и я не вижу преимущества. Что предлагает XHTML, что мне так плохо? Как это делает мой код "лучше"?

EDIT: еще один вопрос, который я нашел в комментариях: обрабатывает ли XHTML быстрее, чем HTML?

EDIT2: прочитав все ваши комментарии и ссылки, я действительно согласен с тем, что другая публикация заслуживает правильного ответа, поэтому я выбрал тот, который напрямую связан с лучшим источником.

Также показано, что люди игнорируют зеленый комментарий, даже не читая его.

4b9b3361

Ответ 1

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

Я довольно хорошо пишу о XHTML, пока не прочитал его, но он делает несколько действительных точек. Включая следующий бит:

XHTML 1.x не является "совместимым с будущим". XHTML 2, в настоящее время на этапах разработки, не совместим с обратной связью с XHTML 1.x. XHTML 2 будет иметь множество существенных изменений в способе написания и структурирования документов, и даже если у вас уже есть ваш сайт, написанный на XHTML 1.1, обычно требуется переписать полный сайт, чтобы преобразовать его в соответствующий XHTML 2. Простой Преобразование XSL в большинстве случаев будет недостаточным, поскольку некоторые семантики не будут правильно переведены.

HTML 4.01 на самом деле более совместим с будущим. Действительный документ HTML 4.01, написанный на современных уровнях поддержки, будет действительным HTML 5, а HTML 5 - основное внимание уделяется разработчикам браузеров и W3C.

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

Не ошибайтесь в статье для нарекания против XHTML, автор действительно говорит о хороших моментах XHTML, но хорошо знать о недостатках перед тем, как погрузиться.

Ответ 2

Я собирался добавить это как комментарий к одному из других сообщений, но он немного увеличился.

Какой основной момент, по которому большинство людей, похоже, отсутствует, является целью XHTML. Одной из основных причин разработки спецификации XHTML было децентрализовать теги, связанные с презентацией, в разметке и отложить представление в CSS. Хотя это разделение может быть достигнуто с помощью простого HTML, этому поведению не способствует спецификация.

Разделение мета-разметки и презентации является важной частью разработки для "программируемой сети" и не только улучшит SEO и доступ к экранным читателям/текстовым браузерам, но также приведет к тому, что ваш сайт будет легче анализироваться тех, кто хочет получить доступ к нему программным способом (во многих простых случаях это может отрицать необходимость разработки конкретного API или даже просто позволить клиентским скриптам делать такие вещи, как, легко идентифицировать номера телефонов). Если ваша веб-страница соответствует спецификации XHTML, ее можно легко перемещать с помощью инструментов, связанных с XML, и таких вещей, как XPath..., которые являются фантастическими новостями для тех, кто хочет извлечь определенную информацию с вашего сайта.

XHTML не был разработан для использования сам по себе, но с использованием множества других технологий. Он в значительной степени опирается на использование CSS для презентации и создает основу для таких вещей, как Microformats (любите ли вы их или ненавидите), чтобы предложить стандартную разметку для представления общих данных.

Не обманывайтесь толпой, которая думает, что XHTML незначителен и слишком чересчур ограничительна и бессмысленна... она была создана с целью, которую 95% мира, похоже, игнорируют/не знают.

В любом случае, используйте HTML, но используйте его для того, для чего он хорош, и применяйте тот же подход при просмотре XHTML.


Что касается скорости разбора, я полагаю, что различие между фактическими документами между XHTML и HTML будет очень незначительно. Компромисс будет объясняться только тем, как вы описываете документ, используя доступную разметку. Теги XHTML имеют тенденцию быть более длинными из-за требуемых атрибутов, правильного закрытия и т.д., Но не откажут от необходимости какой-либо презентационной разметки в самом документе. В этом случае, я думаю, вы говорите о сравнении одного типа яблока с совершенно другим типом яблока... они разные, но вряд ли они будут иметь какое-либо значение (с точки зрения разбора и рендеринга), когда все, что вы хотите, - это здоровое, вкусное яблоко.

Ответ 3

Для посетителя веб-сайта он, вероятно, не делает видимой разницы. Кроме того, XHTML обычно больше болен, поскольку по крайней мере один широко распространенный браузер все еще не знает, как его обрабатывать, и вам нужно будет его использовать как text/html в этом случае (что дает недопустимый HTML).

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

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

Ответ 4

Используйте HTML (HTML4 Strict или HTML5).

  • HTML может полностью использовать CSS, может быть проверен и проанализирован однозначно. Разделение структуры и представления было сделано в HTML4, и XHTML просто продолжал это.

  • Все браузеры поддерживают HTML. Только некоторые браузеры поддерживают XHTML и те, которые делают, часто имеют более зрелую и лучшую проверенную и оптимизированную поддержку HTML (это связано с тем, что крошечная доля страниц использует режим XML).

  • Если вам интересны IE и Google, вы должны использовать HTML или подмножество XHTML и HTML, определенные в Приложении C спецификации XHTML. Последний является почти наихудшим из обоих миров, потому что такой XHTML не может быть создан со стандартными инструментами XML, не может использовать новые механизмы расширения, новые для XHTML, и имеет дополнительные ограничения по сравнению с теми, что есть только в HTML.

  • XHTML1.0 теперь старше 10 лет, он был разработан в "Web1.0" раз, и, как сказал глава W3C, в Оглядываясь назад, это не сработало, и нужен лучший подход. W3C HTML5 написан по мере того, как мы говорим и адресуем потребности веб-приложений, используемых сегодня, и имеет очень хорошую обратную совместимость.

  • HTML5 закрывает много пробелов между HTML4 и XHTML1 (например, добавляет встроенный SVG, MathML я RDF), очищает язык выше того, что было сделано в XHTML1.0 и XHTML1.1.

  • XHTML2 не будет поддерживаться веб-браузерами в обозримом будущем. Вероятно, он никогда не будет поддерживаться (все поставщики браузеров в значительной степени поддерживают [X] HTML5, некоторые уже заявили, что они не будут реализовывать XHTML2).


XHTML1.0 имеет точно такую ​​же семантику и разделение представления из структуры как HTML4.01. Любой, кто говорит иначе, не прочитал спецификацию. Я призываю всех прочитать спецификацию - удивительно короткую и неинтересную.

  • Таблицы стилей были введены в HTML4.01 и не были изменены в XHTML1.0.
  • Презентационные элементы устарели в HTML4.01 и не были удалены в XHTML1.0.

мифы XHTML.


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

  • Анализаторы SGML и XML должны загружать и анализировать весь DTD, чтобы понимать объекты. Только это обычно больше, чем анализ самого документа. Анализаторы HTML почти всегда "обманывают" и используют жестко закодированные объекты и информацию о элементах. Анализаторы XHTML в браузерах тоже обманывают.
  • Анализ HTML требует обработки подразумеваемых начальных и конечных тегов, а в реальном мире HTML требуется дополнительная работа для обработки неулокальных тегов.
  • Правильный анализ XHTML требует отслеживания пространств имен XML.
  • Драконские XML-правила требуют проверки правильности кодирования каждого символа. Анализаторы HTML могут уйти от этого, но OTOH им нужно искать <meta>.

Общая разница в стоимости синтаксического анализа крошечная по сравнению с временем, которое требуется для загрузки документа, создания DOM, запуска скриптов, применения CSS и всех других вещей, которые должны выполнять браузеры.

Ответ 5

Я удивлен, что все ответы здесь рекомендуют XHTML через HTML. Я твердо придерживаюсь противоположного мнения - вы не должны использовать XHTML в обозримом будущем. Вот почему:

  • Ни один браузер не интерпретирует XHTML как XHTML, если вы не используете его как mimetype application/xhtml+xml. Если вы просто используете его с типом mimetype по умолчанию, все браузеры будут интерпретировать его как HTML - например, принимать незакрытые или неправильно вложенные элементы.

  • Однако вы никогда не должны этого делать, поскольку Internet Explorer не распознает application/xhtml+xml и не сможет полностью отобразить страницу.

  • Существуют значительные различия в DOM между XHTML и HTML. Так как все так называемые страницы XHTML в настоящее время исполняются как HTML, все javascript-коды записываются с использованием HTML DOM. Если поддержка mimetype XHTML становится достаточно значимой, чтобы убедить людей начать ее использовать, большая часть их кода javascript будет ломаться - даже если они думают, что их страницы проверяются как XHTML.

Ответ 6

Вместо продолжения обсуждения HTML 4.01 Strict vs XHTML Strict, я бы предложил начать использовать HTML 5 сегодня. Джон Ресиг, автор jquery, сделал аналогичное предложение в прошлом году в своем блоге.

Документ HTML 5, в нем красивая простота вызовет режим стандартов во всех браузерах (включая IE6).

<!DOCTYPE html>

Что это.

HTML 5 содержит некоторые интересные новые функции, такие как тег <canvas>, который потенциально может подтолкнуть разработку приложения javascript к следующему уровню. HTML 5 также имеет надлежащую поддержку для медиа (а медиа - довольно важный аспект Интернета в эти дни!) В виде тегов <video> и <audio>.

Если вам нравится синтаксис XHTML, т.е. закрытие "пустых" тегов, таких как <br />, который полностью поддерживается в HTML 5. От Karl Dubost сообщения W3C Узнайте, как писать HTML 5:

автозавершающий тег разрешен и соответствует HTML 5.

XHTML2 уделяет относительно мало внимания по сравнению с HTML 5. Становится все более очевидным, что HTML 5 - это будущее разметки в Интернете. Последний браузер Microsoft, IE8 еще, отображает XHTML как text/xml как text/html.

Microsoft имеет сопредседателя рабочей группы W3C HTML и подразумевает поддержку от них для HTML 5. Все поставщики браузеров публично объявили о своей поддержке HTML 5.

В конце дня, даже если XHTML2 восстановит поддержку со стороны отрасли, это не будет серьезной проблемой, имеющей два конкурирующих стандарта, как это было в прошлом. Оба языка поддерживают пространства имен XML (в случае HTML 5, сериализация HTML, то есть переключения DOCTYPE).

Ответ 7

Посмотрите http://www.w3.org/MarkUp/2004/xhtml-faq#need. Есть несколько серьезных причин, кроме модуляции.

Я пользуюсь XHTML, потому что он более строгий и более четко изложенный. HTML причудливый, и браузеры должны принимать такие вещи, как <b><i>sadasd</b></i>. Хотя это действительно простой пример, он также может стать более запутанным, и разные браузеры могут различать вещи по-разному.

Также я считаю, что XHTML должен быть "быстрее", поскольку браузеру не нужно выполнять такие "репарации".

Ответ 8

Некоторые отличия заключаются в следующем:

  • Теги XHTML должны быть правильно вложены
  • Документы должны иметь один корневой элемент
  • XHTML-теги всегда находятся в нижнем регистре
  • Теги всегда должны быть закрыты (например, использование тега <br> в XHTML должно иметь закрывающий тег <br /> или <br></br> в XHTML)

Вот несколько ссылок на него

wiki XHTML

wiki HTML vs XHTML

Ответ 9

Как программист, вы должны быть ОЧЕНЬ обеспокоены вашим кодом. HTML является уродливым и следует нескольким правилам.

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

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

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

Если вы не видите преимущества XHTML, вы также можете использовать MS Word для создания ваших HTML-документов.

Ответ 10

XHTML позволяет использовать все те инструменты, которые предназначены для XML. Среди них есть XSLT, встраивание SVG и т.д.

Ответ 11

XHTML заставляет вас быть аккуратным.

Например, в HTML вы можете написать:

<img src="image.jpg">

Это не очень логично, потому что тег img никогда не закрывается. Однако в XHTML вам необходимо аккуратно закрыть тег, например:

<img src="image.jpg" />

Мне нравится использовать что-то, что заставляет меня быть аккуратным.

Стив

Ответ 12

Субтитры к рекомендации XHTML 1.0:

Переформатирование HTML 4 в XML 1.0

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

Если бы вы использовали HTML, это было бы возможно. Существуют инструменты для разбора HTML DOM-деревьев. Однако эти инструменты часто могут быть более специализированными, чем инструменты для XML. Вы не можете найти ваши любимые инструменты обработки XML-данных, совместимые с HTML. Кроме того, в настоящее время существует так много применений для XML, что вы можете использовать XML для какой-либо другой части приложения; почему бы не использовать тот же синтаксический анализатор XML для анализа ваших веб-страниц? Это мотивация XHTML.

Если вы уже хорошо знакомы с HTML 4.01, у вас есть установленный проект с использованием HTML 4, и у вас нет лишнего времени, просто перейдите с HTML 4.01. Если у вас есть свободное время, изучите XHTML 1.1 в любом случае и запустите свои новые проекты в XHTML 1.1 - там нет вреда. Если вы используете что-то отличное от HTML 4.01 или вообще не знакомы с HTML 4, просто изучите XHTML 1.1.

Ответ 13

Использование XHTML с правильным DocType заставит браузер отображать содержимое в более стандартном (строгом) режиме. Это приводит к тому, что разные браузеры ведут себя лучше и, что самое главное, больше похожи друг на друга. Это упрощает работу в качестве веб-разработчика, поскольку это уменьшает количество специфических настроек браузера, необходимых для того, чтобы содержимое выглядело одинаково во всех браузерах.

Quirksmode.org имеет много хорошей информации по этому вопросу.

Ответ 14

Интересное развитие: Рабочая группа XHTML 2 ожидала прекращения работы В конце 2009 года W3C увеличил ресурсы в HTML 5

2009-07-02: Сегодня Директор объявляет, что, когда устав рабочей группы XHTML 2 истекает в соответствии с графиком в конце 2009 года, устав не будет возобновлен. Делая это и увеличивая ресурсы в Рабочей группе, W3C надеется ускорить ход HTML 5 и уточнить позицию W3C относительно будущего HTML. В FAQ часто задаются вопросы о будущем результатов работы рабочей группы XHTML 2 и о состоянии различных обсуждений, связанных с HTML. Подробнее о деятельности HTML.

Ну, я думаю, это делает будущее HTML довольно ясным.

Ответ 15

По моему мнению, строгость, по крайней мере теоретически, хорошая вещь, потому что в HTML вам не нужно быть строгим, а из-за этого и HTML5-мусор, у браузеров есть усовершенствованные алгоритмы исправления ошибок, которые будут сделать все возможное из сломанного HTML. Проблема в том, что алгоритмы не совсем то же самое и приведут к действительно странному поведению, которое вы не можете предсказать. С XHTML, с другой стороны, у вас обычно есть прекрасный, действительный XHTML, и поэтому алгоритмы исправления ошибок не нужны, т.е. Поведение всего браузера предсказуемо. Кроме того, строгий код упрощает работу ваших инструментов с кодом. Таким образом, на самом деле вам нечего терять, используя XHTML, но есть некоторые возможности для достижения. Все будет хуже с простым HTML, когда HTML5 наконец выйдет, и "быть открытым в том, что вы принимаете" приведет к описанному странному поведению. Но по крайней мере тогда это стандартизованное странное поведение. Вздох.

С другой стороны, если вы используете хорошую среду IDE, например Visual Studio, практически невозможно создать сломанный код HTML, поэтому результат будет таким же.

Ответ 16

Использовать XHTML

  • Не удается быстро. Если есть какие-либо несоответствия, они будут найдены во время проверки.
  • Он поощряет лучший дизайн, отделяя семантическую разметку от презентации и т.д.
  • Он структурирован, что означает, что вы можете рассматривать его как объект данных и запускать с ним всевозможные запросы. Например, вы можете найти все адреса или цитаты на своем веб-сайте.
  • Вы можете сделать оптимизацию времени сборки. Поскольку это хорошо сформированный XML, вы можете легко выполнять операции поиска/замены во время сборки. Или любое управление документами и манипуляции.
  • Вы можете написать XSLT или другие сценарии преобразования, чтобы программно преобразовать ваш XHTML для других платформ. Например, у вас может быть XSLT для iPhone, который преобразит все XHTML, чтобы сделать его совместимым или более удобным для iPhone.
  • Вы будущая проверка. Преобразование XHTML в новую семантику снова, очень просто с использованием преобразования.
  • Поисковые системы будут продолжать развиваться, чтобы собирать больше семантической информации как часть программируемого веб-сайта.
  • Операции DOM более надежны, поскольку они структурированы.
  • С точки зрения алгоритма он дает более легкий и быстрый синтаксический анализ.

Ответ 17

XHTMl - хорошая позиция для использования, потому что, если вы хотите иметь действительный код, вам нужно будет предоставить какой-то аспект помощи для сообщества с ограниченными возможностями из-за того, что читателям экрана требуется альт и названия частей изображения и тегов ссылок. Это должно быть быстрее для синтаксического разбора, поскольку в отличие от HTML анализатору не нужно было проверять, правильно ли был закрыт тег, если он правильно вложен и т.д. Также лучше использовать его, потому что да, он строгий, но он помогает вам думать более логично (по-моему), когда дело доходит до изучения языков программирования.

Ответ 18

Я считаю, что XHTML быстрее (или должен быть) для синтаксического анализа. Действительный документ XHTML должен быть записан в более строгую спецификацию, поскольку ошибки являются фатальными при разборе, тогда как HTML является более снисходительным и допускает упомянутые выше странности, как мои комментарии, такие как теги закрытия закрытия и т.д. Я нашел это полезным в раскрытии различий между HTML и синтаксисом XHTML:

http://wiki.whatwg.org/wiki/HTML_vs._XHTML#Parsing

Причина, по которой вы можете использовать XHTML через HTML, может быть, если вы намерены использовать мобильных пользователей как часть вашей аудитории. Если я помню, многие телефоны используют нечто большее, чем XML-синтаксический анализатор, а не HTML-код для отображения Интернета. Если вы пишете для настольных браузеров, HTML, вероятно, будет приемлемым.

Тем не менее, если вы собираетесь использовать данные как text/html в любом случае, вы должны использовать HTML:

http://www.hixie.ch/advocacy/xhtml