Часть ввода xml ist
<root>
<page>1</page>
<embedded>
<items>
<_links>
<href>abc</href>
</_links>
<parent>null</parent>
<enabled>true</enabled>
<values>
<data1>
<locale>DE</locale>
<scope>null</scope>
<data>abc</data>
</data1>
<data3>
<locale>null</locale>
<scope>null</scope>
<data>producta</data>
<links>
<download>
</download>
</links>
</data3>
<data4>
<locale>null</locale>
<scope>null</scope>
<data>productc</data>
</data4>
</values>
</items>
</embedded>
</root>
Сначала я сохранил содержимое элемента данных в переменной (это важно для других шагов в моем коде XSLT.)
<xsl:variable name="content" select="root/embedded/items[position()=$+1]/values/*/data"/>
Я хочу проверить все данные.
Я ищу способ, как я могу написать условие, в котором у меня есть просто содержимое элемента данных (например, «producta»), сохраненного в переменной.
Условие должно проверять, имеет ли элемент locale (previous-sibling) содержимое null, и когда это условие истинно, скопируйте родительский элемент и элемент данных.
- переменное содержимое = producta
- предыдущий брат producta - locale = null
- если условие истинно, скопируйте элемент данных и родительский элемент
Вывод должен выглядеть как
<data3>
<data>producta</data>
</data3>
<data4>
<data>productc</data>
</data4>
Заранее спасибо!