Я очень плохо знаком с XSLT и просто не смог найти решение моей проблемы. У меня есть XML-файл, который выглядит как (и я не могу изменить то, как этот XML выглядит, понимая, что это немного странно):
<account>
<name>accountA</name>
</account>
<period>
<type>priormonth</type>
</period>
<period>
<type>currentmonth</type>
</period>
<account>
<name>accountB</name>
</account>
<period>
<type>priormonth</type>
</period>
<period>
<type>currentmonth</type>
</period>
Файл xml может иметь переменную количество наборов данных счета / периода / периода, но они всегда находятся в таком порядке.
У меня есть файл xsl, который выглядит так:
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="account">
<name> <xsl:value-of select="name"/> </name>
</xsl:template>
<xsl:template match="period">
<type> <xsl:value-of select="type"/> </type>
</xsl:template>
Вышеописанное прекрасно работает, потому что имеет дело с несколькими вхождениями аккаунта / периода / периода, и мой вывод выглядит так:
<name>accountA</name>
<type>priormonth</type>
<type>currentmonth</type>
<name>accountB</name>
<type>priormonth</type>
<type>currentmonth</type>
Однако я хочу вставить некоторые дополнительные теги, чтобы вывод на самом деле выглядел так:
<account>
<name>accountA</name>
<period>
<type>priormonth</type>
<type>currentmonth</type>
</period>
</account>
<account>
<name>accountB</name>
<period>
<type>priormonth</type>
<type>currentmonth</type>
</period>
</account>
Есть ли способ сделать это? Извиняюсь, если моя терминология не совсем верна.
Спасибо