XSLT - [125]
Взаимодействие Xalan с Java
Несмотря на свой размер, Xalan — один из простейших процессоров XSLT для взаимодействия с Java. В качестве примера я создал новый класс Java, >xalanjava
, и для осуществления XSLT-преобразования к нему положено обращаться следующим образом:
>C:\>java xalanjava planets.xml planets.xsl planets.html
Чтобы создать XSLT-преобразование, я начну с создания объекта класса >TransformerFactory
в классе >xalanjava
:
>import javax.xml.transform.Transformer;
>import javax.xml.transform.TransformerFactory;
>import javax.xml.transform.stream.StreamSource;
>import javax.xml.transform.stream.StreamResult;
>import javax.xml.transform.TransformerException;
>import javax.xml.transform.TransformerConfigurationException;
>import java.io.FileOutputStream;
>import java.iо.FileNotFoundException;
>import java.io.IOException;
>public class xalanjava {
> public static void main(String[] args)
> throws TransformerException, TransformerConfigurationException,
> FileNotFoundException, IOException {
> TransformerFactory tFactory = TransformerFactory.newInstance();
> .
> .
> .
Имена документа XML, документа XSL и результирующего документа были нам переданы в аргументах соответственно как >args[0]
, >args[1]
и >args[2]
. На следующем шаге нужно загрузить документ XSL в новый созданный мной объект >TransformerFactory
. Для этого я создал объект >StreamSource
и передал его в метод >newTransformer
объекта >TransformerFactory
, чтобы создать новый объект >Transformer
:
>import javax.xml.transform.Transformer;
>.
>.
>.
>public class xalanjava {
> public static void main(String[] args)
> throws TransformerException, TransformerConfigurationException,
> FileNotFoundException, IOException {
> TransformerFactory tFactory = TransformerFactory.newInstance();
> Transformer transformer =
> tFactory.newTransformer(new StreamSource(args[1]));
> .
> .
> .
Объект >transformer
реализует XSLT-преобразование. Для того чтобы выполнить такое преобразование, нужно вызвать метод >transform
этого объекта, передав ему соответствующий XML-документу объект >StreamSource
и соответствующий результирующему документу объект >StreamResult
:
>import javax.xml.transform.Transformer;
>.
>.
>.
>public class xalanjava {
> public static void main(String[] args)
> throws TransformerException, TransformerConfigurationException,
> FileNotFoundException, IOException {
> .
> .
> .
> transformer.transform(new StreamSource(args[0]),
> new StreamResult(new FileOutputStream(args[2])));
> }
>}
Вот полный файл Java, xalanjava.java (листинг 10.7).
>import javax.xml.transform.Transformer;
>import javax.xml.transform.TransformerFactory;
>import javax.xml.transform.stream.StreamSource;
>import javax.xml.transform.stream.StreamResult;
>import javax.xml.transform.TransformerException;
>import javax.xml.transform.TransformerConfigurationException;
>import java.io.FileOutputStream;
>import java.io.FileNotFoundException;
>import java.io.IOException;
>public class xalanjava {
> public static void main(String[] args)
> throws TransformerException, TransformerConfigurationException,
> FileNotFoundException, IOException {
> TransformerFactory tFactory = TransformerFactory.newInstance();
> Transformer transformer =
> tFactory.newTransformer(new StreamSource(args[1]));
> transformer transform(new StreamSource(args[0]),
> new StreamResult(new FileOutputStream(args[2])));
> }
>}
Чтобы скомпилировать файл >xalanjava.java
в >xalanjava.class
и выполнить этот класс, задайте >classpath
так, чтобы путь включал Xalan и разборщик XML, который вы обычно используете с Xalan, Xerces (о Xerces говорилось в главе 1, в том числе и о том, где его взять), — в Windows это будет выглядеть так (как всегда, пишите пути в соответствии со своей системой):
>C:\>set classpath=.;c:\xalan\xalan.jar;c:\xalan\xerces.jar
Затем скомпилируйте >xalanjava.java
компилятором с Java, >javac
:
>C:\>javac xalanjava.java
Здесь считается, что путь к >javac.exe
прописан, и его можно сразу активизировать из командной строки. (Как правило, компилятор Java javac.exe находится в каталоге Java bin — поэтому если путь к нему не задан, к нему можно обратиться, например, так: >C:\>c:\jdk1.3\bin\javac xalanjava.java
.) Компилятор Java создаст файл >xalanjava.class
, при помощи которого производится преобразование:
>C:\>java xalanjava planets.xml planets.xsl planets.html
При этом из файлов >planets.xml
и >planets.xsl
будет создан файл >planets.html
— здесь я его создал при помощи своего собственного класса Java.
РАБОТА С ПАКЕТОМ JAXP ФИРМЫ SUN ДЛЯ XSLT
Фирма Sun, создатель Java, обладает пакетом Java для обработки XML, JAXP, который можно загрузить с http://java.sun.com/xml. JAXP способен также осуществлять XSLT-преобразования. Но я не буду отдельно рассматривать JAXP в текущей главе, поскольку этот пакет (по крайней мере, сейчас) для всех своих преобразований использует Xalan, поставляемый в xalan.jar. Значит, предыдущий пример, листинг 10.7, без всяких изменений можно использовать с пакетом JAXP.
Взаимодействие Saxon с Java
Процессор Saxon также определяет API для работы с Java, но, конечно, в деталях этот прикладной интерфейс отличается от API Xalan. Для демонстрации создания преобразований при помощи Saxon API версии 6.0.2 я создам новый класс Java
Книга посвящена рассмотрению всей совокупности проблем, связанных с созданием, воспроизведением на компьютере и практическим использованием электронных и мультимедийных изданий. В частности, показано место этих изданий в современной медиа-индустрии. Рассмотрено использование различных HTML-редакторов и специализированных программных средств создания электронных и мультимедийных изданий (MS FrontPage, Macromedia Director, DreamWeaver и Flash, а также 3ds max). В книгу также вошли разделы, связанные с публикацией и хранением электронных изданий с помощью баз данных, а также семантическим анализом, индексацией и организацией поиска и долговременного хранения электронных документов.
Превратится ли всемирная паутина в «традиционное СМИ», содержание которого строго контролируется в интересах максимизации прибыли? В чьих руках сейчас находится Рубильник интернет-истории и, по сути, — развития общества? Исследуя развитие телефонии, радио, кино и телевидения, автор показывает, как эти индустрии прошли путь от хобби — к крупному бизнесу, от открытости и гибкости — к закрытой и жесткой системе. Какое будущее ожидает всемирную Сеть?Пролить свет на прошлое, чтобы предвидеть будущее — главная задача этой книги.Эта книга для тех, кто считает интернет не просто средством общения, но и инструментом познания мира, способом самовыражения.
Чем полезен Интернет пожилому человеку? Прежде всего, неограниченными возможностями общения. Вы можете вести виртуальный дневник или общаться с друзьями в социальных сетях, делиться советами на форумах или переписываться с родственниками, живущими за рубежом, находить старых друзей и заводить новых.Книга поможет вам ориентироваться в мире социальных сетей и интерактивных сервисов, научит вас работать с ними и использовать все те возможности, которые они предоставляют. Материал книги изложен в доступной форме, что облегчает его восприятие, а различные способы выполнения тех или иных действий дадут вам возможность выбрать наиболее удобный способ именно для вас.
Автор предлагает бесплатную, проверенную на практике, супернадежную и эффективную комплексную защиту от вирусов, шпионских программ, вторжения любопытных хакеров — любых попыток несанкционированного вторжения в ваш компьютер.Пользуясь советами автора, вы сможете не только выстроить надежную систему безопасности, но и контролировать те сайты, которые посещают ваши дети, а также без проблем восстановить операционную систему после любого сбоя и даже полного обрушения. Книга станет настольным пособием и у продвинутых пользователей, и у чайников благодаря простому и краткому изложению материала с подробными иллюстрациями каждого шага.
Рассказывается о ведущем поисковом ресурсе российской части Интернета — Яндексе. Описаны его сервисы для поиска документов и новостей, блогов и адресов, товаров и музыкальных произведений. Рассмотрены почтовый сервис и сервис для создания и размещения сайтов на Народ. ру. Читатель узнает о том, что такое "электронные деньги" и как с их помощью оплатить товар. Большое внимание уделяется общедоступным поисковым программам, которые Яндекс предлагает своим посетителям для поиска информации не только на сайтах, но и на своем компьютере.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Что общего между самыми востребованными профессиями и стремительным увеличением количества информации в мире? Ответ: язык структурированных запросов (SQL). SQL — рабочая лошадка среди языков программирования, основа основ для современного анализа и управления данными. Книга «SQL: быстрое погружение» идеальна для всех, кто ищет новые перспективы карьерного роста; для разработчиков, которые хотят расширить свои навыки и знания в программировании; для любого человека, даже без опыта, кто хочет воспользоваться возможностями будущего, в котором будут править данные.
Даже плохой программный код может работать. Однако если код не является «чистым», это всегда будет мешать развитию проекта и компании-разработчика, отнимая значительные ресурсы на его поддержку и «укрощение». Эта книга посвящена хорошему программированию. Она полна реальных примеров кода. Мы будем рассматривать код с различных направлений: сверху вниз, снизу вверх и даже изнутри. Прочитав книгу, вы узнаете много нового о коде. Более того, вы научитесь отличать хороший код от плохого. Вы узнаете, как писать хороший код и как преобразовать плохой код в хороший. Книга состоит из трех частей.
Книга "Изучаем Python" - это ускоренный курс, который позволит вам сэкономить время и сразу начать писать работоспособные программы (игры, визуализации данных, веб-приложения и многое другое). Хотите стать программистом? В первой части книги вам предстоит узнать о базовых принципах программирования, познакомиться со списками, словарями, классами и циклами, вы научитесь создавать программы и тестировать код. Во второй части книги вы начнете использовать знания на практике, работая над тремя крупными проектами: создадите собственную "стрелялку" с нарастающей сложностью уровней, займетесь работой с большими наборами данных и освоите их визуализацию, и, наконец, создадите полноценное веб-приложение на базе Django, гарантирующее конфиденциальность пользовательской информации. Если вы решились разобраться в том что такое программирование, не нужно ждать.
Алгоритмы - это всего лишь пошаговые алгоритмы решения задач, и большинство таких задач уже были кем-то решены, протестированы и проверены. Можно, конечно, погрузится в глубокую философию гениального Кнута, изучить многостраничные фолианты с доказательствами и обоснованиями, но хотите ли вы тратить на это свое время? Откройте великолепно иллюстрированную книгу и вы сразу поймете, что алгоритмы - это просто. А грокать алгоритмы - это веселое и увлекательное занятие.