1
我不知道如果我真的做了一個錯誤,或者如果這只是工作不正常:如果當前節點是第一個孩子的XPath/XmlCompiledTransform:測試使用XPath功能父
<xsl:if test="position() = 1 or parent::position() = 1">
<!-- do something -->
</xsl:if>
,或者它的父母是第一個孩子,然後做一些特別的事情。
的問題是 「父::位置()= 1」。與.NET的XmlCompiledTransform我得到
預計表達的結束時,找到 '(' ... sition()= 1或父::位置 - >(< - = 1
現在,它顯然不喜歡在第二部分中那個位置()函數,但..我如何得到父母的位置怎麼辦?我,一般結合 XPath功能與XPaths在測試?
是否有優勢,在使用'父::節點()''以上父:: * '? – Tomalak
@Tomalak:他們不一樣。 'parent :: node()'在所有情況下都存在父項,而parent :: *如果以top元素作爲上下文節點發出,根本不選擇任何節點,但父項存在 - 它只是不是一個元素。 –
你是對的,在文件元素上它確實會有所作爲。對於這種情況不一定是這樣,因爲在那個位置不能有兄弟姐妹,但是。 – Tomalak