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

Тут можно читать онлайн Стивен Холзнер - XSLT - бесплатно полную версию книги (целиком) без сокращений. Жанр: Интернет, издательство Питер, год 2002. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.

Стивен Холзнер - XSLT краткое содержание

XSLT - описание и краткое содержание, автор Стивен Холзнер, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Эта книга посвящена XSLT — мощным и удобным системам преобразования документов. В ней не только рассматривается весь синтаксис XSLT, от основ до специальных аспектов, но и подробно излагаются современные способы использования XSLT.

Вы найдете сотни практических примеров, таких как осуществление преобразований XSLT на web-cepвepax, подключение к базам данных и использование браузеров для осуществления преобразований на лету.

Книга рассчитана на всех, кто хочет изучать XSLT и использовать его на практике

XSLT - читать онлайн бесплатно полную версию (весь текст целиком)

XSLT - читать книгу онлайн бесплатно, автор Стивен Холзнер
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

import oracle.xml.parser.v2.*;

public class oraclejava {

public static void main (String args[]) throws Exception {

DOMParser parser;

try {

parser = new DOMParser();

parser.setPreserveWhitespace(true);

.

.

.

Затем, чтобы считать исходный документ XML и документ таблицы стилей XSLT, нужно преобразовать их URL в объекты URLJavaпри помощи метода parseобъекта parser. После этого я вызываю метод разборщика getDocument, для того чтобы извлечь и сохранить документы XML и XSLT в объектах XMLDocument:

public class oraclejava {

public static void main (String args[]) throws Exception {

DOMParser parser;

XMLDocument xmldoc, xsldoc;

URL xslURL;

URL xmlURL;

try {

parser = new DOMParser();

parser.setPreserveWhitespace(true);

xmlURL = new URL(args[0]);

parser.parse(xmlURL);

xmldoc = parser.getDocument();

xslURL = new URL(args[1]);

parser.parse(xslURL);

xsldoc = parser.getDocument();

.

.

.

В этот момент planets.xmlи planets.xslзаключены в объекты XMLDocument. Для выполнения преобразования мне необходимы еще объекты XSLStylesheetи XSLProcessorдля таблицы стилей XSLT. Фактическое преобразование XSLT осуществляется методом processXSLобъекта parser, возвращающего фрагмент документа:

public class oraclejava {

public static void main (String args[]) throws Exception {

DOMParser parser;

.

.

.

xslURL = new URL(args[1]);

parser.parse(xslURL);

xsldoc = parser.getDocument();

XSLStylesheet xslstylesheet = new XSLStylesheet(xsldoc, xslURL);

XSLProcessor processor = new XSLProcessor();

DocumentFragment docfragment =

processor.processXSL(xslstylesheet, xmldoc);

.

.

.

Этот код завершает преобразование. Теперь задача состоит в том, чтобы преобразовать данный фрагмент документа в документ XML, который можно записать на диск, — для чего я и создам новый XML-документ, newdoc, и вставлю фрагмент документа в корень нового документа:

import org.w3c.dom.*;

.

.

.

public class oraclejava {

public static void main (String args[]) throws Exception {

DOMParser parser;

XMLDocument xmldoc, xsldoc, newdoc;

URL xslURL;

URL xmlURL;

try {

.

.

.

DocumentFragment docfragment =

processor processXSL(xslstylesheet, xmldoc);

newdoc = new XMLDocument();

Element rootElement = newdoc.createElement("root");

newdoc.appendChild(rootElement);

rootElement.appendChild(docfragment);

.

.

.

Теперь осталось только сохранить на диске новый XML-документ с именем, заданным в args[2]. В этих целях я использую объект FileOutputStream, и вот полный код (листинг 10.9).

Листинг 10.9. oraclejava.java, взаимодействие процессора XSLT Oracle с Java

import org.w3c.dom.*;

import java.util.*;

import java.io.*;

import java.net.*;

import oracle.xml.parser.v2.*;

public class oraclejava {

public static void main (String args[]) throws Exception {

DOMParser parser;

XMLDocument xmldoc, xsldoc, newdoc;

URL xslURL;

URL xmlURL;

try {

parser = new DOMParser();

parser.setPreserveWhitespace(true);

xmlURL = new URL(args[0]);

parser.parse(xmlURL);

xmldoc = parser.getDocument();

xslURL = new URL(args[1]);

parser.parse(xslURL);

xsldoc = parser.getDocument();

XSLStylesheet xslstylesheet = new XSLStylesheet(xsldoc, xslURL);

XSLProcessor processor = new XSLProcessor();

DocumentFragment docfragment =

processor.processXSL(xslstylesheet, xmldoc);

newdoc = new XMLDocument();

Element rootElement = newdoc.сreateElement("root");

newdoc.appendChild(rootElement);

rootElement.appendChild(docfragment);

OutputStream out = new FileOutputStream(args[2]);

newdoc.print(out);

out.close();

} catch (Exception e) {}

}

}

На этом oraclejava.javaзаканчивается. Чтобы скомпилировать пример, включите в classpathпуть к разборщику XML процессора XSLT Oracle, xmlparserv2.jar:

C:\>set classpath=.;c:\oraclexml\lib\xmlparserv2.jar

Затем скомпилируйте oraclejava.java, как мы это уже делали, компилятором Java javac. Для выполнения XSLT-преобразований нужно указать URL документов, с которыми вы хотите работать (если документы локальны, можно указать URL файлов, как и раньше):

C:\>java oraclejava http://starpowder.com/planets.xml http://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, http://developer.java.sun.com, что, к счастью, бесплатно, хотя и потребует от вас заполнения изрядного количества форм.

Файл 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).

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Стивен Холзнер читать все книги автора по порядку

Стивен Холзнер - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




XSLT отзывы


Отзывы читателей о книге XSLT, автор: Стивен Холзнер. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x