2017-06-19 20 views
1

xsltのトランスフォーメーションに問題があります。
数値を変換する方法: "2 402.83"を数値に変換します。不幸にも、私が関数number(string(.))を使用すると、NaNが返されます。私は置換機能number(replace(string(.), ' ', ''))を使用しようとしましたが、何も返されません(js:の例外:キャッチしないTypeError: 'ノード'で 'appendChild'を実行できませんでした:パラメータ1のタイプが 'Node'。)。空白を含む文字列番号を数値に変換するXSLT

私のxml:

<?xml version="1.0" encoding="UTF-8"?> 
<catalog> 
    <cd number="1" price="2 402.82"/> 
</catalog> 

マイXSLT:

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:template match="/"> 
    <html> 
    <body> 
    <xsl:for-each select="catalog/cd"> 
     <xsl:for-each select="@price"> 
     <span>          
      <xsl:value-of select="number(replace(string(.),' ', ''))" /> 
     </span> 
     </xsl:for-each> 
    </xsl:for-each>         
    </body> 
    </html> 
</xsl:template> 
</xsl:stylesheet> 

答えて

2

replace機能が代わりにtranslateを使用し、XSLT 1.0で使用できません。

number(translate(string(.), ' ', '')) 
関連する問題