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

HTML5: W3C против WHATWG. Что дает самую авторитетную спецификацию?

Я нахожусь на полпути через синтаксический анализатор html и нашел html5 определенным явно правилами большого пальца для анализа плохо сформированного html. (И я использовал их вывод из DTD, вздох)

Мне нравится этот факт, но я хорошо знаю, что html5 еще не завершен (также интересно, будет ли он когда-либо) и что он не разработан W3C, а WHATWG.

Поиск нужной мне спецификации Мне представлено:

или

Если бы не номера разделов, которые я бы вызвал, они были бы одинаковыми. Но разная нумерация заставляет меня задуматься. Какая версия, предположительно, самая авторитетная?

WHATWG, похоже, имеет больше разделов и добавляется с тех пор, как W3C загрузил свою рекомендацию кандидата.

Будет ли обновление W3C версией WHATWG?
Или они будут придерживаться своего нынешнего кандидата до получения статуса официальной рекомендации?

Какая спецификация html5 - это бедные дьяволы, которые должны следовать, когда возникают сомнения?

4b9b3361

Ответ 1

Это зависит от того, кого вы спросите. В самом деле. Политика в этом уродливая. И, что еще хуже, спецификации еще не полностью стабильны. Я бы подумал, что эти две спецификации будут в основном одинаковыми в разделах анализа, поскольку раздел 1.1.1, в котором перечислены различия, не упоминается синтаксический анализ. Но потом я сделал веб-diff, и я увидел, что в тексте есть тонкие различия. Я бы сказал, что если вы на самом деле выполняете спецификацию, чтобы поговорить с игроками о любых различиях, которые вы видите между спецификациями, используя общедоступные списки рассылки. Во всяком случае, я сожалею, что не могу дать вам четкий ответ.

Ответ 2

Всегда выбирайте WHATWG по W3C, никаких исключений.

Анне ван Кестерен (Anne van Kesteren), в настоящее время работающая в Mozilla, описывает текущую ситуацию между WHATWG и W3C следующим образом в своем блоге :

W3C разворачивает [WHATWG] HTML-стандарт в течение n-го раза. Как всегда, это довольно катастрофично:

Удалил все Git историю документа. Не документировал, как они трансформировали документ. Проблемы несоответствий уже были сообщены, и, вероятно, будет долгое время, если когда-либо, прежде чем все ошибки, связанные с этим процессом, будут обнаружены, так как он не был открыт. Не обсуждали планы с более широким сообществом. Не обсуждал планы с людьми, которых они разворачивали. Даже не обсуждал планы с членами рабочей группы W3C Web Platform. Стереть раздел подтверждения. Удалили информацию об авторских правах и лицензировании и заменили ее на свои собственные.

Ответ 3

Предвзятый ответ от редактора HTML WHATWG. Надеюсь, факты могут говорить сами за себя, хотя.

Уровень жизни WHATWG должен считаться авторитетным. постоянно работал над большим сообществом участников, включая всех поставщиков браузеров. Никакие разработчики браузеров не реализуют согласно HTML W3C; для некоторых, таких как Firefox и Chrome, это вопрос публично заявленной политики.

WHATWG Living Standard постоянно получает исправления ошибок и новые функции. Для получения дополнительной информации об этой модели разработки спецификаций, которая более тесно соответствует современной практике разработки программного обеспечения, см. Что означает "Living Standard" ?.

К сожалению, W3C иногда копирует и вставляет нашу работу на свой собственный веб-сайт и помещает на нее свой собственный логотип, а также изменяет имена редакторов и т.д. Они делают это по целому ряду причин, один из самых больших из которых сберегает лица ради своих компаний-членов-плательщиков (пример из них, указывающий на это). Что еще хуже, им нравится выпускать "версии" (например, "HTML" 5.0 "," 5.1 "и т.д.), Которые только устарели, не имеют современных исправлений ошибок и функций, которые засоряют страницы результатов поиска, что вызывает путаницу, как этот вопрос. Мы в настоящее время отслеживаем путаницу, вызванную этими вилками, из которых только HTML.

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

Ответ 4

Хорошо, я в конце концов пришел к собственному выводу, и я собираюсь поделиться им.

Я буду следовать версии W3C: слепо.

Политически это не простое решение. Позвольте мне объяснить.

Я очень скептически относился к w3c, и я, возможно, даже ненавидел их кишки во время всего XHTML дебаты/фиаско. Я видел рост WHATWG как приход наших прагматических спасителей: людей, которые открыто признал, что HTML нельзя превратить в жесткий, строгий язык, основанный на XML, в то время как весь интернет беспокоит его.

Итак, учитывая эту точку зрения, я должен пойти с спецификацией WHATWG, не так ли?

Нет. Почему?
WHATWG не устанавливает официальные версии. Я как бы хотел, чтобы они это сделали, но они этого не делают.

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

Но я не крупный браузер, я маленький разработчик, Я не могу ссылаться на живой стандарт.
Хорошо, если только я не схожу с ума по нему и не выпустлю постоянно, вроде бы нет завтра. (то, что происходит с firefox и chrome)

Итак, несмотря на бесконечное безумное безумие, я должен выбирать здравомыслие. И W3C предлагает отполированные и пронумерованные версии спецификации. И я могу утверждать, что он соответствует одной из этих версий.

Ответ 5

В случае сомнений попробуйте сопоставить поведение фактических браузеров. Это все, что на самом деле имеет значение.

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

Вы можете думать о том, что W3C принимает моментальные снимки WHATWG в определенные моменты времени, стабилизируя их, а затем затвердевая, никогда не изменяясь.

  • W3C HTML5 был завершен 28 октября 2014 года.
  • W3C HTML5.1 был завершен 1 ноября 2016 года.
  • W3C HTML5.2 в настоящее время находится в "первом рабочем проекте" и, вероятно, не будет завершен до 2019 года.