0
我試圖通過一組for-each來檢查一組節點,並且我希望在此節點中的參數驗證少數條件時選擇變量中的當前節點。 問題是它似乎選擇了節點中的值,而不是實際的節點本身。我希望能夠稍後將此變量用作節點集。XSL:選擇當前節點
XML($ PARAMETERFILE):
<?xml version="1.0" encoding="UTF-8"?>
<Cases>
<Case>
<Rule LineNumber="10" PartNumber="FT40X40"/>
<Template>
<Drawings>
test
</Drawings>
</Template>
</Case>
<Case>
<Rule LineNumber="10" PartNumber="FT40X46k"/>
<Template>
<Drawings>
test2
</Drawings>
</Template>
</Case>
XSLT:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
exclude-result-prefixes="xs"
version="2.0">
<xsl:variable name="GoodCase">
<xsl:for-each select="$parameterFile/Cases/Case">
<xsl:choose>
<xsl:when test="(Rule/@LineNumber = $markerNbLines) and
(Rule/@PartNumber = $markerPartNumber)">
<xsl:value-of select="current()"/>
</xsl:when>
</xsl:choose>
</xsl:for-each>
</xsl:variable>
<xsl:for-each select="$parameterFile/$GoodCase/Template/Drawings">
test
</xsl:for-each>
輸出預計:
test
謝謝!
請編輯您的問題:包括一個[**完整的XSLT樣式表,一個格式良好的輸入XML **](http://stackoverflow.com/help/mcve),以及您期望的輸出 - 也是XML或文本 - 不作爲描述。 – 2015-01-21 10:51:47
爲什麼您的問題標記爲XSLT 1.0而您的樣式表聲明版本2.0? – 2015-01-21 11:32:36