Может ли браузер Android выполнять преобразование xsl? - PullRequest
11 голосов
/ 01 октября 2010

У меня есть XML-файл, который я хочу преобразовать с помощью xsl-документа, но я не могу заставить его работать даже на последних доступных версиях Android.

Я попытался добавить тег <?xml-stylesheet/>в XML, но это не сработало ни в собственном браузере, ни в браузере Dolphin.

Например:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="style.xsl"?>
<xmldata>Hello world</xmldata>

и

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/xmldata">
        <em><xsl:value-of select="/xmldata"/></em>
    </xsl:template>
</xsl:stylesheet>

должныгенерировать текст курсивом, что и происходит в большинстве браузеров настольных компьютеров (в chrome есть та раздражающая корневая политика общего сценария, которая гарантирует, что она работает только тогда, когда файлы не находятся на локальном диске.) Но она не будет работать в мобильном браузере.

Есть ли способ сделать так, чтобы преобразование происходило на стороне клиента, или это единственный вариант сделать это на стороне сервера?

Ответы [ 8 ]

2 голосов
/ 29 ноября 2010

См. Android выпуск 9312 Подводя итог: браузер Android не поддерживает XSLT на стороне клиента до версии 2.1.

1 голос
/ 28 февраля 2012

Браузер Android по умолчанию начинает поддерживать преобразования xsl в версии, которая отображается в Android 4.0, Ice Cream Sandwich.

Другими мобильными браузерами, которые наконец-то начали поддерживать xsl, являются Opera Mobile и Chrome Android Browser , в настоящее время в бета-версии.

1 голос
/ 25 февраля 2012

Отлично работает в Opera mini. Я использую планшет Android 1.5.

1 голос
/ 25 ноября 2010

У меня есть сайт, полностью разработанный с использованием XML, XSLT и XHTML. Он не отображается в моем телефоне Android DroidX, но отображается во всех браузерах в других местах. У меня нет однозначного ответа на вопрос, означает ли это, что Android не поддерживает XSLT.

0 голосов
/ 27 февраля 2012

Я загрузил Opera Mobile Version: 12.00 для моего Desire, и XSLT наконец-то работает на моем телефоне. Так что отличный совет - скачать Opera Mobile на Маркете.

0 голосов
/ 01 февраля 2011

Я только что протестировал пример XSLT с браузером Froyo, и в результате получается полностью белая страница. Однако я установил мобильный браузер Opera для Android, и он отлично показывает мой пример.

Я не могу выполнить тестирование в Opera mini, поскольку мой тест проводится в недоступной сети Интернет.

0 голосов
/ 03 декабря 2010

Webkit имеет функциональность XSLT благодаря использованию включенной библиотеки libxslt.Я успешно выполнил преобразования, используя объявление таблицы стилей, а также класс Javascript XSLTProcessor.Это работает в большинстве браузеров webkit, за исключением Android и iPhone.

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

Протестировано с использованием Android 2.2 на планшете Galaxy и класс XSLTProcessor не существует.

0 голосов
/ 23 ноября 2010

Да, это очень похоже на то, что платформа Android включает в себя механизм макетов Webkit .

И, насколько мне известно, он поддерживает XSLT.Я уверен в настольных версиях webkit, но вы также можете взглянуть на XSLT-реализацию WebKit для получения более подробной информации.

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