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