撒克逊:缩进空间属性被忽略(saxon:indent-spaces attribute is bei

2019-10-18 14:59发布

在我的问题在这里 ,我试图在一个参数去传递给我的样式表使用户可以指定所需缩进的水平。 显然的Xalan无法读取PARAM到它的价值indent-amount属性,所以我试图用这个版本的撒克逊-HE来代替。

撒克逊具有属性缩进的空间 ,我想使用如下:

<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被忽略?

Answer 1:

命名空间应xmlns:saxon="http://saxon.sf.net/"代替xmlns:saxon="http://saxon.sf.net"



Answer 2:

首先,所有撒克逊扩展需要撒克逊-PE或更高。

第二,如果你要动态地控制序列化的参数(例如,从样式表参数,你可以做到这一点使用XSL:结果文档:

<xsl:result-document indent="yes" saxon:indent-spaces="{$param}">
  ...
</xsl:result-document>


文章来源: saxon:indent-spaces attribute is being ignored
标签: xslt saxon