Какова потребность в XHTML?

Я хотел добавить к тому, что сказал Дэвид Гуань . В новых версиях Webpack (V2 +) moduleDirectories был заменен на modules. Обновленная часть его ответа будет выглядеть так:

resolve: {
    extensions: ['.js', '.jsx', '.css'], //An empty string is no longer required.
    modules: [
      'node_modules'
    ]        
}

Для получения дополнительной информации вы можете проверить их официальную документацию . Надеюсь, что это поможет кому-то.

33
задан John Topley 13 October 2009 в 13:10
поделиться

16 ответов

Я на самом деле пишу это для выяснения, почему вышеупомянутые три сообщения, которые говорят приблизительно последовательность браузера и хорошо, сформировались , HTML был провален?

, Поскольку это известно, HTML является промышленным стандартом. Браузеры реализованы так, чтобы они представили повышенное содержание, как описано в стандарте HTML. К сожалению, существуют области, которые не были четко определены в HTML: что происходит, если пользователь забыл закрывающий тэг или что сделать, если отнесенное изображение не найдено? некоторые браузеры используют тег 'высокого звука', чтобы иметь текстовый объект заполнителя, и некоторые браузеры отображают тег 'высокого звука' как подсказку. Известный режим 'причуд' браузеров является результатом этого отсутствия ясности. Из-за этого стало довольно возможно, что та же веб-страница отобразится по-другому на различных браузерах.

Также, поскольку использование HTML выросло была еще одна проблема: это не было расширяемо - не было никакого способа добавить пользовательские теги.

XHTML решает вышеупомянутые проблемы :

  • принимают XML для обеспечения расширяемых тегов.
  • предоставляют 'строгий' стандарт для веб-браузеров

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

[ примечание ], если Вы хотите проверить вышеупомянутое, обратитесь к тексту, "Возглавляют Первый XHTML и CSS"

23
ответ дан Sesh 27 November 2019 в 17:22
поделиться

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

Думают об Архитектуре RESTful. Если бы URL является постоянным местоположением к объекту, то системы, которые хотели бы получить доступ к этому объекту, должны смочь использовать информацию, возвращенную из доступа к URL. XHTML не делает это возможным по сути, потому что система могла уже проанализировать HTML и получить необходимую информацию. XML просто делает это легче. Нет предопределенного набора никакого ограничения тегов, которые мешают классифицировать данные в документе (хотя techinically можно сделать это в HTML, потому что браузеры проигнорируют его). Можно использовать то, что Вы хотите классифицировать, какие данные получены.

1
ответ дан kemiller2002 27 November 2019 в 17:22
поделиться

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

2
ответ дан jcollum 27 November 2019 в 17:22
поделиться

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

, Как упомянуто выше, XHTML позволяет Вам играть с SVG и MathML. Я хотел бы добавить RDFa к тому списку. RDFa позволяет Вам добавлять семантику к своему содержанию, которое не покрыто микроформатами. Я лично делал много с Дублинским Ядром и Friend-of-a-Friend.

2
ответ дан Scott 27 November 2019 в 17:22
поделиться

От Wiki:

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

Наличие, которому HTML приспосабливает стандартам XML, позволяет, чтобы намного более последовательное анализировало страницы. Принимая во внимание, что в HTML, например, Вам разрешили иметь теги не в порядке <b><u>test</b></u> теперь, Вы не можете, они должны быть закрыты в порядке, они были открыты. Вещи как это делают DOM, анализирующий (который теперь используется в большой степени в Ajax) очень легче.

14
ответ дан Parrots 27 November 2019 в 17:22
поделиться

Я уверен Вы, mustve встретился этот статья от W3. Существует много для приобретения знаний из той статьи. В коротком XHTML выносит правила xml помимо наличия набора HTML тегов. Наиболее важные различия:

* XHTML elements must be properly nested
* XHTML elements must always be closed
* XHTML elements must be in lowercase
* XHTML documents must have one root element
8
ответ дан Perpetualcoder 27 November 2019 в 17:22
поделиться

