2015-03-16 2 views
-1

Мне нужно выяснить, есть ли у документа узел с определенным атрибутом id.проверьте, содержит ли XML-документ элемент с определенным атрибутом 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

Просьба показать все входные документы и таблицу стилей XSLT: http://stackoverflow.com/help/mcve. Благодарю. –

ответ

1

Я получил его:

Поскольку мой документ имеет только элементы с attributs и без каких-либо текстовых узлов, мне нужно поставить его так:

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

Проверки , соответствует ли какой-либо из id-атрибутов в $ currCompFile значению $ curID.

Смежные вопросы