プロジェクトからファイルを削除した後など、差分が意味のあるものを表示するように、Microsoft Visual Studio の vcproj を並べ替えようとしています。並べ替えに加えて、空白を含め、すべてをそのまま維持したいと考えています。入力は次のようになります
スペース<File
スペーススペースRelativePath="filename"
スペーススペース>
...
以下の xslt フラグメントは、要素の周りにスペースを追加できますが、属性の周りにそれらを処理する方法を見つけることができないため、私の出力は次のようになります
スペース<File RelativePath="filename">
msxsl 4.0 プロセッサに使用する xslt:
<xsl:for-each select="File">
<xsl:sort select="@RelativePath"/>
<xsl:value-of select="preceding-sibling::text()[1]"/>
<xsl:copy>
<xsl:for-each select="text()|@*">
<xsl:copy/>
</xsl:for-each>