네임스페이스를 지원하는 메시지 세트로 XML 스키마를 들여올 때 재정의 구조체는 승인되지만 완전하게 지원되지 않아 작업 목록에 오류 메시지가 표시됩니다.
다음은 재정의 구조체의 예입니다.
<?xml version="1.0" encoding="UTF-8"?> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.ibm.com" xmlns:ibm="http://www.ibm.com"> <!-- Unsupported feature: redefine --> <redefine schemaLocation="test.xsd"/> </schema>
네임스페이스를 지원하는 메시지 세트로 XML 스키마를 들여올 때 아래의 구조체는 승인되지만 무시되고 브로커에 전개되지 않습니다. 사용자가 이러한 구조체를 하나 이상 포함하는 스키마를 들여오려고 하면 무시할 것을 제시하는 경고가 발행됩니다. 이러한 구조체를 삭제할 수 있지만, 이러한 구조체에 대해 구성할 수 있는 등록 정보가 없습니다.
메시지의 논리적 모델을 추출하는 경우(예: 스키마 생성 기능 사용), 이러한 구성이 무시되고 출력 스키마에 포함되지 않습니다.
다음은 이러한 스키마 선언의 목록입니다.
다음은 이러한 구조체의 각 예입니다.
<?xml version="1.0" encoding="UTF-8"?> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.ibm.com" xmlns:ibm="http://www.ibm.com"> <!-- Accepted feature: unique --> <element name="element1" type="string"> <unique name="unique1"> <selector xpath="path1"></selector> <field xpath="path1"></field> </unique> </element> <!-- Accepted feature: key --> <element name="element2" type="string"> <key name="key1"> <selector xpath="path1"></selector> <field xpath="path1"></field> </key> </element> <!-- Accepted feature: keyref --> <element name="element3" type="string"> <keyref name="keyref1" refer="ibm:key1"> <selector xpath="path1"></selector> <field xpath="path1"></field> </keyref> </element> </schema>
대상 네임스페이스가 있는 XML 스키마에 대상 네임스페이스가 없는 다른 XML 스키마가 포함된 경우 문제가 발생합니다. 포함을 위한 메시지 모델에 작성된 스키마 위치에서는 파일 이름만을 지정합니다. 이는 포함하는 메시지 정의 파일과 포함된 메시지 정의 파일이 메시지 모델에서 서로 다른 디렉토리에 위치한다는 점을 고려하지 않습니다.
메시지 정의 편집기에 포함하는 메시지 정의 파일의 등록 정보 탭을 선택하여 Workbench에서 문제를 수정할 수 있습니다. 올바르지 않은 스키마 위치에서 포함 항목을 삭제한 다음, 파일 메뉴에서 올바른 파일을 선택하여 다른 포함 항목을 추가하십시오.
XML 스키마 임포터 환경 설정 페이지(또는 mqsicreatemsgdefs 들여오기 옵션 파일)에서 사용자가 설정한 환경 설정을 기초로 사용자는 이러한 구조체를 승인, 거부 또는 수정하도록 선택할 수 있습니다.
해당 구조체가 발견된 경우 사용자가 "거부"를 지정하면, 들여오기가 정지되고 오류가 보고됩니다.
해당 구조체가 발견된 경우 사용자가 "수정"(디폴트)을 지정하면 임포터가 다음과 같이 결과 메시지 정의 파일을 수정합니다.
이러한 수정은 호환성을 위해 버전 2.1 XML 스키마 임포터 명령으로 수행된 수정에 해당합니다.
해당 구조체가 발견된 경우 사용자가 "승인"을 지정하면 임포터가 있는 그대로 구조체를 들여옵니다. 네임스페이스 지원 기능이 있는 메시지 세트에 대해 위에서 설명한 대로 구조체에 따라 작업 목록 오류가 발생할 수 있습니다.
다음은 이러한 구조체의 각 예입니다.
<?xml version="1.0" encoding="UTF-8"?> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.ibm.com" xmlns:ibm="http://www.ibm.com"> <!-- Supported feature: redefine --> <redefine schemaLocation="test.xsd"/> <!-- Supported feature: import --> <import schemaLocation="test1.xsd" namespace="http://www.ibm1.com"/> <!-- Supported feature: list --> <simpleType name="type1"> <list itemType="string" /> </simpleType> <!-- Supported feature: union --> <simpleType name="type2"> <union memberTypes="string" /> </simpleType> <!-- Supported feature: abstract complex type --> <complexType name="type3" abstract="true"></complexType> <!-- Supported feature: abstract element --> <element name="element" type="string" abstract="true"></element> </schema>
위에서 설명한 대로 수행 조치 및 구조체 목록은 네임스페이스 지원 기능이 있는 메시지 세트의 경우와 동일합니다.
네임스페이스를 지원하지 않는 메시지 세트로 XML 스키마를 들여올 때 접두부로 규정되지 않은 대상 네임스페이스가 있는 스키마 문서는 들여올 수 없습니다. 예를 들면 다음과 같습니다.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.ibm.com" xmlns="http://www.ibm.com"> </xsd:schema>