一般慣例
本文說明 XML 協助程式函式。
一般 XML 指導方針
修改 .xml 檔案之前,請先熟悉下列指導方針:
XML 架構。
USMT) XML 架構
MigXML.xsd
(用戶狀態移轉工具可用來寫入和驗證移 轉.xml 檔案。衝突。
一般而言,當 XML 架構內有衝突時,最特定的模式會優先。 如需詳細資訊,請參閱 衝突和優先順序。
必要專案。
移轉 .xml 檔案所需的元素包括 <移>轉、 <元件>、 <角色>和 <規則>。
必要的子專案。
如果未指定必要的子元素,USMT 不會失敗併發生錯誤。 不過,必須指定必要的子專案,父元素才能影響移轉。
必要的子專案只適用於 元素的第一個定義。 如果定義這些元素,然後使用其名稱來參考,則不會套用必要的子專案。 例如,如果
<detects name="Example">
是在 namedElements> 中<定義,並在<detects name="Example"/>
元件>中<指定以參考這個專案,則 namedElements> 內<的定義必須有必要的子元素,但<元件>元素不需要有必要的子專案。
具有括弧的檔名。
如果正在移轉檔名中具有括號字元 ([ 或 ]) 的檔案,則必須插入 (^) 字元。 字元 (^) 字元必須直接在括號前面,方括號字元才能有效。 例如,如果有名為 file]的檔案 .txt必須
<pattern type="File">c:\documents\mydocs [file^].txt]</pattern>
指定 ,而不是<pattern type="File">c:\documents\mydocs [file].txt]</pattern>
。使用引號。
當程式代碼以引號括住時,可以使用雙引 (“”) 或單一 ( ) 引號。
協助程式函式
XML 元素庫中的 XML 協助程式函式可用來變更移轉行為。 在.xml檔案中使用這些函 式 之前,請注意下列專案:
所有參數都是字串。
NULL 參數可以保留空白。
如同具有預設值慣例的參數,如果清單結尾有 NULL 參數,則可以將其排除。例如,下列函式:
SomeFunction("My String argument",NULL,NULL)
相當於:
SomeFunction("My String argument")
所有協助程式函式中使用的編碼位置是物件名稱的明確字串表示。
編碼的位置是由節點部分所組成,後面接著方括弧括住的分葉。 此格式清楚區分節點和分葉。
例如,指定 檔案
C:\Windows\Notepad.exe
as
c:\Windows[Notepad.exe]
同樣地,指定目錄
C:\Windows\System32
as
c:\Windows\System32
請注意,第二個範例中沒有 [] 字元。
登錄會以類似的方式表示。 登錄機碼的預設值會以空 的 [] 建構表示。 例如,登錄機碼的 HKLM\SOFTWARE\MyKey
預設值是 HKLM\SOFTWARE\MyKey[]。
位置模式的指定方式類似於實際位置的指定方式。
例外狀況是節點和分葉元件都接受模式。 不過,來自節點的模式不會延伸到分葉。
例如,模式 c:\Windows\\* 會比
\Windows
對目錄和所有子目錄,但不符合這些目錄中的任何檔案。 若要同時比對檔案,必須指定 c:\Windows\*[*] 。