Windows のスケジュールされたタスク構成ファイルを変換するために、Slow Cheetah を使用しようとしています。次のように、単に「繰り返し」ノード情報を追加しようとしています。
オリジナル:
<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属性に限定されているようです。これを元の「タスク」ノードに含めようとすると、「ソースドキュメントの要素が「/タスク/トリガー」に一致しません」というメッセージが表示されます-しかし、この属性を「xmlns2」に変更すると正常に機能し、必要なものが正確に生成されます(「xmlns2」属性がありますが!)。これは、Slow Cheetah の既知の制限ですか? 潜在的な回避策を知っている人はいますか?