嵌套循环(XSL)仅缩进顶部迭代



我正在尝试将XML格式化为类似的文本

ab
ab

这是这是XML

<Doc>
<line>
    <letter>
        <value>a</value>
    </letter>
    <letter>
        <value>b</value>
    </letter>
</line>
<line>
    <letter>
        <value>a</value>
    </letter>
    <letter>
        <value>b</value>
    </letter>
</line>
</Doc>

这是XSL:

<xsl:output method="text" indent="no" omit-xml-declaration="yes" />
<xsl:template match="/">
<xsl:for-each select="Doc/line">
    <xsl:for-each select="letter">
        <xsl:value-of select="value"/>
        <xsl:text> </xsl:text>
    </xsl:for-each>
</xsl:for-each>
</xsl:template>

我应该手动添加换行吗

<xsl:text>&#xa;</xsl:text>

或者有没有一种方法可以使用xsl:output来实现这一点?

您需要输出换行符,例如

<xsl:for-each select="Doc/line">
    <xsl:for-each select="letter">
        <xsl:value-of select="value"/>
        <xsl:text> </xsl:text>
    </xsl:for-each>
    <xsl:text>&#10;</xsl:text>
</xsl:for-each>

最新更新