Чтение онлайн

на главную - закладки

Жанры

Холзнер Стивен

Шрифт:

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 также может работать

с Java. API XT спроектирован для работы с классами, определенными в Project X TR2 фирмы Sun, которые поддерживают обработку XML. Вам будет необходим файл
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);

.

.

.

Затем

я могу преобразовать XML-документ в объект результирующего документа следующим способом:

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

Вязовский Алексей
3. Сапер
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
С Том 3

Убивать чтобы жить 3

Бор Жорж
3. УЧЖ
Фантастика:
героическая фантастика
боевая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 3

Жизнь, которой не было

Денис Палимов
1. Жизнь, которой не было
Фантастика:
городское фэнтези
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Жизнь, которой не было

Дворянин

Злотников Роман Валерьевич
2. Император и трубочист
Фантастика:
боевая фантастика
альтернативная история
5.00
рейтинг книги
Дворянин

Последний Паладин. Том 11

Саваровский Роман
11. Путь Паладина
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Последний Паладин. Том 11

Мастер решений

Земляной Андрей Борисович
3. Специалист по выживанию
Фантастика:
боевая фантастика
космическая фантастика
6.20
рейтинг книги
Мастер решений

Охотник на демонов

Шелег Дмитрий Витальевич
2. Живой лёд
Фантастика:
боевая фантастика
5.83
рейтинг книги
Охотник на демонов

Неучтенный элемент. Том 2

NikL
2. Антимаг. Вне системы
Фантастика:
городское фэнтези
фэнтези
5.00
рейтинг книги
Неучтенный элемент. Том 2

Я еще барон. Книга III

Дрейк Сириус
3. Дорогой барон!
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Я еще барон. Книга III

Второгодка. Книга 3. Ученье свет

Ромов Дмитрий
3. Второгодка
Фантастика:
городское фэнтези
сказочная фантастика
альтернативная история
5.00
рейтинг книги
Второгодка. Книга 3. Ученье свет

Газлайтер. Том 12

Володин Григорий Григорьевич
12. История Телепата
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Газлайтер. Том 12

Одержимая (авторский сборник)

Дяченко Марина и Сергей
Фантастика:
фэнтези
научная фантастика
7.80
рейтинг книги
Одержимая (авторский сборник)

Старый, но крепкий 7

Крынов Макс
7. Культивация без насилия
Фантастика:
рпг
уся
фэнтези
5.00
рейтинг книги
Старый, но крепкий 7