Язык XML


Пути адресации - часть 3


  • child::*[self::chapter or self::appendix][position()=last()] из множества непосредственных потомков текущего узла контекста chapter и appendix выбирает последний

    Пути адресации бывают двух типов: относительные и абсолютные.

    Относительный путь адресации состоит из последовательности одного или нескольких шагов адресации, отделенных друг от друга символом /. Шаги в относительном пути адресации считаются слева направо. На каждом шаге осуществляется отбор узлов, отталкиваясь от некоторого узла контекста. Основная последовательность шагов образуется последовательным перечислением шагов в порядке их выполнения. Сперва, отталкиваясь от узла контекста, последовательность шагов набирает некий набор узлов. Затем каждый узел в этом наборе поочередно используется как узел контекста для следующего шага. Все наборы узлов, полученных после выполнения такого шага, опять собираются вместе. В итоге в полученном объединении будет собран набор узлов, идентифицируемых данной последовательностью шагов. Например, формула child::div/child::para собирает все элементы para, являющиеся непосредственными потомками элемента div, который сам является непосредственным потомком узла контекста, или, иными словами, находит все элементы - потомки во втором поколении para, родителями которых являются div.

    Абсолютный путь адресации состоит из символа /, за которым может следовать относительный путь адресации. Сам символ / находит корневой узел документа, в котором располагался текущий узел контекста. Если за этим символом последовал относительный путь адресации, то получившийся путь адресации будет собирать набор узлов так, как если бы в качестве узла контекста был выбран корневой узел того документа, которому принадлежал действительный текущий узел контекста.




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