Изучаем Java EE 7 - [186]

Шрифт
Интервал

С помощью таблицы стилей XSLT, представленной в листинге 12.3, документ order.xml, показанный выше (см. листинг 12.1), преобразуется в веб-страницу XHTML, показывая таблицу проданных товаров, цена которых — больше 30.


Листинг 12.3. Таблица стилей XSLT для документа, содержащего информацию о продажах

>

>

>··

>····

>······

>········

Проданные товары

>········

>··········

>············

>············

>············

>··········


>··········

>············

>··············

>··············


>··············

>················

>··················

>················

>················

>··················

>················

>··············

>············

>··········


>········

НазваниеКоличествоОбщая стоимость

>················

>··············

>················

>··············

>····················

>··················

>····················

>··················

>······

>····

>··

>

Общий API для XSLT располагается в пакете javax.xml.transform и используется для составления инструкций стилей и преобразования источника XML в результирующий XML-документ. XSLT также можно использовать вместе с SAX API, чтобы преобразовать данные в XML.

Обзор спецификаций XML

XML-спецификации стали рекомендацией W3C в 1998 году, после чего были представлены несколько XML-спецификаций, таких как XSLT, XPath, схемы XML и XQuery, которые стали стандартными в W3C. Не зависящий от платформы код Java и платформонезависимые данные XML являются двумя взаимодополняющими аспектами, которые привели к стандартизации и упрощению различных Java API для XML. Это сделало разработку приложений Java, связанных с XML, гораздо проще.

Краткая история XML-спецификаций

W3C — это консорциум, который известен развитием и поддержанием веб-технологий, таких как HTML, XHTML, RDF или CSS. W3C также является центральным органом XML и всех связанных с XML технологий — схем XML, XSLT, XPATH и DOM.

Развитие XML началось в 1996 году усилиями рабочей группы XML W3C и привело к появлению рекомендации W3C в феврале 1998 года. Тем не менее технология не была совершенно новой. Она была основана на SGML, который был разработан в начале 1980-х и стал стандартом ISO в 1986 году.

XSD (схема XML) предлагает средства для описания структуры XML-документов в файле с расширением. xsd. Эта структура ограничивает содержимое XML-документов и, следовательно, может быть использована для их проверки. XSD является одним из нескольких языков схем XML. Он был первым самостоятельным языком схем для XML, опубликованным в качестве рекомендации W3C в 2001 году.

XSLT — это одна из первых спецификаций XML, которая была создана под влиянием функциональных языков и языков текстовых шаблонов. Она используется для преобразования XML-документов. Самым прямым предшественником является DSSSL (Document Style Semantics and Specification Language — язык описания семантики и стиля документа), который выполнял для SGML те же задачи, которые сейчас XSLT выполняет для XML. XSLT 1.0 стал частью W3C в 1999 году, и этот проект привел к созданию XPath. Xalan, Saxon и AltovaXML — лишь некоторые из процессоров XSLT, предназначенных для преобразования XML.

XPath 1.0 — это язык запросов для адресации узлов в документе XML. Его ввели и приняли в качестве рекомендации W3C в 1999 году. Первоначально он мотивировался желанием обеспечить общий синтаксис для XPointer и XSLT. XPath 1.0 может быть использован непосредственно внутри Java или встроен в такие языки, как XSLT, XQuery или схема XML.

Миссия проекта XML Query заключается в предоставлении гибкой системы запросов для извлечения данных из документов. Развитие XQuery 1.0 усилиями рабочей группы XML Query было тесно скоординировано с развитием XSLT 2.0 рабочей группой XSL. Эти две группы несут общую ответственность за XPath 2.0, которая представляет собой подмножество XQuery 1.0. XQuery 1.0 стал рекомендацией W3C 23 января 2007 года.

DOM — это древоподобный интерфейс для представления и взаимодействия с содержимым, структурами и стилями в HTML-, XHTML- и XML-документах. В начале существования DOM был попыткой разработать стандарт для языков сценариев, используемый в браузерах. Текущая версия спецификации DOM, DOM Level 3, поддерживает XPath, а также интерфейс для сериализации документов в формате XML.

SAX является первым широко принятым API для XML в Java. Это потоковый, основанный на событиях интерфейс для анализа XML-данных. SAX был первоначально реализован в Java, но теперь поддерживается почти во всех основных языках программирования.

С самого начала разработка спецификаций XML была связана с повышением удобства использования XML.


Рекомендуем почитать
Pro Git

Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.


Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.


MFC и OpenGL

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Симуляция частичной специализации

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Обработка событий в С++

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Питон — модули, пакеты, классы, экземпляры

Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.