XML を XML に変換していて、結果を自動的にインデントしたいと考えています。
これ<xsl:output method="xml" indent="yes"/>
を .net4 コンパイル済み変換で実行すると、出力にテキスト ノードがない限りうまく機能します。
テキストを追加する<xsl:text>some text</xsl:text>
と、xml ファイル全体のインデントがなくなり、代わりに結果の XML が非常に長い行で構成されます (整形式ですが判読できません...)。
例:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<Root>
<!--xsl:text>some test</xsl:text-->
<Test1/>
<Test2/>
</Root>
</xsl:template>
</xsl:stylesheet>
結果:
<?xml version="1.0" encoding="utf-8"?>
<Root>
<Test1 />
<Test2 />
</Root>
からコメントを削除した結果<xsl:text>some test</xsl:text>
:
<?xml version="1.0" encoding="utf-8"?>
<Root>some test<Test1 /><Test2 /></Root>
何か案は?