0
嗨,我是XSLT偶爾的用戶,所以我可能錯過了一些明顯的東西,但希望有人能指出它!不確定我是否需要一個組或其他東西
原始XML具有結構;
<test>
<input>a</input>
<input>b</input>
<input>c</input>
<input>d</input>
<input>e</input>
</test>
XSL文件包含以下處理命令;
<xsl:template name="convertInputToNumeric">
<xsl:param name="inputs" />
<xsl:for-each select="input">
<NumericCode>
<xsl:call-template name="toNumericCode">
<xsl:with-param name="type">Input</xsl:with-param>
<xsl:with-param name="" select="." />
</xsl:call-template>
</NumericCode>
</xsl:for-each>
</xsl:template>
調用模板「toNumericCode」取電流輸入和另一個XML查找文件的數字表示該輸入例如輸入「A」返回值「001」
<Conversion type="Input">
<Convert>
<FROM>a</FROM>
<TO>001</TO>
</Convert>
<Convert>
<FROM>b</FROM>
<TO>002</TO>
</Convert>
<Convert>
<FROM>c</FROM>
<TO>001</TO>
</Convert>
<Convert>
<FROM>d</FROM>
<TO>001</TO>
</Convert>
<Convert>
<FROM>e</FROM>
<TO>002</TO>
</Convert>
</Conversion>
所以運行XSL我目前得到
<test>
<NumericCode>001</NumericCode>
<NumericCode>002</NumericCode>
<NumericCode>001</NumericCode>
<NumericCode>001</NumericCode>
<NumericCode>002</NumericCode>
</test>
,但實際上我想的是,我只得到了明顯的節點,例如
<test>
<NumericCode>001</NumericCode>
<NumericCode>002</NumericCode>
</test>
我不知道如何做到這一點,因爲我想基於從模板'toNumericCode'返回的數字代碼值進行分組,而不是初始輸入值?
謝謝!對我來說這是純粹的巫術。我之前嘗試將它分配給一個變量,以便做類似的事情,但處理器只是抱怨,並沒有想到我嘗試一個參數。我不能說自己明白爲什麼你的解決方案與param一起工作。 – user2458974