Добрый день,
Мне нужно вернуть значение в элементе, который не является частью текущей ветви процесса. Другими словами, это зигзаг от моей текущей позиции.
В настоящее время я нахожусь в темно-синем элементе, и мне нужно вернуть значение в светло-синем элементе. Как показано ниже;
Диаграмма XSD
Мой код выглядит следующим образом:
<xsl:for-each select="$HDRLVL/ITEMLEVEL/ORDITMINF">
<xsl:call-template name="Lines"/>
</xsl:for-each>
<xsl:template xmlns:xsl="http://www.w3.org/1999/XSL/Transform" name="Lines">
<LINE>
<MainRef>
<xsl:choose>
<xsl:when test="$MainVessel = 'BlueWhale'">
<xsl:value-of select="preceding-sibling::ROUTES/REF[@ADDTYP='CA' and CDE='AFA']/VAL"/>
</xsl:when>
</xsl:choose>
</MainRef>
</LINE>
</xsl:template>
Итак, вы можете видеть, что я пытаюсь получить доступ к элементу который происходит вне текущего блока цикла. Я пробовал различные методы, такие как '..', 'ancestor' и c, но не могу вернуть ни одного значения в голубом блоке.
Пожалуйста, помогите?