2011-01-06 3 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

이되지 XSLT 문제가 있지만, XML 구문 분석 및 표현 : 나는 DOM이나 인포 셋 흰색에 대한 데이터를 보존 생각하지 않는다 속성 "마크 업"과 요소 "태그"사이의 공백 –

답변

4

태그 내의 공백은 중요하지 않으며 프로세서에서 단일 공백으로 표준화 할 수 있으며 표준 도구에서이를 제어 할 수 없습니다. 따옴표 붙이기에 사용되는 특성이나 문자의 순서를 제어 할 수도 없습니다 (quot 대 apos). 문자 엔티티도 동일한 표현으로 변환 될 수 있습니다. XSLT가 아닌 원하는대로 할 수있는 사용자 지정 serializer를 찾을 수도 있습니다.

필 요할 경우 요소 내용의 공백을 부분적으로 보존 할 수 있습니다 (그러나 이것이 사용자 요구 사항의 일부라고 생각하지 않음).

은 참조 : Preserving attribute whitespace

그리고 공백에 매우 광범위한 XSLT FAQ를 참조하십시오 http://www.dpawson.co.uk/xsl/sect2/N8321.html