2016-05-03 3 views
2

Какой тип doctype должен быть указан для XML-сериализации HTML5?Что такое doctype для XHTML5 (XML-сериализация HTML5)?

Поддерживая расширение файла как html, я могу сообщить браузеру, что содержимое XHTML5?

+0

Это звучит как проблема XY: у вас есть проблема, и вы пытаетесь ее решить, подавая некоторые файлы в виде XHTML. Возникают новые проблемы. Итак, какова первоначальная проблема, которую вы пытаетесь решить? Давайте сначала посмотрим на это. –

ответ

0

Какой тип doctype следует указывать для XML-сериализации HTML5?

От the docs:

XML документы могут содержать DOCTYPE, если желательно, но не обязательно, чтобы соответствовать данной спецификации. Эта спецификация не определяет общедоступный или системный идентификатор, а также не предоставляет формальный DTD.

Таким образом, для него нет стандартного DTD, поэтому вы не должны предоставлять Doctype (если только вы не пишете DTD).


Сохраняя расширение файла как HTML я могу сказать браузеру, что содержание XHTML5?

Расширения файлов не имеют отношения к WWW. Заголовки ответа HTTP Content-Type должны быть application/xhtml+xml.

+0

При открытии файлов из локальной файловой системы расширение делает разницу. Что еще более важно, из-за вопросов проверки я задал этот вопрос. Имеются ошибки проверки из-за, например, void элементы, имеющие отдельные теги тегов, которые в противном случае действительны в xml – Nitesh

+0

«При открытии файлов из локальной файловой системы расширение делает разницу». Это атипичное использование для XHTML, поскольку вы не упомянули об этом в вопросе, разумно предположить, что вы говорили о WWW. Программное обеспечение использует расширения файлов для определения типа файла в локальной системе, поэтому не предоставляйте им расширение .html. – Quentin

+0

«Существуют ошибки проверки из-за, например, элементов void с отдельными тегами закрытия, которые в ином случае действительны в xml». Это то, о чем вы еще не говорили.Вам нужно будет найти проверенный XHTML валидатор. Это может быть стандартный XML-валидатор, если вы написали DTD для XHTML. Для XHTML нет стандартного DTD. – Quentin

3

«doctype» XHTML5 - <!DOCTYPE html>.

Строго говоря, HTML5 не имеет типа doctype. Он имеет только «взглянуть на меня, я - документ HTML5», который похож на объявление doctype для запуска режима стандартов в веб-браузерах. Поскольку XHTML5, как вы заявляете, не что иное, как сериализация XML HTML5, его «doctype» совпадает с HTML5.

Если вы спрашиваете о MIME-типе, то это приложение/xhtml + xml, как обычно, для документа XHTML. Доктрипт не имеет никакого влияния на то, работает ли документ в виде суба HTML-тега или как XML.

+0

В связи с вопросами проверки я задал этот вопрос. Имеются ошибки проверки из-за, например, void элементы, имеющие отдельные теги close, которые в противном случае действительны в xml – Nitesh

+0

И некоторые html-файлы могут иметь html5, но другие XHtml5, поэтому я не могу просто указать типы mime. Является ли расширение xhtml лучшим вариантом? – Nitesh

+2

@Nitesh: Ваша первая ошибка заключается в обслуживании вашего сайта как части HTML и части XHTML. Никто никогда этого не делает. Никто. Если вы это делаете, потому что не можете решить, с каким вкусом пойти, я решит для вас: HTML. – BoltClock

0

Любое использование XHTML должно означать, что это теперь документ XML. Это единственное требование для XHTML, хотя многие веб-сайты предоставили XHTML в качестве «mime-type» text/html (как установлено веб-сервером), хотя это должно быть «application/xhtml + xml». Таким образом, ваш веб-сервер должен быть настроен для доставки XHTML в формате XML. Как только он будет доставлен в виде XML-документа, ваша веб-страница не сможет проанализировать веб-браузер, если он не сформирован и не подтвержден XML.

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