Язык преобразований XSL


Образцы - часть 2


Если разделителем является /, то таким элементом может быть только родитель, если же разделителем является //, то в качестве такого элемента может использоваться любой из предков. Соответствие , использующему ось child, засчитывается если для данного узла дает true, а сам узел не является узлом атрибута. Соответствие , использующему ось attribute, засчитывается если для данного узла дает true, а сам узел является узлом атрибута. Если присутствует [], то в сперва обрабатывается , причем проверяемый узел используется как узел контекста, а в качестве контекстного набора узлов берутся узлы, которые имеют общего родителя с узлом контекста и соответствуют . Однако если проверяемый узел является узлом атрибута, то в этом случае контекстный набор узлов - это все атрибуты, имеющие с проверяемым атрибутом общего родителя и соответствующие .

Например, appendix//ulist/item[position()=1]

соответствует узлу тогда и только тогда, когда выполняются все следующие условия:

  • item дает true для данного узла, а сам узел не является узлом атрибута, иными словами, данный узел является элементом item

  • обработка position()=1 дает true, если данный узел берется как узел контекста, а набор элементов item, имеющих с ним общего родителя, берется как контекстный набор узлов

  • данный узел имеет родителя, отвечающего условию appendix//ulist, это будет так, если этот родитель является элементом ulist, предком которого является элемент appendix.




- Начало -  - Назад -  - Вперед -