我对 xsl 非常陌生,并试图编写一个脚本来解析 xml 消息并调用一个模板(我无法控制它来格式化输入)。XML 消息中的某些字段可以出现多次;在这些情况下,我想在“StringValue”的末尾附加一个数字,并将其传递给指定它出现的调用模板的 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>
提前致谢!