Я делаю преобразование XML с использованием XSLT. Сценарий, с которым я столкнулся, состоит в том, что у меня есть много родительских элементов и дочерний элемент с тем же именем «OtherDetails» во всех родительских элементах. Итак, я повторяю родительский элемент, чтобы получить значение дочернего элемента «OtherDetails». Итак, я пытаюсь таким образом.
<xsl:if test".='Z'">
<xsl:variable name="parent" select="concat(name(..),'/OtherDetails')"/>
<xsl:value-of select="$parent" />
</xsl:if>
При попытке получить объединенную строку переменной $ parent, но мне нужно получить значение XPath переменной $ parent.
Мне нужно получить значения OtherDetails, когда значение элемента «Other» равно «Z»
Пример XML:
<structure>
<Other/>
<OtherDetails>Value1</OtherDetails>
</structure>
<power>
<Other>Z</Other>
<OtherDetails>Value2</OtherDetails>
</power>
<restrict>
<Other>Z</Other>
<OtherDetails>Value3</OtherDetails>
</restrict>