Как заставить браузер отображать файл XHTML5, XML-сериализацию HTML5?

Есть ли способ заставить браузер отображать XHTML5, XML-сериализацию HTML5? Очевидно, вы можете сделать это с серверным управлением mime-типа, но есть ли поддерживаемый способ вызвать сериализацию XML с помощью файла?

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


person Evan Carroll    schedule 21.04.2011    source источник
comment
Чтобы создать тест для редактора jwysiwyg для документов XHTML5..   -  person Evan Carroll    schedule 21.04.2011


Ответы (2)


есть ли поддерживаемый способ вызвать сериализацию XML с помощью файла?

Если вы имеете в виду «при загрузке из локальной файловой системы», просто дайте файлу расширение .xhtml.

Проверкой этого будет рендеринг   последних версий Chromium, которые фактически остановят рендеринг, если они обнаружат этот элемент.

Это не очень хороший тест. Это просто означает, что синтаксический анализатор является общим синтаксическим анализатором XML, а не тем, который поддерживает XHTML 5. В спецификации говорится, что их использование "небезопасно", а не "запрещено". '.

Согласно спецификации XML процессоры XML не гарантируют обработку внешнего подмножества DTD, указанного в DOCTYPE. Это означает, например, что использование ссылок на объекты для символов в документах XHTML небезопасно, если они определены во внешнем файле (за исключением ‹, ›, & и ).

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

person Quentin    schedule 21.04.2011
comment
В каком браузере это работает. Это запускает процессор XML в Firefox, но он отказывается делать что-либо, кроме как отображать задокументированный как нестилизованный XML, генерирующий Похоже, что этот файл XML не имеет никакой информации о стиле, связанной с ним. Дерево документа показано ниже. Chromium делает то же самое. Похоже, что с этим файлом XML не связана никакая информация о стиле. Дерево документа показано ниже. - person Evan Carroll; 21.04.2011
comment
Обычно это означает, что вы не указали пространство имен с атрибутом xmlns в корневом элементе <html xmlns="http://www.w3.org/1999/xhtml" lang="en">. - person Quentin; 21.04.2011
comment
Это пространство имен XHTML — оно не имеет версии и не является URI (просто так получилось, чтобы обеспечить уникальность). В документе с соответствующим URI конкретно указано, что он предназначен, среди прочего, для HTML 5: словарь и связанные с ним API для HTML и XHTML. HTML5 не имеет DTD или пространства имен, и сериализация HTML не является подмножеством (или приложением) SGML, но вопрос касается сериализации XHTML, которая имеет пространство имен и является XML заявление. - person Quentin; 21.04.2011
comment
Крутые бобы, так что, кажется, это все. XML предоставляет xmlns -- HTML5 без DTD не может этого отрицать. Это предоставляет информацию о стиле (хотя мне было бы интересно узнать, как это делается, если он неверсирован). Расширение .xhtml или \.x.* переводит браузеры в режим разбора XML. Изящный. You++ Спасибо за помощь в прояснении различий между отсутствием таблицы стилей и отсутствием DTD. - person Evan Carroll; 21.04.2011
comment
Пространство имен не предоставляет информацию о стиле. Он просто сообщает браузеру, что <p> (например) — это p из пространства имен XHTML, а не p из какого-то другого пространства имен. Браузер внутри знает, как отображать p из пространства имен XHTML. - person Quentin; 21.04.2011

&nbsp; является допустимой ссылкой на именованный символ в (X) HTML5

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

person ikegami    schedule 21.04.2011
comment
Это неправда. В HTML5 не разрешены DTD, поэтому XHTML5 остается без этих именованных ссылок (он не может использовать DTD для их определения). Согласно спецификации XML процессоры XML не гарантируют обработку внешнего подмножества DTD, указанного в DOCTYPE. Это означает, например, что использование ссылок на сущности для символов в документах XHTML небезопасно, если они определены во внешнем файле (за исключением , , и ). источник - person Evan Carroll; 21.04.2011
comment
@ Эван Кэрролл, мое утверждение неверно, но не из-за DTD. Это было неправильно, потому что часть, которую я цитировал, касалась исключительно сериализации HTML. - person ikegami; 21.04.2011
comment
@ Эван Кэрролл, я узнал об этом еще до того, как увидел твое упоминание. Я также считаю, что у меня есть лучший ответ для вас сейчас, но я должен уйти ненадолго. Я опубликую новый ответ позже. - person ikegami; 21.04.2011