2017-04-13 71 views
0

数目的字符我有内部formula节点的原始文本,例如:XSL - 如何在文本中插入内<sub></sub>

<formula>H2SO4</formula> 

,我的问题是,如何在文本匹配的字符数,改造像这样的字符串H<sub>2</sub>SO<sub>4</sub>

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

+0

请问您的处理器支持XSLT 2.0吗? –

+0

我使用标准的OS X xsltproc命令,但也许我可以安装支持XSLT 2.0的SAXON,但这可能不成问题。 – user3216673

+0

使用正则表达式(这需要XSLT 2.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> 
+0

谢谢,作品非常棒! :) – user3216673

+0

对你有好处。我很好奇你是如何让撒克逊人在macOS终端工作的。还是你用别的东西? –

+0

nope,只需下载软件包,它就可以工作 – user3216673

相关问题