常规约定

本文介绍 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\*[*]