我想知道是否可以使用contains()
函数编写模板匹配。
我有一个文档,其中有多个需要重命名为通用元素的元素。所有以下内容都需要重命名为OP:OP1.2、OP7.3、OP2.4、OP5.6等。
是的,您可以在元素的匹配条件中使用contains()
函数筛选器。
<xsl:template match="*[contains(local-name(),'OP')]>
<OP>
<xsl:apply-templates select="@*|node()"/>
</OP>
</xsl:template>
你还可以使用 starts-with()
函数。*[starts-with(local-name(),'OP')]
如果你使用的是XSLT 2.0,你可以使用matches()
函数,该函数支持正则表达式模式以进行更复杂的匹配。
*[matches(local-name(),'^OP')]