XSLT | страница 55



.

В следующем списке перечислены атрибуты этого элемента:

• >select (необязательный). Набор обрабатываемых узлов. Если атрибут опущен, автоматически обрабатываются все потомки узла. Устанавливается в выражение;

• >mode (необязательный). Устанавливает режим обработки. К этому узлу применяются правила шаблона с режимом выбора. Принимает значение типа >QName.

Элемент > может содержать ноль или более элементов >, или ноль или более элементов >.

В следующем примере шаблон ищет корневой узел и замещает его элементом буквального результата :

>

>

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

> 

>  

>  

> 

> .

> .

> .

С другой стороны, мы только нашли корневой узел, а дерево данных planets.xml имеет ряд узлов под корневым узлом:

>

>

>

Mercury

>  .0553

>  58.65

>  1516

>  .983

>  43.4

> .

> .

> .

Для обработки не только одного корневого узла можно использовать >, добавив этот элемент следующим образом:

>

>

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

>  

>  

>  

> .

> .

> .

Этот элемент дает указание процессору XSLT просмотреть все дочерние узлы корневого узла и попытаться найти шаблон, которому эти узлы удовлетворяют. Например, вам может потребоваться заменить все элементы > на >

Planet

. Элементы > — дочерние узлы элемента >, поэтому сначала я добавил новый шаблон для >, что говорит процессору о том, что следует продолжать поиск дочерних узлов:

>

>


>  

>  

>  


> 

>  

> 

> .

> .

> .

Теперь можно добавить еще один шаблон для следующего уровня, включающего элементы >. В этом случае я просто заменю каждый элемент > элементом буквального результата >

Planet

(листинг 2.3).