При использовании так, как вы его используете, current()
совпадает с .
(см. Раздел 12.4 ).Однако цель current
(в широком смысле) - получить возможность получить узел контекста всего выражения из предиката (где .
представляет контекст предиката).
Я полагаю, чтотонкость этого различия могла вызвать некоторую путаницу.
Это выражение XPath будет успешным, только если строковое значение узла контекста всего выражения совпадает с $ thisProduct.Очевидно, это не то, что вам нужно:
$ChildList[string(current())=string($thisProduct)]
Это выражение выполнится успешно, если в $ChildList
найдется узел, который имеет то же строковое значение, что и $ thisProduct.он просматривает $ChildList
узел, где выражение string(.)=string($thisProduct)
истинно.