私はxslに非常に慣れておらず、xmlメッセージを解析してテンプレートを呼び出すスクリプトを作成しようとしています(入力をフォーマットすることはできません)。XML メッセージの一部のフィールドは、複数回表示できます。このような場合、「StringValue」の末尾に数字を追加し、それがどのオカレンスであるかを指定する call-template の with-param="pet" に渡します。
以下のコードは、私が望むことをしているようです。しかし、XML Spy はそれが無効な 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>
前もって感謝します!