我正在尝试使用 Slow Cheetah 来转换 Windows 计划任务配置文件。我只是想添加“重复”节点信息,如下所示:
原来的:
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Date>2013-01-02T09:32:12.2196371</Date>
<Author>xxx</Author>
</RegistrationInfo>
<Triggers>
<CalendarTrigger>
<StartBoundary>2013-01-10T01:00:00</StartBoundary>
<Enabled>true</Enabled>
<ScheduleByDay>
<DaysInterval>1</DaysInterval>
</ScheduleByDay>
</CalendarTrigger>
</Triggers>
.....
</Task>
必需的附加 XML
<CalendarTrigger>
<Repetition>
<Interval>PT300S</Interval>
</Repetition>
</CalendarTrigger>
为此,我有以下转换文件:
<?xml version="1.0" encoding="utf-16" ?>
<Task version="1.2">
<Triggers>
<CalendarTrigger xdt:Transform="Insert">
<Repetition>
<Interval>PT300S</Interval>
</Repetition>
</CalendarTrigger>
</Triggers>
</Task>
我遇到的问题是 CalendarTrigger 节点之外的所有属性都被删除(因此使生成的转换配置成为无效的计划任务格式)。
我试过添加
xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform" xdt:Transform="SetAttributes" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"
到 Task 节点,但该属性随后在 CalendarTrigger 级别生成(并且我不能将此属性放在原始属性上,因为然后我得到“源文档中没有元素匹配'/Task/Triggers'”)。
任何指针?
更新:
该问题似乎与xmlns属性有关;如果我尝试将其包含在原始文件的“任务”节点中,我会得到“源文档中没有元素匹配 '/Task/Triggers'” - 但是将此属性更改为 'xmlns2' 可以正常工作并产生我需要的内容(尽管带有“xmlns2”属性!)。这是慢猎豹的已知限制吗?有人知道潜在的解决方法吗?