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

时间:2015-10-29 16:26:55

标签: xml xslt

我正在尝试将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来做到这一点?

1 个答案:

答案 0 :(得分:1)

您需要输出换行符,例如

<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>