XSL - 如何在<sub> </sub>中的文本中插入数字字符

时间:2017-04-13 10:10:22

标签: xml xslt

我在formula节点内有原始文本,例如:

<formula>H2SO4</formula>

我的问题是,如何匹配文本中的数字字符并转换字符串,如H<sub>2</sub>SO<sub>4</sub>

是否可以通过xsl转换?非常感谢!

1 个答案:

答案 0 :(得分:0)

在XSLT 2.0中,你可以这样做:

<xsl:template match="formula">
    <xsl:copy>
        <xsl:analyze-string select="." regex="\d+">
            <xsl:matching-substring>
                <sub>
                    <xsl:value-of select="." />
                </sub>
            </xsl:matching-substring>
            <xsl:non-matching-substring>
                <xsl:value-of select="." />
            </xsl:non-matching-substring>
        </xsl:analyze-string>
    </xsl:copy>
</xsl:template>