В дополнение к ответу Иоганнеса HTML слишком свободен в своих интерпретациях и допуске, где строгая формализация XHTML инвертирует это.

Допуск приводит к различию, которое приводит к несовместимостям браузера, который приводит к темной стороне.

19
ответ дан Diodeus - James MacFarlane 27 November 2019 в 17:22
поделиться

XHTML также позволяет Вам встраивать другие диалекты XML как MathML, Ruby, SVG, и т.д. (Можно также встроить XHTML в другие диалекты XML при желании.)

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

26
ответ дан jrockway 27 November 2019 в 17:22
поделиться

Поскольку это - допустимый XML. Это помогает много, так как можно использовать много инструментов, первоначально разработанных для XML, таких как синтаксические анализаторы XML, XSLT, XPath, XQuery...

Нормальный HTML является диалектом SGML, и это не parsable без ведома схемы.

<ul>
    <li>one
    <li>two
    <li>three
</ul>

корректный HTML , но не корректный XML. Если Вы хотите проанализировать это, необходимо знать, что ul - элементы должны быть закрыты, но li с не делают.

33
ответ дан Johannes Weiss 27 November 2019 в 17:22
поделиться

XHTML является попыткой поощрить разработку "правильно построенного" HTML.

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

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

5
ответ дан Dave Swersky 27 November 2019 в 17:22
поделиться

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

0
ответ дан 27 November 2019 в 17:22
поделиться

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

Разбор HTML - это кошмар.

0
ответ дан 27 November 2019 в 17:22
поделиться

Потому что XHTML имеет гораздо больше смысла!

Дело в том, что даже если что-то не может предоставить больше технических возможностей, это все равно улучшение, если оно переделано, чтобы быть более понятным и логично. Вот почему рефакторинг кода - хорошая идея, даже если он не меняет никаких функций. Вот почему Brainfuck не мог быть хорошим языком программирования, даже если бы он обладал всеми возможностями Java.

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

-2
ответ дан 27 November 2019 в 17:22
поделиться

В двух словах: XHTML часто выгоднее и предпочтительнее HTML, когда вы хотите использовать инструмент на основе XML для манипулирования/преобразования/генерации HTML-страниц на стороне сервера.

Множество примеров можно найти в компонентных MVC-фреймворках, таких как Sun Oracle JSF, который использует Facelets в качестве технологии представления на основе XHTML. Компоненты на стороне сервера определяются в XSD, а страницы анализируются с помощью SAX парсера. Вы даже можете добавить в верхнюю часть страницы, чтобы Facelets генерировал "чистый" валидный и строгий HTML5. В Microsoft ASP.NET MVC есть аналогичная технология представления.

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

См. также:

1
ответ дан 27 November 2019 в 17:22
поделиться

Я вижу здесь множество одобренных ответов, которые делают неверные предположения о том, как работают браузеры. Так что позвольте мне дать свои 2 цента по этому поводу.

Прежде всего, почему существует XHTML?

Из первых уст:

был организован двухдневный семинар для обсуждения необходимости новой версии HTML в XML. Мнение на семинаре было однозначным: «Да»: с основанным на XML HTML другие языки XML могут включать части XHTML, а документы XHTML могут включать части других языков разметки. Мы также могли бы воспользоваться преимуществами редизайна, чтобы очистить некоторые из наиболее неопрятных частей HTML и добавить некоторые новые необходимые функции, такие как улучшенные формы.

Короче говоря, XHTML был создан по двум причинам:

  • Чтобы разрешить смешивание другого содержимого (например, mathml и svg) в одном документе с четкими правилами форматирования.
  • Для расширения и очистки HTML.

Упрощение валидации не было целью дизайна и не было необходимым, потому что валидаторы HTML4 существуют и являются всеобъемлющими.

Легче ли анализировать XHTML для браузеров?

Да и нет. XML легче анализировать, чем суп HTML-тегов, но, если вы не используете mime-тип xhtml + xml или application / xml для своей XHTML-страницы, браузеры анализируют его с помощью механизма синтаксического анализа HTML. Однако, если вы все же используете типы mime xml, IE подавится вашим контентом.Это поведение объясняется в блоге IE. Нет никакой разницы в том, как браузеры обрабатывают XHTML и HTML, если вы обслуживаете их с mime-типом text / html!

