2014-10-02 3 views
0

Я пытаюсь использовать в XSL: шаблон со следующим:XSL соответствующий шаблон с текстом()

xsl:template match="https://stackoverflow.com/a/b/c/d/text() = 'Foo'" 

Но я получаю сообщение об ошибке от XMLSpy ...: Недопустимый шаблон: Unexcpected маркер - "= 'Foo'"

Кто-нибудь знает, что я делаю неправильно?

Спасибо.

ответ

2

Если вы хотите, чтобы максимально соответствовать d элементы затем использовать match="https://stackoverflow.com/a/b/c/d[. = 'Foo']", если вам нужно, чтобы соответствовать текстовый узел детей из d элементов используйте match="https://stackoverflow.com/a/b/c/d/text()[. = 'Foo']".

0
<xsl:template match='/a/b/c/d[text() = "Foo"]'> 

text() = "Foo" является сравнение, и в XPath это означает, что он должен быть внутри предиката - в квадратных скобках.

+0

Возможно, вы можете добавить короткое объяснение к вашему коду? –

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