この記事では、XML ヘルパー関数について説明します。
一般的な XML ガイドライン
.xml ファイルを変更する前に、次のガイドラインをよく理解しておいてください。
XML スキーマ。
ユーザー状態移行ツール (USMT) XML スキーマ (
MigXML.xsd) を使用して、移行.xmlファイルの書き込みと検証 を 行うことができます。競合。
一般に、XML スキーマ内に競合がある場合は、最も具体的なパターンが優先されます。 詳細については、「 競合と優先順位」を参照してください。
必須の要素。
移行 .xml ファイルに必要な要素は、<migration>、<component>、<role>、および <rules> です。
必要な子要素。
必要な子要素が指定されていない場合、USMT はエラーで失敗しません。 ただし、移行に影響を与える親要素には、必要な子要素を指定する必要があります。
必要な子要素は、 要素の最初の定義にのみ適用されます。 これらの要素が定義され、その名前を使用して参照される場合、必要な子要素は適用されません。 たとえば、
<detects name="Example">が <namedElements> で定義され、この要素を参照するために <component> で<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
2 番目の例では [] 文字がないことに注意してください。
レジストリも同様の方法で表されます。 レジストリ キーの既定値は、空の [] コンストラクトとして表されます。 たとえば、 HKLM\SOFTWARE\MyKey レジストリ キーの既定値は HKLM\SOFTWARE\MyKey[]です。
場所パターンは、実際の場所の指定方法に似た方法で指定されます。
例外は、ノードとリーフ パーツの両方がパターンを受け入れることです。 ただし、ノードからのパターンはリーフに拡張されません。
たとえば、パターン c:\Windows\\* は、
\Windowsディレクトリとすべてのサブディレクトリと一致しますが、これらのディレクトリ内のファイルと一致しません。 ファイルと一致させるには、 c:\Windows\*[*] を 指定する必要があります。