为了避免将敏感信息提交到 SCM 存储库,我编写了一个 XSL 样式表,用于从 ASP.NET 中删除连接字符串密码Web.config
文件。它实现了我删除密码的目标,但它也会影响元素开始标签内的空白。如果可能的话,我想保留这个空白。
例如,鉴于此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>
<!-- ... -->
这可能吗?
标签内的空格并不重要,可以由处理器将其标准化为单个空格,并且您无法在标准工具中控制这一点。您也无法控制属性的顺序或用于引用的字符(quot 与 apos)。字符实体也可以转换为等效表示。您可能会找到您想要的自定义序列化器,但在 XSLT 中却找不到。
请注意,如果需要,可以部分保留元素内容中的空白(但我认为这不是您要求的一部分)。
也可以看看:保留属性空白
请参阅有关空白的非常广泛的 XSLT 常见问题解答:http://www.dpawson.co.uk/xsl/sect2/N8321.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)