私はXMLメッセージを解析してテンプレートを呼び出すためのスクリプトを書こうとしています(これは私が入力のフォーマットを制御することはできません)。 XMLメッセージの一部のフィールドは、複数回表示されることがあります。このような場合、 "StringValue"の最後に数字を追加して、それをcall-templateのwith-param = "pet"に渡して、その出現を指定します。XSL xsl:numberとテキストを連結する方法は?
以下のコードは、私が望むことをしているようです。 XMLスパイはそれが無効なXMLだと言います。 "Dog/Color"の各テンプレートマッチに "StringValue"と "1"、 "StringValue"と "2"などを追加する方が良いでしょうか?例えば
:事前に
<xsl:template match="Dog/Color">
<xsl:call-template name="FormatContents">
<xsl:with-param name="pet">StringValue<xsl:number level="any"/></xsl:with-param>
<xsl:with-param name="color">
<xsl:value-of select="."/>
</xsl:with-param>
</xsl:call-template>
</xsl:template>
ありがとう!
http://stackoverflow.com/questions/10090271/xsl-how-to-concatenate -ext-with-xslnumber – thejartender