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 で使用しています。
提供できる情報を教えてください。助けてくれてありがとう!