我是 XSLT 世界的新手,我想知道如何匹配字符串,就像<mml:mtable class="ccvccvcvc">
实际上我想ccvccvcvc
每次都匹配变量文本并将其复制以在转换中使用一样。最终结果应该是这样的:
- 输入字符串:
<mml:mtable class="xxx">
- 输出字符串:
<xsl:text>\begin{array}{xxx}</xsl:text><xsl:apply-templates/><xsl:text>\end{array}</xsl:text>
尝试
<xsl:template match="mml:mtable[@class]">
<xsl:text>\begin{array}{</xsl:text>
<xsl:value-of select="@class"/>
<xsl:text>}</xsl:text>
<xsl:apply-templates/>
<xsl:text>\end{array}</xsl:text>
</xsl:template>
它是一个属性,因此您可以在 mml:table 上下文中使用。
您输入的“字符串”不是字符串,而是 XML 元素节点。而且您的“输出字符串”不是字符串,而是 XSLT 程序文本的片段。所以我认为您在标题中对正则表达式的引用表明您对 XSLT 处理模型感到困惑。请记住,XSLT 处理节点树作为输入以生成节点树作为输出。
我认为 Martin 可能正确地猜到了您需要做什么,但我怀疑您对 XSLT 的理解可能存在一些空白,您需要先修复这些空白才能使其正常工作。