Каковы преимущества создания веб-страниц с XML вместо HTML? - PullRequest
12 голосов
/ 11 сентября 2010

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

У меня вопрос: в чем преимущества такого подхода (если он есть) и почему кто-то выбрал бы такой способ?

РЕДАКТИРОВАТЬ: Если это хорошая вещь, почему она не получила широкого распространения?

РЕДАКТИРОВАТЬ 2: Спасибо всем за отличные ответы. Они действительно просветили меня. Я также нашел этот вопрос , содержание которого также связано.

Ответы [ 6 ]

12 голосов
/ 11 сентября 2010

Проще создать его программно и повторно использовать для других целей, чем для отображения на веб-странице.


Обновление :

РЕДАКТИРОВАТЬ: Если это хорошая вещь, почему она не получила широкого распространения?

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

4 голосов
/ 11 сентября 2010

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

В зависимости от источника данных также проще создавать XML вместо XHTML.

3 голосов
/ 11 сентября 2010

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

Это может быть правильной точкой для использования XML вместо XHTML или HTML

Обновление Чтобы ответить на ваш вопрос о том, почему это не широко распространено, это потому, что XSTL утомителен итрудно работать с.В частности, XPath, который для некоторых людей может быть довольно сложным в использовании.

2 голосов
/ 11 сентября 2010

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

2 голосов
/ 11 сентября 2010

Эти страницы используют XSLT для визуализации на стороне клиента.Не каждый браузер (особенно старые) поддерживает рендеринг XML + XSLT.Однако XML может использоваться на стороне сервера в качестве шаблона и преобразовываться в HTML приложением, работающим на сервере.Лично я не вижу никаких преимуществ в этом подходе.

1 голос
/ 14 сентября 2010

Лично я тоже этого не понимаю, хотя одной из самых больших проблем является поддержка в IE. Я создал каркасный сайт электронной коммерции, обслуживающий XML, преобразованный с помощью XSLT и стилизованный с использованием CSS. Мне очень не хватало возможности использовать XLink и другие замечательные функции XML. Также приятно иметь возможность пометить данные такими, какие они есть. Я использовал тег «меню» для меню ресторана. ценники для цен и так далее. Если пользователь нажимал на ссылку, чтобы изменить меню, все, что мне нужно было сделать, это отправить название товара, цену и описание вместо полной страницы. iirc, страница меню HTML размером 4K или более содержала только 200 байт отправленных данных.

Поскольку комментарии типа «одна ошибка приводит к сбою в XML», то же самое верно для любого языка программирования, поэтому правильное кодирование не должно беспокоить программистов и осторожные типы HTML / CSS.

Прежде чем кто-то скажет, что я на самом деле был XHTML ... нет. Я обслуживал XML. Я вызывал пространства имен XHTML при необходимости для ссылок, изображений и вещей типа HTML, но только при необходимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...