ネーム・スペースをサポートするメッセージ・セットに XML スキーマをインポートする際、Redefine 構成は受け入れられますが、完全にサポートされるわけではないというエラー・メッセージがタスク・リストに表示されます。
以下は、Redefine 構成の例です。
<?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 スキーマを、ネーム・スペースをサポートするメッセージ・セットにインポートする際、 以下の構成は受け入れられますが、無視され、ブローカーにデプロイされません。 ユーザーがこれらの構成を 1 つ以上含むスキーマをインポートしようとすると、 それらが無視されることを述べる警告が出されます。 これらの構成を削除できますが、それらのために構成することができるプロパティーはありません。
メッセージの論理モデルを抽出する場合 (例えば、スキーマ生成機能を使用して)、 これらの構成は無視され、出力スキーマに組み込まれません。
以下は、これらのスキーマ宣言のリストです。
以下は、これらの各構成の例です。
<?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 スキーマが組み込まれている場合、問題が発生します。 組み込みのためにメッセージ・モデルで作成されるスキーマ・ロケーションは、 ファイル名を指定するだけです。 この場合、組み込むメッセージ定義ファイルおよび組み込まれるメッセージ定義ファイルが、 メッセージ・モデル内で異なるディレクトリーに入っているということを考慮に入れていません。
メッセージ定義エディターで、組み込むメッセージ定義ファイルのプロパティー・タブを選択することによって、 ワークベンチから問題を修正することができます。 正しくないスキーマ・ロケーションを持つ組み込みエントリーを削除します。その後、ファイル・メニューから正しいファイルを選択して、別の組み込みエントリーを追加します。
ユーザーは、「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>