我在XSLT一行代碼,但我不明白它的某些部分:請給我解釋一下這行代碼
<xsl:if test="not(following::lieferant/text()=current()/text)">
.
.
.
.
</xsl:if>
是什麼線是什麼意思?
我在XSLT一行代碼,但我不明白它的某些部分:請給我解釋一下這行代碼
<xsl:if test="not(following::lieferant/text()=current()/text)">
.
.
.
.
</xsl:if>
是什麼線是什麼意思?
這是XPath的非常漂亮的無效行:
"not(following::lieferant/text()0current()/text"
在哪裏結束)
?
也許你的意思是這樣的:
"not(following::lieferant/text() = current()/text())"
這意味着檢查以下lieferant元素(德語?)的文本()不等於當前節點(在foreach內的文字? )
但這些只是猜測。
編輯:
"not(following::lieferant/text() = current()/text)"
所以你說選擇的元素,你目前正在(以下:: lieferant),其文字內容不符合的文本元素的含量等於以下所有lieferant元素的當前()節點。
很簡單:
<xsl:if test="not(following::lieferant/text()=current()/text)">
<!-- Processing here ... -->
</xsl:if>
意味着:
執行"Processing here ..."
只有如果心不是有相同的字符串值,因爲一些在text
孩子的following::lieferant/text()
節點當前(由當前模板匹配或由最內層xsl:for-each
指令選擇和處理)節點。
換句話說,沒有一對節點,一個following::lieferant/text()
和另一個current()/text
- 它們都具有相同的字符串值。
所提供的代碼可能是一個錯字:
<xsl:if test="not(following::lieferant/text()=current()/text())">
<!-- Processing here ... -->
</xsl:if>
在這種情況下,在上述說明仍然是正確的,所不同的是該特定的條件現在是:不存在一對節點,一個following::lieferant/text()
和另一個current()/text()
- 它們都具有相同的字符串值。
換句話說:當前匹配(或由最內層xsl:for-each
)節點選擇的文本節點子節點都不具有與任何following::lieferant/text()
節點相同的字符串值。
'0'應該是''''? – 2011-11-30 13:26:17
是的,這是真的 –