演習 1.2: スキーマ・コンポーネントの追加
この演習を始める前に、『演習 1.1: XML スキーマの作成』を完了してください。
XML スキーマ仕様は、複合型、単純型、グループ、注釈、エレメント、属性などの多数のコンポーネントを定義します。
有効なスキーマを作成するには、これらのコンポーネント間の関係を理解する必要があります。
例えば、<include>、<import>、または <redefine> エレメントは、スキーマ・エレメントの他のどの子よりも前になければなりません。
属性は、複合型には追加できますが、単純型には追加できません。
この他にも多数の関係があります。
XML スキーマ・エディターを使用すると、そのような詳細をすべて覚えなければならないという負担がなくなります。
「アウトライン」ビューを使用して、ポップアップ・メニューからスキーマ・コンポーネントを追加できます。
このポップアップ・メニューには、選択されたオブジェクトに関連したオブジェクトのリストのみが表示されます。
また、このエディターは、XML スキーマ内の正しいロケーションにオブジェクトを追加します。
次の例は、基本的な方法の一部を示しています。
スキーマ・コンポーネントの追加
以下のステップでは、単純型、複合型、およびグローバル・エレメントを含むいくつかのコンポーネントをご使用のスキーマに追加します。
- University.xsd ファイルには、学生に関する情報を定義する複合型である Student、および大学内の学部をリストするための単純型 Faculties を含める必要があります。
- 「アウトライン」ビューで、University ファイルを右クリックしてから、「複合型の追加」をクリックします。
Types フォルダーの下に、新規の複合型が作成されます。
- 複合型を選択し、「プロパティー」ビューで、その名前を Student に変更します。
- 次に、Types フォルダーを右クリックしてから、「単純型の追加 (Add Simple Type)」をクリックします。 Types フォルダーの下に、新規の単純型が作成されます。
- 単純型を選択し、「プロパティー」ビューで、その名前を Faculties に変更します。
- Student 複合型には、学生の名前、専攻、および ID 番号が含まれます。
以下のステップに従って、この情報を Student 複合型に追加します。
- Student 複合型を右クリックしてから、「すべて追加」をクリックします。
これにより、新規コンテンツ・モデル・オブジェクトが作成されます。
- コンテンツ・モデル・オブジェクトを右クリックしてから、「エレメントの追加」をクリックします。
新規エレメントが作成されます。
- 「プロパティー」ビューで、エレメント名を name に変更します。
このエレメントのデフォルトの型が string であることに注意してください。
- 「プロパティー」ビューの「属性」タブをクリックします。
空のペインを右クリックして、「属性の追加」をクリックします。
その名前を id に変更します。
- ID 属性の「プロパティー」ビューで、「型」の「値」列をクリックし、「続く」ボタン
をクリックして、型リストから「整数」を選択します。
- コンテンツ・モデル・オブジェクトを再度、右クリックしてから、「エレメントの追加」も再度クリックして、エレメント major を追加します。
- major エレメントの「プロパティー」ビューで、このエレメントの型を単純型 Faculties に変更します。
「型」フィールドの横の「続く」ボタン
をクリックして、「使用可能なタイプ」ウィンドウを開いてから、「ユーザー定義の単純型 」ラジオ・ボタンをクリックし、「tns:Faculties」をクリック、さらに「OK」をクリックします。
- 単純型 Faculties は、単純型 string を制限することによって得られ、その値は大学の 1 学部に限定されます。
このリストを定義するには、次のように、列挙型ファセットを作成します。
-
Faculties 単純型を選択します。
-
「プロパティー」ビューの「列挙型」タブをクリックし、「追加」をクリックします。
- 新規の列挙型の値を science に変更します。
- さらに、Faculties 単純型に対して、arts と dentistry の 2 つの列挙型を作成します。
- この XML スキーマからインスタンス文書を作成するには、XML スキーマにグローバル・エレメントがなければなりません。
ここで、次のようにして、グローバル・エレメント student を追加します。
- University ファイルを右クリックして、ポップアップ・メニューで「グローバル・エレメントの追加」をクリックします。
これによって、NewGlobalElement という名前の新規グローバル・エレメントが作成されます。
- 「プロパティー」ビューで、名前を student に変更します。
- student グローバル・エレメントの「プロパティー」ビューで、その型を複合型 Student に変更します。
「型」フィールドの横の「続く」ボタン
をクリックして、「使用可能なタイプ」ウィンドウを開いてから、「ユーザー定義の複合型」ラジオ・ボタンをクリックし、「tns:Student」をクリック、さらに「OK」をクリックします。
「アウトライン」ビューが以下のように表示されるはずです。

これで、『演習 1.3: スキーマの編集および妥当性検査』へ進む準備ができました。