Учитывая этот конфигурационный файл XML:Применение XDT преобразования на основе значения элемента родственного
<job-scheduling-data xmlns="http://quartznet.sourceforge.net/JobSchedulingData" version="2.0">
<schedule>
<trigger>
<cron>
<name>Trigger1</name>
<cron-expression>0 0 1 * * ?</cron-expression>
</cron>
</trigger>
<trigger>
<cron>
<name>Trigger2</name>
<cron-expression>0 0 2 * * ?</cron-expression>
</cron>
</trigger>
</schedule>
</job-scheduling-data>
Я хочу, чтобы преобразовать <cron-expression>
значение для Trigger2
.
С помощью этого преобразования:
<job-scheduling-data xmlns="http://quartznet.sourceforge.net/JobSchedulingData" xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<schedule>
<trigger>
<cron>
<name>Trigger2</name>
<cron-expression
xdt:Transform="Replace"
xdt:Locator="XPath(/job-scheduling-data/schedule/trigger/cron[name='Trigger2'])">0 0 3 * * ?</cron-expression>
</cron>
</trigger>
</schedule>
</job-scheduling-data>
Когда проект строит, я вижу предупреждение компилятора:
Ни один элемент в исходном документе не соответствует «/ работа-планирования-данные/графика/триггера/хрон [имя = 'Trigger2']».
Запрос XPath кажется правильным, но правило никогда не применяется (следовательно, предупреждение компилятора).
Мой проект выполнен с возможностью преобразования в сборке с помощью задачи TransformXml в Visual Studio 2015.
Я делаю что-то не так?