XML スキーマで XML エレメントが派生型に基づいて定義されている場合は、実行時に予期される派生型 (または置換型) を指定する必要があります。
このタスクについて
XML スキーマ仕様では、拡張によって複合型を派生させる機能がサポートされています。
型置換、およびマッピング・ペインでの型置換の使用法に関する一般情報については、『置換型の選択』を参照してください。
XML スキーマで XML エレメントが派生型に基づいて定義されている場合は、実行時に予期される派生型 (または置換型) を指定する必要があります。
Studio で、以下の手順に従って、「ノードを次のもので置換 ...」メニュー・オプションを使用して変数の XML エレメントの予期される置換型を指定してください。
変数の置換型を選択するには、以下のようにします。
手順
- XML ベースの派生型を含む XML スキーマをプロジェクトにアップロードします。
詳しくは、『プロジェクトへのファイルのアップロード』を参照してください。
- 派生型に基づく XML エレメントが入る変数を作成します。
ノードに関連付けられたスキーマが「変数」タブの「スキーマ (Schema of)」ペインに表示されます。
『変数の置換型の選択』に示されている XML スキーマ例の場合、<shape> エレメントに基づく変数を作成します。
図 1 に示すように、<shape> エレメントに関連付けられたスキーマが「変数」タブの「スキーマ (Schema of)」ペインに表示されます。
図 1. 「スキーマ (Schema of)」ペインに表示された shape エレメントに関連付けられたスキーマ。
派生型の子エレメントは「スキーマ (Schema of)」ペインにリストされていないことに注意してください。
この例では、circle の子エレメント (名前は diameter) も、rectangle の子エレメント (名前は width および length) もリストされていません。
- 「変数」タブの「スキーマ (Schema of)」ペインで、ノードを右クリックし、メニューから「ノードを次のもので置換 ...」オプションを選択して、実行時に予期される派生型を選択します。
「ノードを派生型で置換」ダイアログ・ボックスが表示されます。
メニューには、XML スキーマの定義に従って、ノードに使用可能な派生型がリストされています。
例えば、図 2に示すように、
このメニューから次の 2 つの派生型を使用できます。
図 2. この図はノードの 2 つの派生型 (circle および rectangle) を示します。
- 派生型の 1 つを選択します。
選択した派生型によって、実行時に XML インスタンス文書に予期される型が決まります。
この例では circle 派生型が選択されているため、実行時にこの変数に予期される XML データは circle 型です。
基本型の子エレメントに加えて、派生型の子エレメントが「スキーマ (Schema of)」ペインに表示されます。
この例では、図 3 に示すように、diameter という子エレメントが、color という子エレメント (基本型から継承) とともに「変数」タブの「スキーマ (Schema of)」ペインに表示されます。
図 3. 「変数」タブ
次のタスク
「ノードを次のもので置換 ...」オプションを使用して変数のノードの派生型を選択した後、ノードを右クリックし、メニューから
「ノードの置換解除」オプションを選択して、変数のノードと派生型の間の関連付けを削除できます。
「
置換解除」ダイアログ・ボックスが開きます。
「はい」をクリックします。