Какой браузер может отображать XML-данные, преобразованные XSLT?

скажем, если есть файл, вызывающий data.xml, а файл format.xsl (или это format.xml?), который должен преобразовывать данные XML и форматировать его также с помощью CSS, тогда какой браузер может отображать его? Какой файл следует открыть? (.xsl или .xml?)

На самом деле я увидел в другом примере, что первая строка файла XSLT имеет значение href="format.xsl", поэтому я думал, что XSLT файл уже является .xsl? то как оно связано с другим файлом .xsl? Сколько файлов есть, 2 или 3?

Ответ 1

Существует два файла: один .xml содержащий данные и один .xsl с XSLT script для преобразования. Все ведущие браузеры поддерживают преобразование XSLT на стороне клиента. Откройте файл .xml и соответствующий файл .xsl. Обычно script строит html-документ, который отображается на ходу. Преобразование также может быть выполнено сервером с PHP и т.д.
Для связывания XSLT script файлу .xml нужна строка, подобная этой:

<?xml-stylesheet type="text/xsl" href="script.xsl" ?>

Ответ 2

Многие браузеры поддерживают инструкцию по обработке XML-таблиц. Если он включен в XML файл и вы открываете этот XML-код в своем браузере, браузер загрузит указанный XSLT, запустит его с XML файлом в качестве ввода и отобразит XSLT-вывод вместо исходного XML-документа. Спектр можно найти здесь: http://www.w3.org/TR/xml-stylesheet/

Запись в Wikipedia XSLT содержит пример использования инструкции обработки. В основном вам просто нужно добавить эту строку вверху вашего XML файла (после пролога <? Xml? > ), При этом 'example2.xsl' является путем к вашему XSLT файлу:

<?xml-stylesheet href="example2.xsl" type="text/xsl" ?>

Firefox и IE должны поддерживать это (и, возможно, многие другие браузеры, но я никогда не пробовал - эта функция часто не используется).

Ответ 3

Firefox и Internet Explorer (определенно, версия 6 и выше, вероятно, более ранние версии) могут хорошо разбираться с XML/XSL. Фактически вы можете написать парсер на стороне клиента в Javascript, оба этих браузера хорошо работают с этим.

Вероятно, вы захотите убедиться, что не используете какие-либо детали, зависящие от производителя, которые могут нарушить совместимость (например, < msxsl: script > ). То же самое можно применить к другим синтаксическим анализаторам (например, функция node -set(), которая не совпадает между всеми анализаторами MSXML).

В вашем XSL файле вы можете включить другой XSL файл. Или больше XSL файлов. Таким образом, вы можете повторно использовать шаблоны из одного файла XSL в другом.

Ответ 4

В Mac я попытался открыть XML файл с помощью Chrome и Safari и ничего не отображал.

Решение, которое сработало для меня, - запустить xsltproc из командной строки, чтобы сначала получить HTML-код, а затем открыть HTML-код с помощью браузер. Вот команда:

xsltproc <XSL file> <XML file> > test.html

Теперь откройте test.html с браузером.

Ответ 5

Я считаю, что поддержка является частичной во всех браузерах.

Вот несколько диаграмм: http://greenbytes.de/tech/tc/xslt/