Какая польза от. В XPath? - PullRequest
5 голосов
/ 30 мая 2011

Почему запятая используется после точки в определенных выражениях XPath? Вот пример:

Set nlist = doc.selectNodes("//book/author/first-name[starts-with(.,'M')]")

Я пытался найти это с помощью Google, но буквальные операторы "", похоже, не любят точки или запятые.

Ответы [ 3 ]

3 голосов
/ 31 мая 2011

starts-with имеет два параметра и возвращает true, если первый параметр заканчивается строкой из второго параметра, в противном случае возвращается false.

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

3 голосов
/ 31 мая 2011

В XPath метка . обозначает узел контекста .Узел контекста обычно совпадает с обрабатываемым узлом current (current()), но могут быть ситуации, когда он отличается.Это не совсем очевидно, когда вы имеете дело только с XPath, но это происходит при использовании XSLT.См. Этот вопрос в SO, объясняющий такую ​​разницу.

1 голос
/ 31 мая 2011

. означает «текущий узел», , - обычный разделитель параметров.

Итак, параметры, отправляемые в функцию starts-with, это . (текущий узел) и 'M'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...