2015-05-12 3 views

ответ

2

Это детализируется в the XPath specification:

ПРИМЕЧАНИЕ: Если $x привязан к набору узлов, то $x="foo" не означает то же самое, как not($x!="foo"): бывший истинно, если и только если узел в $x имеет строковое значение foo; последнее верно тогда и только тогда, когда все узлов в $x имеют строковое значение foo.

По сути, все общие операторы сравнения =, !=, <, <=, > и >= неявно экзистенциальны количественно над своими аргументами - X op Y верно, если есть любая пара значений из X и Y, удовлетворяющих состояние.

$z != "actors" 

означает, что есть узел в $z, который имеет значение, отличное от «актеров» (и могут также существовать другие узлы в $z, что делают имеют значение «актеры», тест все равно будет истинным если любой из них имеет другое значение), тогда как

not($z = "actors") 

означает, что она не так, что есть узел в $z, значение которого является «актерами».

+0

Большое спасибо! Я прочту еще об этом! –

Смежные вопросы