下面是输入。在 Loop-1,2,3 元素是无界的。如果我们在转换中使用每个循环,我们将得到像 AA、BB、C C 一样的输出。但我希望输出与输入一样。
请看下面的输出。
输入:
<LOOP-1><!-- unbounded -->
<element1>A</element1>
<LOOP-1>
<LOOP-2><!-- unbounded -->
<element2>B</element2>
<LOOP-2>
<LOOP-3><!-- unbounded -->
<element3>C</element3>
<LOOP-3>
<LOOP-1>
<element1> A</element1>
<LOOP-1>
<LOOP-2>
<element2>B</element2>
<LOOP-2>
<LOOP-3>
<element3>C</element3>
<LOOP-3>
对于上述输入,如果我们为每个输入,我们将得到输出
A
A
B
B
C
C
但我想要以下输出。我们如何实现这一点。解决方案应该是通用的。感谢您的帮助。
输出
<LOOP-1>
<element1>A</element1>
<LOOP-1>
<LOOP-2>
<element2>B</element2>
<LOOP-2>
<LOOP-3>
<element3>C</element3>
<LOOP-3>
<LOOP-1>
<element1> A</element1>
<LOOP-1>
<LOOP-2>
<element2>B</element2>
<LOOP-2>
<LOOP-3>
<element3>C</element3>
<LOOP-3>
XSLT:
<xsl:for-each select="LOOP-1">
<xsl:element1>
<xsl:value-of select="element1"/>
</xsl:element1>
</xsl:for-each>
<xsl:for-each select="LOOP-2">
<xsl:element2>
<xsl:value-of select="element2"/>
</xsl:element2>
</xsl:for-each>
<xsl:for-each select="LOOP-3">
<xsl:element3>
<xsl:value-of select="element3"/>
</xsl:element3>
</xsl:for-each>