2011-01-06 9 views
2

機密情報をSCMリポジトリにコミットさせないために、ASP.NET Web.configファイルから接続文字列パスワードを削除するXSLスタイルシートを作成しました。パスワードを削除するという私の目標を達成しますが、要素の開始タグ内の空白にも影響します。可能であれば、この空白を保存したいと思います。例えばXSLTの要素の開始タグ内の空白を保持する方法

、このWeb.config与えられた:私はそれを変換することができる午前

<configuration> 
    <connectionStrings> 
    <add name="ApplicationServices" 
     connectionString="Host=localhost;Username=dev;Password='sensitive password';Database=database" 
     providerName="MySql.Data.MySqlClient" /> 
    </connectionStrings> 
    <!-- ... --> 

を:

<configuration> 
    <connectionStrings> 
    <add name="ApplicationServices" connectionString="Host=localhost;Username=dev;Password=********;Database=database" providerName="MySql.Data.MySqlClient" /> 
    </connectionStrings> 
    <!-- ... --> 

しかし、私はそれを変換したいと思います:

<configuration> 
    <connectionStrings> 
    <add name="ApplicationServices" 
     connectionString="Host=localhost;Username=dev;Password=********;Database=database" 
     providerName="MySql.Data.MySqlClient" /> 
    </connectionStrings> 
    <!-- ... --> 

ですこれは可能ですか?

+1

を:私は、DOMやインフォセットは白に関するデータを保持するとは思いません属性「マークアップ」と要素「タグ」との間のスペース –

答えて

4

タグ内の空白は重要ではなく、プロセッサによって単一スペースに正規化することができ、標準ツールでこれを制御することはできません。クォートに使用する属性や文字の順番を制御することもできません(quot vs apos)。文字エンティティは、同等の表現に変換することもできます。 XSLTでは必要ではないが望むようにするカスタムシリアライザを見つけることができます。

要素コンテンツ内の空白は、必要に応じて部分的に保存できますが、これは要件の一部ではないと思います。

も参照してください:Preserving attribute whitespace

そして空白に非常に広範なXSLTに関するFAQを参照してください。これは、XSLTの問題はなく、XMLの解析と表現ではないhttp://www.dpawson.co.uk/xsl/sect2/N8321.html