Как получить доступ к дочернему узлу родителя 1 из дочернего узла родителя 2 в XSLT?
<Test>
<SOLUTIONS>
<SOLUTION>
<OBSERVATIONS>
<OBSERVATION Key = "1ASED">A1</OBSERVATION>
<OBSERVATION Key = "2DFED">A2</OBSERVATION>
<OBSERVATION Key = "3DGEE">A3</OBSERVATION>
</OBSERVATIONS>
<ITRs>
<ITR Key = "ASE1">P1</ITR>
<ITR Key = "GGEE1">P2</ITR>
<ITR Key = "GERFECE1">P3</ITR>
</ITRs>
</SOLUTION>
<SOLUTION>
<OBSERVATIONS>
<OBSERVATION Key = "ABCD">A1</OBSERVATION>
<OBSERVATION Key = "EFGH">A2</OBSERVATION>
<OBSERVATION Key = "IJKL">A3</OBSERVATION>
</OBSERVATIONS>
...
</SOLUTION>
</SOLUTIONS>
</Test>
Для каждого ITR мне нужно распечатать наблюдение.Для Первой ИТР внутри я должен связать Ключ этого с Ключом Наблюдения.Итак, всего нужно отобразить 9 записей.
Мой XSLT равен
<xsl:for-each select="/Test/SOLUTIONS/SOLUTION">
<xsl:for-each select="ITRs/ITR">
<xsl:variable name="Key_ITRPS" select="@Key"/>
<xsl:for-each select="/Test/SOLUTIONS/SOLUTION/OBSERVATIONS/OBSERVATION">
<xsl:variable name="srcKey_A" select="@Key"/>
<xsl:element name="Relationship">
<xsl:attribute name="RelCommonKey">
<xsl:value-of select="concat($Key_ITRPS,$srcKey_A)"/>
</xsl:attribute>
</xsl:element>
</xsl:for-each>
</xsl:for-each>
</xsl:for-each>
Требуемый вывод:
RelCommonKey
ASE11ASED
ASE12DFED
ASE13DGEE
GGEE11ASED
GGEE12DFED
GGEE13DGEE
GERFECE11ASED
GERFECE12DFED
GERFECE13DGEE
Проблема, с которой я столкнулся здесь, связана свышеупомянутые данные, я вечером замечаю Ключ Наблюдения во втором также.
ключ ITR "ASE1" также связан с "ABCD," EFGH "," IJKL ". Пожалуйста, помогите мне ограничить данные, как показано выше.