检查xml文档是否包含具有特定id属性的元素

时间:2015-03-16 10:49:38

标签: xml xslt xpath

我需要找出一个文档是否有一个具有特定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)

1 个答案:

答案 0 :(得分:1)

我明白了:

由于我的文档只有带有attributs且没有文本节点的元素,我需要这样说:

<xsl:if test="$currCompFile//*/node()/@id = $curID"/>

检查$ currCompFile中的任何id属性是否与$ curID的值匹配。