基本的なスキーマの完成

www.altova.com このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  XMLSpy チュートリアル > XML スキーマ:基本 >

基本的なスキーマの完成

ここまで Address 要素の定義を行いました。次に Person 要素の内容を定義する必要があります。Person 要素は以下の子要素(全て単純型)を含む様にします:First、Last、Title、PhoneExtt、そして EmailTitle を除くこれらの要素は全て必須で、設定された順に現れなければなりません。PhoneExt のデータ型は2桁までの xs:integer となり、それ以外は全て xs:string となります。

 

Person のコンテンツモデルを作成するには:

 

 

1.Person 要素を右クリックし、コンテキストメニューを表示します。「子を追加 | シーケンス」 を選択します。これによりシーケンスコンポジッターが挿入されます。
2.シーケンスコンポジッターを右クリックし、「子を追加 | 要素」 を選択します。
3.First を要素名として入力し、「タブ」 キーを押します。これでカーソルが type フィールドに移動します。

tut_13a

4.xs:string エントリをドロップダウンリストから選択するか、その値を type フィールドに入力します。
5.ドラッグアンドドロップにより、その他4つの要素を作成します。それぞれ Last、 Title、 PhoneExt そして Email と名前を付けます。

tut_14a

メモ: 「Ctrl」 キーを押しながら必要な要素をクリックすることで複数の要素を選択することができます。この方法で、例えば複数の要素を一度にコピーすることができます。

 

要素を省略可能にする

Title 要素を右クリックして、コンテキストメニューから省略可能を選択します。要素ボックスの境界線が実線から、要素が省略可能であることを示す点線に変わります。

tut_14b

詳細入力ヘルパーにて、minOcc が 0、maxOcc が 1 と表示され、要素が省略可能であることを示します。コンテキストメニューを使う方法以外にも、minOcc に 0 をセットして要素を省略可能にすることができます。

 

要素の内容を制限する

PhoneExt 要素が xs:integer 型で、最高2桁の数値だけを持てるようにするには:

 

 

1.PhoneExt 要素の Type フィールドをダブルクリックして、ドロップダウンリストから xs:integer を選択(または入力)します。

tut_14c

この時点でファセット入力ヘルパーのアイテムが変化します。

2.ファセット入力ヘルパーにて、maxIncl フィールドをダブルクリックして、99 と入力し、「Enter」 で確定します。

tut_15a

 

 

この定義により、99までの内線番号(Phone Extension)が妥当となります。

3.メニューオプション 「ファイル | 保存」 を選択し、スキーマに対する変更を保存します。

 

以下の点に注意してください:

 

単純型のXMLスキーマデータ型(例えば xs:string  や xs:date)を選択することで、詳細入力ヘルパーのコンテンツモデルが自動的に単純型 (content = simple) に変更されます。
要素にコンポジッター(シーケンス、選択、またはすべて)を追加することで、詳細入力ヘルパーのコンテンツモデルが自動的に単純型(content = complex)。
上記で説明されたスキーマは XMLSpy アプリケーションフォルダーの C:\Documents and Settings\<ユーザー名>\マイ ドキュメント\Altova\XMLSpy2019\Examples\Tutorial  フォルダーにある AddressFirst.xsd  という名前のファイル名で入手可能です。

 


(C) 2018 Altova GmbH