Address の子要素はグローバル複合型 AddressType として定義されています(XML スキーマ AddressLast.xsd 内で定義されているスキーマビューのコンテンツモデルが以下のスクリーンショットでは示されます)。

しかしここでは一般的な住所の型よりも、US または UK の住所を使用します。AddressLast.xsd スキーマで US-Address と UK-Address というグローバル複合型を作成したのを覚えているでしょうか?US-Address のコンテンツモデルを以下に示します。

XML ドキュメントにて Address 要素が(一般的な AddressType 型ではなく)拡張された Address 型(US-Address か UK-Address)の要件を満たすためには、必要な複合型を Address 要素の属性として指定しなければなりません。
Address 要素のこの属性を次のように追加します:follows:
1.XML ドキュメント内で Name 要素を右クリックして [前に挿入] をコンテキストメニューから選択します (下のスクリーンショット参照)。

2.new_elem という名前の新規の要素ノードが Name 要素の上に追加されます (下のスクリーンショットを参照してください)。ノード名の左側の要素の型をクリックすると表示されるメニューから (下のスクリーンショット) Attribute ノード型を選択します。ノード型は Attribute ノード型に変更されますが名前は new_elem のままです。

3.ノード名をダブルクリックして、表示される入力ヘルパーから xsi:type を選択します。
4.属性の値フィールドに移動するために Tab キーを押します。使用可能な xsi:type 値を含むポップアップが表示されます (下のスクリーンショット参照)。 これらの値はスキーマ内の Address 要素のために定義された複合型です。

5.US-Address を xsi:type 属性の値として選択します。
| メモ: | xsi: プレフィックスを使うことで XML ドキュメントインスタンスに関連した特別な XML スキーマを使えるようになります。スキーマを XML ファイルに関連付けたときに xsi: プレフィックスの名前空間が、自動的にドキュメントに追加されたことに注目してください。上の場合は Address 要素の型を指定しました。さらに詳しい情報については XML スキーマの仕様(英文)を参照ください。 |