2017-04-13 58 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

相關問題