Можно ли пометить узел в XML-файле (например, файл конфигурации) как «должно быть преобразовано», а для того, чтобы преобразование завершилось с ошибкой, если вы не указали его в своем файле преобразования?Можно ли пометить узел XML как «необходимо преобразовать»?
Для примера возьмем следующий составил пример .config
файла с узлом, который должен быть преобразован:
<?xml version="1.0"?>
<configuration>
<appSettings>
<!-- Mark this key to be transformed -->
<add key="MyValue" MustBeTransformed="true" />
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.5.2" />
<httpRuntime targetFramework="4.5.2" />
</system.web>
</configuration>
Поскольку значение ключа помечено как MustBeTransformed
следующее гарантировало бы, что трансформируются правильно:
<?xml version="1.0" encoding="utf-8"?>
<!-- For more information on using web.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<appSettings>
<!-- Without the line below, the transform would fail -->
<add key="MyValue" xdt:Transform="Set a value" />
</appSettings>
<system.web>
<compilation xdt:Transform="RemoveAttributes(debug)" />
</system.web>
</configuration>
Я спрашиваю это потому, что в данный момент я только видел, что это возможно с помощью .ps1
сценариев и XPath
Что именно вы подразумеваете под «должно быть преобразовано»? Вы имеете в виду «должен быть выбран командой' xsl: apply-templates'? Или вы имеете в виду, что «должно соответствовать правилу шаблона, отличному от встроенного правила шаблона»? Или достаточно ли его выбрать, например, в инструкция 'xsl: for-each' или' xsl: copy-of'? –
Это хороший вопрос. Я хотел бы убедиться, что для любых преобразований, которые имеют место, эти значения предоставляются для каждого из ключей. что атрибут был установлен на узле, было бы хорошим началом, я думаю – Luke