Какой браузер может отображать данные XML, преобразованные с помощью XSLT? - PullRequest
18 голосов
/ 12 августа 2010

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

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

Ответы [ 5 ]

20 голосов
/ 12 августа 2010

Существует два файла: один .xml, содержащий данные, и один .xsl со сценарием XSLT для преобразования. По состоянию на август 2010 года все ведущие браузеры поддерживают XSLT-преобразование на стороне клиента. Откройте файл .xml, и будет использован связанный файл .xsl. Обычно скрипт создает HTML-документ, который отображается на лету. Преобразование также может выполняться сервером с помощью PHP и т. Д.
Чтобы связать XSLT-скрипт, XML-файлу нужна строка, подобная этой:

<?xml-stylesheet type="text/xsl" href="script.xsl" ?>
9 голосов
/ 12 августа 2010

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

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

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

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

2 голосов
/ 12 апреля 2017

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

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

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

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

1 голос
/ 12 августа 2010

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

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

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

0 голосов
/ 26 января 2016

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

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

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