0

XML ドキュメントをプレーン テキスト コード出力に変換しようとしていますが、適切なインデントが必要です。これを達成する方法について良い情報が見つかりませんでした。少し実験を始めました。

現時点では、with-param を使用して、使用するインデントに従ってテンプレートにスペースを渡そうとしています。

<xsl:apply-templates select="foo">
  <xsl:with-param name="indent">  </xsl:with-param>
</xsl:apply-templates>

1 つだけ問題があります... param にスペースしか含まれていない場合、スペースは渡されません! 文字のようなものがあると、先頭と末尾の両方のスペースを渡すことができますが、スペースだけを渡すとすぐに空の文字列に変更されます。

<xsl:apply-templates select="foo">
  <xsl:with-param name="indent">  a </xsl:with-param>
</xsl:apply-templates>

これは予想される動作ですか?

私はxsltproc変換を実行するために Linux で使用しています。

提供できる情報を教えてください。助けてくれてありがとう!

4

2 に答える 2