Я пытаюсь настроить преобразование с помощью SlowCheetah файла конфигурации задания QuartzNet. QuartzNet требует, чтобы атрибут xmlns присутствовал на узле данных планирования заданий, но наличие этого атрибута, по-видимому, не позволяет SlowCheetah выполнять преобразования.
Упрощенно, вот как выглядит моя конфигурация планирования:
<?xml version="1.0" encoding="UTF-8"?>
<job-scheduling-data xmlns="http://quartznet.sourceforge.net/JobSchedulingData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0">
<schedule>
<job>
<name>Job1</name>
<group>Group1</group>
<description>Description</description>
<job-type>MySample.MyJob, MySample</job-type>
</job>
<trigger>
<cron>
<name>DefaultTrigger</name>
<job-name>Job1</job-name>
<job-group>Group1</job-group>
<cron-expression>0 0 4 * * ? *</cron-expression>
<time-zone>GMT Standard Time</time-zone>
</cron>
</trigger>
</schedule>
</job-scheduling-data>
Преобразование конфига выглядит так:
<job-scheduling-data xmlns="http://quartznet.sourceforge.net/JobSchedulingData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform" >
<cron-expression xdt:Transform="Replace" xdt:Locator="XPath(/job-scheduling-data/schedule/trigger/cron/cron-expression[../name/text() = 'DefaultTrigger'])">"##DAILY_SCHEDULE##</cron-expression>
</job-scheduling-data>
Преобразование не работает, если я не удалю
xmlns="http://quartznet.sourceforge.net/JobSchedulingData"
из исходного файла конфигурации и файла преобразования или указать пространство имен, например, xmlns:ns1
. Проблема с любым из этих двух подходов заключается в том, что Quartz требует присутствия xmlns="http://quartznet.sourceforge.net/JobSchedulingData"
.
Я также пытался использовать выражения XPath с local-name()
, пытаясь игнорировать пространство имен в синтаксисе выражения, но безрезультатно.
Любые идеи, как обойти это?