我有这样的 XML:
<a>
<b>
<c>some text here</c>
</b>
</a>
<a>
<b>
<c>another cool text</c>
</b>
</a>
我需要在 //a/b/c/text() 中匹配单词“cool”并像这样转换 XML
<a>
<b>
<c>some text here</c>
</b>
</a>
<x>
<y> prepend to cool text </y>
</x>
<a>
<b>
<c>another cool text</c>
</b>
</a>
我试过这个:
<xsl:template
match="//a/b/c/matches(text(),'\.*cool\*.')">
...
</xsl:template>
但没有运气:
XTSE0340: XSLT Pattern syntax error at char 153 on line 30 in {...\.*cool\*...}:
Function call may appear only at the start of a pattern
我在这里想念什么?