XSLT | страница 28



Преобразования из XML в XML

Преобразования XML-XML иногда рассматриваются как SQL для Интернета, поскольку они позволяют оперировать запросами к базе данных в XML-документах. Ниже приведен пример. Используемый нами файл >planets.xml содержит достаточно много данных о каждой планете:

>

>  

>   Mercury

>   .0553

>   58.65

>   1516

>   .983

>   43.4

>  

>  

>   Venus

>   .815

>   116.75

>   3716

>   .943

>   66.8

>  

>  .

>  .

>  .

Что, если нам нужно только подмножество этих данных — например, имя и масса каждой планеты? В терминах баз данных >planets.xml представляет собой таблицу, и мы хотим создать новую таблицу, содержащую подмножество данных из первой. В базах данных для этого служит язык SQL, а для документов XML мы можем использовать XSLT.

В листинге 1.6 приведена новая версия файла >planets.xsl, осуществляющая требуемое преобразование: выбираются только имя и масса каждой планеты, которые отправляются в выходной документ. В особенности обратите внимание на то, что мы осуществляем преобразование XML-XML, поэтому я использую элемент >, атрибут >method которого установлен в «xml» (фактически тип выходных данных обычно и есть XML, но если процессор XSLT видит тег >, он обычно по умолчанию генерирует HTML).

Листинг 1.6. Выбор только имени и массы

>

>

> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">


>  



>  

>  

>  


>  

>  

>   

>