Может ли Android-браузер выполнять преобразование xsl?

У меня есть 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>
Предполагается, что

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

Есть ли способ script, чтобы преобразование выполнялось на стороне клиента или это единственная опция для этого на стороне сервера?

Ответ 1

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

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

Ответ 2

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

Ответ 3

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

Ответ 4

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

Ответ 5

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

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

Ответ 6

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

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

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

Ответ 7

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

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

Ответ 8

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