1

ここでの私の質問では、ユーザーが必要なインデントのレベルを指定できるように、スタイルシートにパラメーターを渡そうとしています。どうやらXalanはパラメーターの値をその属性に読み込むことができないため、代わりにこのバージョンの Saxon-HE をindent-amount試しています。

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無視されているのですか?

4

2 に答える 2

2

名前空間は のxmlns:saxon="http://saxon.sf.net/"代わりにする必要がありxmlns:saxon="http://saxon.sf.net"ます。

于 2013-09-12T17:50:30.600 に答える
1

まず、すべての Saxon 拡張機能には、Saxon-PE 以降が必要です。

次に、シリアライゼーション パラメータを動的に制御したい場合 (たとえば、スタイルシート パラメータから)、xsl:result-document を使用してこれを行うことができます。

<xsl:result-document indent="yes" saxon:indent-spaces="{$param}">
  ...
</xsl:result-document>
于 2013-09-15T21:47:19.423 に答える