我有2個序列,一個是從1到10,另一個是1到3. 如何比較第二個序列和第一個序列以測試前三個項目是否相同?比較xslt中的2個序列
0
A
回答
0
假設您有兩個變量seq1
和seq2
您可以簡單地測試<xsl:if test="$seq1[1] eq $seq2[1] and $seq1[2] eq $seq2[2] and $seq1[3] eq $seq2[3]">...</xsl:if>
。
1
使用此短XPath表達式:
deep-equal(subsequence($seq1, 1, count($seq2)), $seq2)
當評估它產生true()
恰好如果第二序列是第一的起始序列。這兩個序列可以包含任何XDM項目的混合,包括節點。
這裏是一個充分的論證:
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:variable name="vSeq1" select=
"1, 2, 3, 4, 5, 6, 7, 8, 9, 10"/>
<xsl:variable name="vSeq2" select=
"1, 2, 3"/>
<xsl:variable name="vSeq3" select="/*/*"/>
<xsl:variable name="vSeq4" select="/*/*[position() gt 5]"/>
<xsl:variable name="vSeq5" select="/*/*"/>
<xsl:variable name="vSeq6" select="/*/*[position() le 5]"/>
<xsl:template match="/">
<xsl:sequence select=
"deep-equal(subsequence($vSeq1, 1, count($vSeq2)), $vSeq2)"/>
===========
<xsl:sequence select=
"deep-equal(subsequence($vSeq3, 1, count($vSeq4)), $vSeq4)"/>
===========
<xsl:sequence select=
"deep-equal(subsequence($vSeq5, 1, count($vSeq6)), $vSeq6)"/>
</xsl:template>
</xsl:stylesheet>
當下面的XML文檔應用這種轉變:
<nums>
<num>01</num>
<num>02</num>
<num>03</num>
<num>04</num>
<num>05</num>
<num>06</num>
<num>07</num>
<num>08</num>
<num>09</num>
<num>10</num>
</nums>
想要的,正確的結果產生:
true
===========
false
===========
true
+0
是這是有用的:-) – 2012-04-30 09:52:51
+0
@XSLT_FRESHER:我很高興這個答案對你有用。爲什麼不*接受*(通過點擊最佳答案旁邊的複選標記)? :) – 2012-04-30 11:55:56
相關問題
- 1. 比較2列
- 2. 比較excel中的2列
- 3. 比較2個陣列
- 4. mysql比較2個陣列
- 5. AngularJS - 比較 - 2個陣列
- 6. 比較2個陣列
- 7. 比較drools中的2個列表
- 8. 比較列表中的2個條目
- 9. 比較datagridview中的2個不同列
- 10. XSLT:比較兩個列表變量
- 11. XSLT null比較
- 12. Vlookup比較2列
- 13. 比較快2列
- 14. 在Excel中比較2個列表?
- 15. 比較多列多列2個表
- 16. PHP比較2個陣列陣列
- 17. 比較2列的值
- 18. 比較2個csv文件的列
- 19. 比較2個陣列的相似度
- 20. 比較2個數據幀的列
- 21. 比較來自2個陣列的值
- 22. 在XSLT中比較CSV
- 23. 比較2個集
- 24. 比較兩個序列
- 25. 比較使用XSLT
- 26. XSLT日期比較
- 27. 如何比較散列圖中的2個陣列列表?
- 28. 比較JTable中的2列日期
- 29. 比較不同表中的2列mysql
- 30. 比較Hyperion中的2列(Oracle)
您可以顯示使用XML,因爲不清楚序列是否是元素列表,或者只是包含逗號分隔列表的文本元素。此外,還會顯示您期望的結果以及您所做的任何XSLT遠也會有所幫助。謝謝! – 2012-04-25 10:06:38