Я хочу получить конкретное значение, если условие выполнено.Чтобы получить это, нужно найти конкретное значение в исходном XML-документе и сравнить его с внешним.
<xsl:variable name="objNo">
<!-- If True, look up in document and get 'obj' -->
<xsl:when test="cac:AdditionalDocumentReference[cbc:DocumentType = 'AKV']">
<xsl:variable name='QueryResult' select='document("tmp9501.xml")/QueryResult/Result'/>
<xsl:value-of select='$QueryResult[ac_name = cac:AdditionalDocumentReference/cbc:ID]/obj'/>
</xsl:when>
</xsl:variable>
Это часть документа tmp9501.xml, где я буду искатьдля значений
<?xml version="1.0" encoding="utf-8"?>
<QueryResult>
<Result>
<ac_name>12345678</ac_name>
<obj>AA12345</obj>
</Result>
<Result>
<ac_name>87654321</ac_name>
<obj>BB67890</obj>
</Result>
</QueryResult>
Когда я пытаюсь запустить этот код, $ regNo ничего не возвращает.
Давайте предположим, что cac:AdditionalDocumentReference/cbc:ID = 12345678
, который должен вернуть obj = AA12345
Как я могу в этом случае вернуть правильныйзначение