2
我正在嘗試使用Slow Cheetah轉換Windows計劃任務配置文件。我只是想增加 「反覆」 節點信息,例如:Slow Cheetah轉換刪除的XMLNS屬性
ORIGINAL:
<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>
REQUIRED,附加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"
到任務節點,但隨後的屬性在CalendarTrigger水平產生(我不能把這個屬性對原,因爲我當時在源獲取「無元素文件匹配'/任務/觸發器'「)。
任何指針?
UPDATE:
這個問題似乎被隔離到XMLNS屬性;如果我試圖將其包含在原始的「任務」節點中,我會得到「源文檔中沒有元素匹配'/ Task/Triggers'」 - 但將此屬性更改爲「xmlns2」可以正常工作,並生成我所需的(雖然有'xmlns2'屬性!)。這是慢獵豹的一個已知限制嗎?任何人都知道潛在的解決方法?
謝謝 - 你是我的變換屬性在錯誤的級別被應用於正確的,但我還是留下了最初的問題 - 屬性XDT之外:轉換被刪除(它打破了預定的任務格式,因爲它需要在'Task'節點中'xmlns =「http://schemas.microsoft.com/windows/2004/02/mit/task」'... – 2013-03-13 10:26:15
@NickH I已經嘗試過你提供的例子,它與我編輯的答案一起工作,讓我知道它是否有幫助! – cheesemacfly 2013-03-13 14:49:38
我仍然無法得到這個工作正確的結果轉換是完美的 - 除了在任務中缺少xmlns屬性頭節點也許這個是由於慢獵豹的舊版本?我將調查並相應地更新... – 2013-03-14 09:24:43