Каковы наилучшие методы использования HTML с языками на основе XML, такими как SVG?

StackOverflow https://stackoverflow.com/questions/87010

Вопрос

Просматривая этот и другие сайты, я узнал, что в настоящее время обслуживание веб-сайтов в формате XHTML считается вредным.

Доставка XHTML и обслуживание его в качестве application/xhtml+xml в настоящее время не поддерживается большинством пользователей, просматривающих страницы, предоставляя xhtml как text/html в лучшем случае это плацебо для меня, а в худшем — рецепт взлома сайтов, когда вам это меньше всего нужно.

Итак, мы вернулись к HTML 4.01.Если вместо этого я буду использовать свои страницы в формате HTML 4.01, можно ли использовать на странице SVG или любой другой язык на основе XML?

Если да, то как?

Это было полезно?

Решение

В HTML вы не сможете вставлять SVG напрямую.

Вы можете вставлять файлы SVG с помощью <object>/<embed> и в современных браузерах (Opera, Safari) также <img> и CSS background-image.

Вы можете вставить SVG data: URI, чтобы избежать использования внешних файлов.

Простые математические выражения можно писать с помощью Unicode и базового HTML/CSS (Opera 9.5). поддерживает большой фрагмент MathML через CSS).Для чего-то более сложного вам придется использовать изображения, как это делает Википедия.

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

Однако если вы хотите встроить XML только для не-браузеров (роботов), вы можете использовать HTML-совместимое подмножество XHTML и согласование содержимого HTTP для отправки правильного XML с правильным типом клиентам, которые его понимают (если вы тщательно протестируете страницу как в режиме XML, так и в режиме HTML, тогда это не принесет вреда).

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top