У меня есть следующая строка xml, которую я пытаюсь преобразовать с использованием XSLT, но у меня возникли проблемы.Строка:
<app>
<lem>text</lem>
<rdg wit="V" type="add.">text1</rdg>
<rdg wit="S" type="add.">text2</rdg>
<rdg wit="SV" type="add.">text3</rdg>
</app>
У меня есть несколько таких app elements
, и в них может быть от 1 до 4 rdg
элементов, поэтому я пытаюсь написать оператор foreach
вforeach
заявление, но оно не работает.
Я хочу сказать:
<xsl:for-each select="//tei:app">
<li><xsl:value-of select="tei:lem"/><xsl:text>] </xsl:text>
<xsl for-each select="tei:rdg"> <!--I hoping this would loop through each <rdg> within a given <app> element -->
<xsl:value-of select="//tei:rdg"/>
<xsl:value-of select="//tei:rdg/@type"/>
<xsl:value-of select="//tei:rdg/@wit"/>
</xsl:for-each>
</li>
</xsl:for-each>
Но сейчас это не работает.В нынешнем виде - это делает правильное количество циклов, но для каждого экземпляра rdg
я получаю значение кулака rdg
.Но если я уберу двойную косую черту в трех value-of
элементах, то я не получу никаких значений.
Можете ли вы определить, что я делаю неправильно?Иногда я сильно запутываюсь из-за косой черты, двойной косой черты, без использования косой черты в xpath - могу я там испортиться?
Спасибо за вашу помощь.