2013-04-09 9 views
0

我想將XSLT變量節點分成兩個不同的節點。假設我在變量Parent中有超過50個節點。我想將第一個50存儲在變量(First50)中,其餘節點存儲到另一個變量(After50)中。XSLT無法將特定位置的節點存儲到變量中

問題是我能夠正確存儲First50。但無法獲得After50。

<xsl:variable name="check" select="count($Parent) - 50"/> 

<xsl:if test="$check &gt; 0"> 

<xsl:variable name="First50" select="$Parent[position() &lt;= 50]"/> 

<xsl:variable name="After50" select="$Parent[51 &lt;= position()]"/> 

</xsl:if> 

</xsl:variable> 
+0

究竟你的意思是什麼?「無法得到After50」?使用上面給出的代碼,'First50'和'After50'變量將在本地定義爲'',並且不能在該元素之外訪問。 – 2013-04-09 11:43:02

+0

我不相信你完全需要'',但是隻要無條件地設置這兩個變量,並且如果'$ Parent'中的節點少於51個,那麼'After50'將會是一個空節點集,您可以測試對於那些你需要知道的地方的情況。 – 2013-04-09 11:44:57

+0

感謝我的意思我認爲這些變量如果循環內我使用...某事與選擇=「$ Parent [51 < = position()] – user2261003 2013-04-09 13:15:03

回答

0

您還可以使用「1至50」和「50結束()」中的謂語