Xml XSL-如何在内部文本中插入数字字符<;sub></sub>;
我在Xml XSL-如何在内部文本中插入数字字符<;sub></sub>;,xml,xslt,Xml,Xslt,我在公式节点中有一个原始文本,例如: <formula>H2SO4</formula> H2SO4 我的问题是,如何匹配文本中的数字字符,并像这样变换字符串H2SO4 可以通过xsl转换吗?多谢 在XSLT 2.0中,您可以执行以下操作: <xsl:template match="formula"> <xsl:copy> <xsl:analyze-string select="." regex="\d+">
公式
节点中有一个原始文本,例如:
<formula>H2SO4</formula>
H2SO4
我的问题是,如何匹配文本中的数字字符,并像这样变换字符串H2SO4
可以通过xsl转换吗?多谢 在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>
您的处理器是否支持XSLT 2.0?我正在使用标准的OS X xsltproc命令,但也许我可以安装支持XSLT 2.0的SAXON,这可能不是一个问题。使用regex很容易,它需要XSLT 2.0.OK,但如何安装?:)真为你高兴。我很好奇你是怎么让萨克森在macOS终端工作的。还是你用了别的东西?