XSLT
Шрифт:
C:\>set classpath=.;c:\oraclexml\lib\xmlparserv2.jar
Затем скомпилируйте
oraclejava.java
, как мы это уже делали, компилятором Java javac
. Для выполнения XSLT-преобразований нужно указать URL документов, с которыми вы хотите работать (если документы локальны, можно указать URL файлов, как и раньше): C:\>java oraclejavahttp://starpowder.com/planets.xsl planets.html
Взаимодействие XT с Java
Процессор XT также может работать
xml.jar
фирмы Sun, который можно получить, загрузив Project X TR2. Чтобы получить xml.jar
, необходимо зарегистрироваться на web-узле разработчиков Sun,что, к счастью, бесплатно, хотя и потребует от вас заполнения изрядного количества форм. Файл
xml.jar
нужен для класса com.sun.xml.tree.XmlDocument
. Этот класс поддерживает XML-документы, и я начну свой новый пример, xtjava.java
, с создания нового объекта XmlDocument
для исходного документа, таблицы стилей XSLT и результирующего документа: import java.io.IOException;
import java.io.OutputStream;
import java.io.FileOutputStream;
import org.xml.sax.SAXException;
import com.sun.xml.tree.XmlDocument;
import com.jclark.xsl.dom.Transform;
import com.jclark.xsl.dom.TransformEngine;
import com.jclark.xsl.dom.TransformException;
import com.jclark.xsl.dom.XSLTransformEngine;
class xtjava {
public static void main(String[] args)
throws IOException. SAXException, TransformException {
XmlDocument XMLdoc =
new XmlDocument.createXmlDocument(args[0]);
XmlDocument XSLdoc =
new XmlDocument.createXmlDocument(args[1]);
XmlDocument newdoc = new XmlDocument;
.
.
.
После этого я создаю объект
XSLTranformationEngine
и вызываю его метод createTransform
для создания нового объекта Transform
на основе таблицы стилей XSLT
: import java.io.IOException;
.
.
.
class xtjava {
public static void main(String[] args)
throws IOException, SAXException, TransformException {
XmlDocument doc = new XmlDocument;
XSLTransformEngine transformEngine = new XSLTransformEngine;
Transform transform = transformEngine.createTransform(XSLdoc);
.
.
.
Затем
import java.io.IOException;
.
.
.
class xtjava {
public static void main(String[] args)
throws IOException, SAXException, TransformException {
XmlDocument XMLdoc =
new XmlDocument.createXmlDocument(args[0]);
XmlDocument XSLdoc =
new XmlDocument.createXmlDocument(args[1]);
XmlDocument newdoc = new XmlDocument;
XSLTransformEngine transformEngine = new XSLTransformEngine;
Transform transform = transformEngine.createTransform(XSLdoc);
transform transform(XMLdoc, newdoc);
.
.
.
Так завершается преобразование. Осталось только записать результирующий документ,
newdoc
, на диск, что можно сделать при помощи объекта FileOutputStream
(листинг 10.10). Листинг 10.10. xtjava.java, взаимодействие XT с Java
import java.io.IOException;
import java.io.OutputStream;
import java.io.FileOutputStream;
import org.xml.sax.SAXException;
import com.sun.xml.tree.XmlDocument;
import com.jclark.xsl.dom.Transform;
import com.jclark.xsl.dom.Transform Engine;
import com.jclark.xsl.dom.TransformException;
import com.jclark.xsl.dom.XSLTransformEngine;
class xtjava {
public static void main(String[] args)
throws IOException, SAXException, TransformException {
XmlDocument XMLdoc =
new XmlDocument.createXmlDocument(args[0]);
XmlDocument XSLdoc =
new XmlDocument.createXmlDocument(args[1]);
XmlDocument newdoc = new XmlDocument;
XSLTransformEngine transformEngine = new XSLTransformEngine;
Поделиться:
Популярные книги
Вперед в прошлое 3
3. Вперёд в прошлое
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
С Том 3
3. Сапер
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Убивать чтобы жить 3
3. УЧЖ
Фантастика:
героическая фантастика
боевая фантастика
рпг
5.00
рейтинг книги
Жизнь, которой не было
1. Жизнь, которой не было
Фантастика:
городское фэнтези
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Дворянин
2. Император и трубочист
Фантастика:
боевая фантастика
альтернативная история
5.00
рейтинг книги
Последний Паладин. Том 11
11. Путь Паладина
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Мастер решений
3. Специалист по выживанию
Фантастика:
боевая фантастика
космическая фантастика
6.20
рейтинг книги
Охотник на демонов
2. Живой лёд
Фантастика:
боевая фантастика
5.83
рейтинг книги
Неучтенный элемент. Том 2
2. Антимаг. Вне системы
Фантастика:
городское фэнтези
фэнтези
5.00
рейтинг книги
Я еще барон. Книга III
3. Дорогой барон!
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Второгодка. Книга 3. Ученье свет
3. Второгодка
Фантастика:
городское фэнтези
сказочная фантастика
альтернативная история
5.00
рейтинг книги
Газлайтер. Том 12
12. История Телепата
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Одержимая (авторский сборник)
Фантастика:
фэнтези
научная фантастика
7.80
рейтинг книги
Старый, но крепкий 7
7. Культивация без насилия
Фантастика:
рпг
уся
фэнтези
5.00