MRM XML 물리적 형식: xsi:type 속성 핸들링
접두부 "xsi"는 XML 스키마 인스턴스 네임스페이스에 대한 규칙으로 사용되는 네임스페이스 접두부입니다. XML 문서는 xsi:type 속성의 요소를 포함할 수 있습니다. 이 작동은 요소에 대해 명확한 데이터 유형을 제공합니다.
MRM XML 구문 분석기는 XML 문서에서 xsi:type 속성에 민감합니다. 이 구문 분석기는 적절히 요소의 데이터 유형을 수정하고 xsi:type 속성을 메시지 트리에 추가합니다.
MRM XML 기록기는 메시지 트리의 xsi:type 속성에 민감합니다. 이는 XML Wire 형식 메시지 세트 특성 xsi:type 속성에 대한 출력 정책에 따라 xsi:type 속성을 생성합니다. 예를 들어, xsi:type 속성을 제거하거나 모든 요소를 출력하거나 SOAP 표준에 지정된 규칙에 따라 출력할 수 있습니다.
IBM® App Connect Enterprise 메시지 흐름에 대해 유효성 검사가 활성화된 경우, 유효성 검사 로직은 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:unions의 단순 유형을 사용 중인 경우, xsi:type 속성을 사용하여 MRM XML 구문 분석기에게 유니온 해결 시기를 지시할 수 있습니다.
- xsi: type 속성에 민감하지 않은 WebSphere® Message Broker 의 이전 버전에서 마이그레이션한 경우 일부 동작이 변경될 수 있습니다. 예를 들어, xsi:type 속성은 더 이상 자체 정의 속성으로 처리되지 않기 때문에 메시지 트리에서 이름이 '@type' 대신 'type'으로 표시됩니다. 메시지 플로우 논리가 메시지 트리의 xsi:type 속성에 민감한 경우, 현재 동작을 준수하도록 메시지 트리를 변경하십시오.
xsi:type 속성에 대한 자세한 정보는 W3C(World Wide Web Consortium) 웹 사이트의 XML Schema Part 0: Primer를 참조하십시오.