Да, они это делают! Ты лжешь!

Действительно, но только из-за doctype. Браузеры используют типы документа в верхней части HTML-документов, чтобы определить, следует ли им использовать стандартный режим или режим причуд (= режим ошибок). Все допустимые документы XHTML включают в себя doctype, запускающий стандартный режим. Однако в HTML вы можете получить тот же результат, включив «» вверху страницы.

Так вы говорите, что XHTML не имеет цели?

Вовсе нет. XHTML имеет множество преимуществ:

  • Он может быть преобразован с помощью инструментов XML, таких как XSLT
  • Его легче анализировать в коде на стороне сервера
  • Он может интегрировать пользовательскую разметку, при этом проходя проверку валидации

Итак , Тогда я должен использовать это?

Как всегда, ответ - «это зависит от обстоятельств».

  • На стороне сервера, возможно, полезно. Если вы хотите иметь преимущества XML на стороне сервера, вы хотите использовать вариант XHTML, будь то XHTML1 (сериализация HTML4 как XML) или XHTML5 (сериализация HTML5 как XML).
  • На стороне клиента, бесполезно. Я настоятельно рекомендую избегать предоставления вашим пользователям mime-типа XML. Синтаксический анализ XML не сочетается с изящной обработкой ошибок, вырабатывая только «ошибку синтаксического анализа XML» вместо документа, если у вас есть какие-либо проблемы с разметкой на вашей странице. Если вы никогда не пишете ошибки, вам понадобится изящная обработка ошибок.

А как насчет HTML5? Он конкурирует с XHTML?

Нет, не конкурирует.HTML5 имеет две сериализации , одну как HTML, а другую как XML. Преимущество в том, что теперь у обоих есть строгие правила синтаксического анализа. Вы получите предсказуемое поведение во всех браузерах, независимо от используемого вами подхода. Однако HTML5, анализируемый как HTML, имеет преимущество изящной обработки ошибок. Вот почему я предпочитаю такой подход. Как всегда, YMMV.

6
ответ дан 27 November 2019 в 17:22
поделиться

Почему был создан XHTML?

  • HTML не очень расширяемый. XHTML стремился исправить это, введя пространства имен, чтобы такие языки, как MathML или SVG, могли быть включены в строку.
  • XMl намного проще анализировать, чем SGML (формат, используемый HTML до версии 5)
  • Из-за огромного количества веб-сайтов с ошибками браузеры пытались исправить неправильную разметку. Новым браузерам пришлось попытаться исправить это таким же образом. XHTML пытается повысить стандарты, указывая, что будет отображаться только структурно правильный код.

Насколько это удалось?

  • XHTML широко распространен, но почти всегда используется с типом MIME text / html из-за несовместимости с Internet Explorer (до версии 8). Многие из этих страниц действительно сломались бы, если бы они обслуживались как XML. Таким образом, ни одно из трех вышеупомянутых преимуществ на самом деле не материализовалось.
  • Многие люди предпочли использовать XHTML, поскольку считали, что это обеспечит лучшую совместимость в будущем. Работа над XHTML2 остановлена.0, и хотя HTML5 будет иметь сериализацию XHTML, похоже, этому уделяется минимальное внимание. XHTML не дает никаких преимуществ совместимости в обозримом будущем. Mozilla и Safari рекомендуют использовать только HTML.
  • HTML со строгим DTD уже имеет гораздо более чистый формат. HTML5 пойдет дальше, удалив переходное DTD, удалив ненужные элементы и определив стандартный способ синтаксического анализа документов со степенью обратной совместимости. Браузеры по-прежнему будут исправлять ошибки для сериализации HTML, а не заставлять исправлять разметку, но, по крайней мере, они будут делать это таким же образом. Те, кто заботится о правильном коде, в любом случае будут использовать валидаторы.

Зачем нужен XHTML?

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

3
ответ дан 27 November 2019 в 17:22
поделиться