我需要找出一个文档是否有一个具有特定id属性的节点。
我迭代一个节点列表,对于每个节点,我需要检查第二个文档是否包含一个具有相同id的元素,然后再做一些事情。
我的方法是:
<xsl:variable name="variableOfDocument" select="doc(iri-to-uri('somedocument.xml'))/>
<!-- check, whether somewhere in the document, there is an element with the same id as the element currently matched -->
<xsl:if test="$variableOfDocument//*[text()[contains(.,$currentId)]]">
<!-- do something -->
</xsl:if>
但这不起作用 - 它找不到匹配项。我该如何放置xpath? (我使用的是xslt 2.0)
答案 0 :(得分:1)
我明白了:
由于我的文档只有带有attributs且没有文本节点的元素,我需要这样说:
<xsl:if test="$currCompFile//*/node()/@id = $curID"/>
检查$ currCompFile中的任何id属性是否与$ curID的值匹配。