saxon:indent-spaces属性被忽略

时间:2013-09-12 16:35:40

标签: xslt saxon

在我的问题here中,我试图将一个参数传递给我的样式表,以便用户可以指定所需的缩进级别。显然Xalan无法将param的值读入其indent-amount属性,因此我尝试使用this version of Saxon-HE

Saxon的属性indent-spaces我尝试使用如下:

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

    <!-- <xsl:param name="indent-spaces" select="0"/> -->

    <xsl:output indent="yes" method="xml" omit-xml-declaration="yes" saxon:indent-spaces="10"/><!-- Doesn't matter what I make the value of indent-spaces, the output is always indented 3 spaces -->

为什么忽略indent-spaces

2 个答案:

答案 0 :(得分:2)

名称空间应为xmlns:saxon="http://saxon.sf.net/",而不是xmlns:saxon="http://saxon.sf.net"

答案 1 :(得分:0)

首先,所有Saxon扩展都需要Saxon-PE或更高版本。

其次,如果要动态控制序列化参数(例如,从样式表参数,可以使用xsl:result-document:

执行此操作
<xsl:result-document indent="yes" saxon:indent-spaces="{$param}">
  ...
</xsl:result-document>