的foreach我有幾個標籤XML:迭代與XSLT
<Process name="list-of-values" order="2">
<CountryList name="USA" order="1" />
<CountryList name="UK" order="2" />
<CountryList name="INDIA" order="3" />
</Process>
和XSL文件包含以下模板:
<xsl:for-each select="/Processes/Process/CountryList">
<xsl:variable name="aggregationOrder" select="@order"/>
<xsl:if test="$aggregationOrder='1'"><ok to="<xsl:value-of select="@name"/>"></xsl:if>
</xsl:for-each>
<xsl:text>
</xsl:text>
</xsl:if>
目前,我從我的訂單<Process>
標籤讀取只有一個值= 1,我想根據順序迭代所有名稱(countryList xml標記中的整數值)。因爲我應該獲得美國,英國,印度的訂單價值。假設最初訂單是'1',它應該取得'美國',然後訂單價值增加1,那麼它應該得到'英國'等等。
我曾嘗試下面的代碼:
<xsl:for-each select="Processes/Process/CountryList">
<xsl:variable name="aggregationOrder" select="@order"/>
<xsl:if test="$aggregationOrder='1'"><ok to="<xsl:value-of select="@name"/>"></xsl:if>
</xsl:for-each>
<xsl:variable name="aggregationOrder" select="$aggregationOrder + 1"/>
<xsl:text>
</xsl:text>
</xsl:if>
但對我來說沒有工作。對此有幫助嗎?
你的問題不明確。這聽起來像你想要**排序** CountryList'節點的訂單屬性?什麼是輸出標記爲文本的處理?你在這裏預期的結果是什麼? –
你的'for-each'和'if'標籤重疊,我不認爲這個樣式表甚至會運行。 –
@ michael。hor257k我不想對它們進行排序,我想根據順序獲取每個名稱。 –