2

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

たとえば、次のようになり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>
  <!-- ... -->

これは可能ですか?

4

1 に答える 1

4

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

要素コンテンツ内の空白は、必要に応じて部分的に保持できることに注意してください (ただし、これは要件の一部ではないと思います)。

参照:属性の空白を保持する

また、ホワイトスペースに関する非常に広範な XSLT FAQ を参照してください: http://www.dpawson.co.uk/xsl/sect2/N8321.html

于 2011-01-06T18:06:56.127 に答える