접두부 "xsi"는 인스턴스의 XML 스키마
네임스페이스 규칙에 사용되는 네임스페이스 접두부입니다. XML 문서는
xsi:type 속성을 가지고 있는 요소를 포함할 수 있습니다. 이 문서는 요소에 대한 명시적인 데이터 유형을 제공합니다.
MRM XML 구문 분석기는 XML 문서에서 xsi:type 속성에 민감합니다.
이 구문 분석기는 적절히 요소의 데이터 유형을 수정하고 xsi:type
속성을 메시지 트리에 추가합니다.
MRM XML 쓰기 프로그램(writer)은 메시지 트리의 xsi:type 속성에 민감합니다.
이는 XML Wire 형식 메시지 세트 등록 정보 xsi:type 속성의 출력 정책에
따라 xsi:type 속성을 출력합니다. 예를 들어, xsi:type 속성을 제거하거나
모든 요소를 출력하거나 SOAP 표준에 지정된 규칙에 따라 출력할 수 있습니다.
WebSphere Message Broker 메시지 플로우에 대해 유효성 검증이
사용 가능할 경우, 유효성 검증 논리는 xsi:type 속성에 민감하므로 이 속성을 사용하여
요소의 유효성 검증을 수정합니다. 또한 W3C(World Wide Web
Consortium) 웹 사이트의 XML Schema Part 1: Structures에 설명된 규칙을 사용하여
xsi:type 속성 값의 유효성 검증도 수행합니다.
xsi:type 속성을 포함하는 XML 문서를 구문 분석하고 작성할 때 기억해야 할
몇 가지의 중요 사항이 있습니다.
- xsi:type 속성을 감지하여 사용하려면 메시지 세트에서 네임스페이스를
사용할 수 있어야 합니다. 메시지 세트에서 네임스페이스를 사용할 수 있도록 하려면
메시지 세트 등록 정보 네임스페이스 사용을 선택하십시오.
- xsi:type 속성 값에 네임스페이스 접두부가 있으면 MRM XML 구문 분석기에 의해
접두부가 완전한 URI로 확장됩니다.
동일한 xsi:type 속성이 나중에 MRM XML 쓰기 프로그램에 의해 출력되어도 값으로 동일 접두부가
자동으로 사용되지 않습니다. XML Wire 형식 메시지 세트 등록 정보에서
네임스페이스 설정 목록을 사용하여 출력에 사용되는
접두부를 제어할 수 있습니다. 접두부를 제공하지 않으면
XML 쓰기 프로그램은 디폴트 접두부를 지정합니다.
- 요소의 xsi:type 속성이 모델에서 유형으로 해석되지 않으면
MRM 유효성 검증의 사용 가능 여부에 따라 작동이 결정됩니다.
유효성을 검증하지 않을 경우, MRM은 요소 유형이 모델에 선언된 것으로
간주하고 계속합니다. 유효성을 검증할 경우에는 유효성 검증 예외가
전달됩니다.
- MRM 유효성 검증이 사용 가능하면 유효성 검증 수행 시
메시지 트리의 특정 지점에 모든 필요한 xsi:type 속성이 존재해야 합니다. 해당 값이 메시지 모델에
정의된 요소의 데이터 유형과 다를 경우에 xsi:type 유형이 필요합니다. (이는
XML 스키마 유형 파생을 사용할 때 가장 일반적으로 발생합니다.)
- 입력 메시지에 대해 유효성 검증을 수행할 경우, MRM XML
구문 분석기는 위에 설명된 대로 메시지 트리에 xsi:type
속성이 표시되는지 확인합니다.
- 출력 메시지에 대해 유효성 검증을 수행할 경우에는 사용자가
메시지 트리에 올바른 xsi:type 속성이 표시되는지 확인해야 합니다. 모든 필수
xsi:type 속성이 입력 메시지 트리에서 출력 메시지 트리로 복사되거나
출력 메시지 트리에 명시적으로 작성되는지 확인해야 합니다.
- xsd:union 단순 유형을 사용 중이면 xsi:type 속성을 사용하여
결합을 해석할 때 MRM XML 구문 분석기에 지시할 수 있습니다.
- WebSphere
Message Broker 버전
6.0을 사용 중이며
xsi:type 속성에 민감하지 않았던 이전 버전에서 이주한 경우,
일부 작동 변경사항을 주목할 수 있습니다. 예를 들어, WebSphere
Message Broker 버전
6.0에서
xsi:type 속성은 더 이상 자체 정의 속성으로 처리되지 않으므로 ‘@type’
대신‘type’이름으로 메시지 트리에 표시됩니다.
메시지 플로우 논리가 메시지 트리에서 xsi:type 속성에 민감한 경우
새 작동을 준수하도록 메시지 플로우를 변경하는 것이 바람직합니다. 메시지 플로우에서 WebSphere Message Broker의 이전 버전에서
논리를 보유하려면 메시지 플로우 이주 참고사항을 참조하십시오.
xsi:type 속성에 대한 자세한 정보는 W3C(World Wide Web
Consortium) 웹 사이트의 XML Schema Part
0: Primer를 참조하십시오.