一般慣例
本主題描述 XML Helper 函式。
在本主題中
一般 XML 指導方針
Helper 函式
一般 XML 指導方針
在您修改 .xml 檔案之前,請先熟悉下列指導方針:
XML 結構描述
您可以使用使用者狀態移轉工具 (USMT) 5.0 XML 結構描述 (MigXML.xsd) 撰寫及驗證移轉 .xml 檔案。
衝突
一般而言,當 XML 結構描述中有衝突時,最特定的模式擁有優先順序。如需詳細資訊,請參閱衝突與優先順序。
必要元素
移轉 .xml 檔案的必要元素為 <migration>、<component>、<role> 和 <rules>。
必要的子元素
即使您未指定必要的子元素,USMT 也不會發生錯誤而失敗。不過,您必須指定父系元素的必要子元素,才能真正影響移轉。
必要的子元素僅適用於元素的第一個定義。如果您在定義這些元素之後,於某處使用元素名稱來參照這些元素,則必要的子元素即不適用。例如,如果您在 <namedElements> 中定義
<detects name="Example">
,而且在 <component> 中指定<detects name="Example"/>
來參照此元素,則 <namedElements> 內的定義必須具有必要子元素,但是 <component> 元素不需要具有必要子元素。
含有括弧的檔案名稱
如果您所移轉檔案的檔案名稱中含有括弧字元 ([ 或 ]),則必須直接在括弧的前面插入一個指數符號 (^) 字元,括弧字元才有效。例如,如果有一個名為 File.txt 的檔案,您必須指定
<pattern type="File">c:\documents\mydocs [file^].txt]</pattern>
而非<pattern type="File">c:\documents\mydocs [file].txt]</pattern>
。使用引號
當您用引號括住程式碼時,您可以使用雙引號 ("") 或單引號 ('')。
Helper 函式
您可以使用 XML 元素庫中的 XML Helper 函式來變更移轉行為。在 .xml 檔案中使用這些函式之前,請注意下列事項:
所有參數均為字串
您可以讓 NULL 參數空白
至於具有預設值慣例的參數,如果在清單結尾處有一個 NULL 參數,您可以將它保留空白。例如,下列函式:
SomeFunction("My String argument",NULL,NULL)
相當於:
SomeFunction("My String argument")
所有 Helper 函式中使用的編碼位置都是物件名稱的明確字串表示
它是由節點部分所組成,後面可選擇性地加上以方括弧括住的分葉。這可以清楚區分節點和分葉。
例如,指定檔案 C:\Windows\Notepad.exe:c:\Windows[Notepad.exe]。同樣地,指定目錄 C:\Windows\System32,例如:c:\Windows\System32;請注意沒有 [] 字元。
登錄會以類似的方式呈現。登錄機碼的預設值會呈現為空的 [] 結構。例如,HKLM\SOFTWARE\MyKey 登錄機碼的預設值為 HKLM\SOFTWARE\MyKey[]。
指定位置模式的方式與指定實際位置的方式類似
不同之處在於節點和分葉部分都接受模式。不過,節點的模式並不會延伸至分葉。
例如,模式 c:\Windows\* 會對應 \Windows 目錄和所有的子目錄,但是不會對應這些目錄中的任何檔案。若要同時比對這些檔案,您必須指定 c:\Windows\*[*]。