Share via


일반 규칙

이 문서에서는 XML 도우미 함수에 대해 설명합니다.

일반 XML 지침

.xml 파일을 수정하기 전에 다음 지침을 숙지하세요.

  • XML 스키마.

    USMT(사용자 상태 마이그레이션 도구) XML 스키마 를 MigXML.xsd사용하여 마이그레이션 .xml 파일을 작성하고 유효성을 검사할 수 있습니다.

  • 충돌.

    일반적으로 XML 스키마 내에 충돌이 있는 경우 가장 구체적인 패턴이 우선합니다. 자세한 내용은 충돌 및 우선 순위를 참조하세요.

  • 필수 요소입니다.

    마이그레이션 .xml 파일에 필요한 요소는 마이그레이션>, 구성 요소, 역할 및 규칙입니다.<<><><>

  • 필수 자식 요소입니다.

    • 필요한 자식 요소가 지정되지 않은 경우 USMT는 오류와 함께 실패하지 않습니다. 그러나 마이그레이션에 영향을 주려면 부모 요소에 필요한 자식 요소를 지정해야 합니다.

    • 필수 자식 요소는 요소의 첫 번째 정의에만 적용됩니다. 이러한 요소가 정의되고 해당 이름을 사용하여 참조되는 경우 필요한 자식 요소가 적용되지 않습니다. 예를 들어 가 namedElements>에< 정의되고 <detects name="Example"/> 이 요소를 참조하기 위해 구성 요소>에< 지정된 경우 <detects name="Example">명명된Elements> 내<의 정의에는 필수 자식 요소가 있어야 하지만 <구성 요소> 요소에는 필요한 자식 요소가 필요하지 않습니다.

  • 대괄호가 있는 파일 이름입니다.

    파일 이름에 대괄호 문자([ 또는 ])가 있는 파일이 마이그레이션되는 경우 캐럿(^) 문자를 삽입해야 합니다. 대괄호 문자가 유효하려면 캐럿(^) 문자가 대괄호 바로 앞에 있어야 합니다. 예를 들어 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\*[*] 를 지정해야 합니다.