Язык XML


Наборы узлов


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

Оператор | находит объединение операндов, которые должны являться наборами узлов.

Точно так же, как и в случае с путями адресации, для фильтрации выражений могут использоваться . Однако если результатом обработки выражения, подлежащего фильтрации, будет не набор узлов, фиксируется ошибка. Указанный осуществляет фильтрацию набора узлов относительно оси child. Замечание: Значение решающим образом зависит от используемой оси. Например, preceding::foo[1] возвращает первый элемент foo, встретившийся при сканировании документа в обратном порядке, поскольку предикат [1] относится к оси preceding. И наоборот, (preceding::foo)[1] возвращает первый элемент foo, обнаруженный при просмотре документа в прямом порядке, поскольку в этом случае с предикатом [1] связана ось child.

Операторы / и // формируют и выражение, и относительный путь адресации. Если результатом обработки такого выражения окажется не набор узлов, фиксируется ошибка. Оператор / образует композицию в точности так же, как символ /, использовавшийся в пути адресации. Как и в случае с путями адресации, // является сокращением для /descendant-or-self::node()/.

Не существует таких типов объектов, которые можно было бы преобразовать в набор узлов.

[18]

UnionExpr

   ::=   

| '|'

[19]   

PathExpr

   ::=   

|

| '/'

| '//'

[20]   

FilterExpr

   ::=   

|




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