2017-04-13 14 views
0

内のテキストに数文字を挿入する方法を私は例えば、formulaノード内の生のテキストを持っている:XSL <sub></sub>

<formula>H2SO4</formula> 

と私の質問は、テキスト内の数文字にマッチして変換する方法であり、このような文字列H<sub>2</sub>SO<sub>4</sub>

xsl変換は可能ですか?どうもありがとう! XSLT 2.0で

+0

は、あなたのプロセッサのサポートXSLT 2.0をしていますか? –

+0

私は標準のOS X xsltprocコマンドを使用していますが、XSLT 2.0をサポートするSAXONをインストールすることができますが、それは問題ではないかもしれません。 – user3216673

+0

これはXSLT 2.0を必要とするregexを使うと非常に簡単です。 –

答えて

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端末でSaxonがどのように動作するのか、私は興味があります。あるいは何か他のものを使いましたか? –

+0

いいえ、パッケージをダウンロードするだけで動作します – user3216673

関連する問題