一般的な規則

この記事では、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\*[*] を 指定する必要があります。