一般規則

ここでは、XML ヘルパー関数について説明します。

このトピックの内容

一般的な XML のガイドライン

ヘルパー関数

一般的な XML のガイドライン

.xml ファイルを変更する前に、次のガイドラインについて熟知しておく必要があります。

  • XML スキーマ

    User State Migration Tool (USMT) 10.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> と指定する必要があります。

  • 引用符の使用

    コードを引用符で囲む場合、二重引用符 ("") と単一引用符 ('') のどちらかを使うことができます。

ヘルパー関数

XML 要素ライブラリの XML ヘルパー関数を使って、移行の動作を変更できます。.xml ファイルでこれらの関数を使う前に、次の点に注意してください。

  • すべてのパラメーターは文字列です。

  • NULL パラメーターは空白のままにすることができます。

    既定値規則を持つパラメーターに関しては、リストの最後に NULL パラメーターがある場合、そのままにしておくことができます。たとえば、次のような関数があるとします。

    SomeFunction("My String argument",NULL,NULL)
    

    これは、次の関数と同等です。

    SomeFunction("My String argument")
    
  • すべてのヘルパー関数で使われるエンコードされた場所は、オブジェクトの名前の明確な文字列表現です。

    ノード部分で構成され、場合によっては、角かっこで囲まれたリーフが続きます。これにより、ノードとリーフを明確に区別できます。

    たとえば、ファイル 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\*[*] と指定する必要があります。

関連トピック

USMT XML リファレンス