在我的问题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
?
答案 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>