Поддержка XSLT в Android 2.1 (и старше)? - PullRequest
0 голосов
/ 22 декабря 2010

В настоящее время я ищу стороннюю библиотеку для обработки таблиц стилей XSL в Android. Я знаю, что в Android 2.2 добавлена ​​javax.xml.transform.TransformerFactory, но, к сожалению, мы должны иметь возможность поддерживать более старые версии Android.

Существуют ли сторонние библиотеки, которые я могу использовать для преобразования XML с помощью XSL?

Я взглянул на Xalan, Saxon и XT, но из моего понимания они просто предоставляют реализации javax.xml.transform.TransformerFactory и все еще требуют базовых абстрактных классов.

Ответы [ 4 ]

0 голосов
/ 08 июня 2014

Вы можете скопировать классы прямо из Java (нашли их на Grepcode.com), поместить их в свое собственное пространство имен и использовать их.

Вам понадобится:

DOMSource.java FactoryFinder.java Result.java SecuritySupport.java Source.java StreamResult.java Transformer.java TransformerFactory.java

.. и вам нужно обновить ссылки в них, чтобы они ссылались на себя, а не на те, которые есть в пакете javax. Я думаю, что это около 20 минут работы.

0 голосов
/ 11 января 2011

У меня была такая же проблема. До сих пор мне удавалось тестировать базовые XSLT-преобразования на Android 2.1, используя старую версию Saxon. Saxon 5.5.1 представляется последней версией Saxon до того, как они перешли на поддержку JAXP (то, чего не хватает в Android 2.1). Это только XSLT 1.0, но, похоже, в основном работает. Вам, вероятно, потребуется настроить источник, чтобы он работал правильно. Я восстановил Jar после проблем, которые у меня были, чтобы заставить Xalan работать (Подсказка: Xalan не работает на Android 2.1). Главным образом, просто изменяя переменные, чтобы они не назывались enum, и получая затмение, чтобы генерировать некоторые методы-заглушки для вещей, добавленных в DOM с тех пор.

Я нашел некоторую документацию, в которой показано, как использовать Saxon XSLT из OnJava.com , и использовал ее для создания тестового приложения, которое выполняло преобразование XSLT, генерируя HTML, отображаемый в WebView.

У меня нет места для размещения саксонской банки, но я мог бы сделать это позже.

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

Opera Mobile отлично работает с XSLT для меня на моем старом желании Htc.

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

JAXB имеет встроенную поддержку преобразований xslt и специальный интерфейс Transformer для него. См. TransformerFactory и связанные с ним классы.

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