XSLT2.0转换生成多行标记

时间:2014-02-26 12:16:41

标签: xslt-2.0

运行xslt2.0转换后,我得到以下输出。

<TAG mode="w"
           name="x"
           references="x"
           size="5005"
           type="string"/>

我希望将它本身倾倒在一行中。

<TAG mode="w" name="x" references="x" size="5005" type="string"/>

打破这一行的代码是:

<xsl:output method="xml" encoding="UTF-8" byte-order-mark="no" indent="yes"/>
<xsl:template name="agt:var1_function1">
    <xsl:param name="par0" as="node()"/>
    <TAG>
        <xsl:sequence select="($par0/@node(), $par0/node())"/>
    </TAG>
</xsl:template>

你能否告诉我这里我做错了什么以及为什么这条线分成多行?

最诚挚的问候 拉杰什

1 个答案:

答案 0 :(得分:1)

如果您的XSLT处理器是Saxon 9,那么它有一个序列化选项http://www.saxonica.com/documentation/html/extensions/output-extras/line-length.html,您可以设置它来定义一个行长度,在该行长度上应该将属性放在一个新行上。由于你不想要换行,我会使用非常高的值,例如

<xsl:output xmlns:saxon="http://saxon.sf.net/" saxon:line-length="5000"/>