在XSL中插入换行符

时间:2014-05-06 16:50:40

标签: xml xslt

我正在构建一个XSL来读取带有多个标签的XML值。

XML:

<?xml version="1.0" encoding="ISO-8859-1"?>
<Playlist>
  <CLIPNAME>CC0001</CLIPNAME>
  <CLIPNAME>CC0002</CLIPNAME>
</Playlist>

XSL:

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:saxon="http://saxon.sf.net/" xmlns:XslUtils="java:com.dalet.ip.XslUtils">

<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
<xsl:output name="serializer" method="xml" indent="yes" omit-xml-declaration="yes"/>

<xsl:template match="/">
<Titles>
    <Title>
    <xsl:for-each select="Playlist/CLIPNAME">
        <key1><xsl:value-of select="."/></key1>
        <OnAir>Yes</OnAir>
    </xsl:for-each>
    </Title>
</Titles>
</xsl:template>

</xsl:stylesheet>

我已经尝试过在网上看到的多个选项:

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


<xsl:text>

使用$ newline等

目前的输出是:

CC0001 Yes CC0002 Yes

我希望它是:

CC0001 Yes
CC0002 Yes

我该怎么办?

1 个答案:

答案 0 :(得分:0)

添加包含换行符的文本标记。不是很优雅,但适合我。

<xsl:for-each select="Playlist/CLIPNAME">
    <key1><xsl:value-of select="."/></key1>
    <OnAir>Yes</OnAir>
    <xsl:text>
</xsl:text>
</xsl:for-each>