スキーマサブセット

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

ホーム >  ユーザーマニュアル > DTD と XML スキーマ >

スキーマサブセット

XML スキーマのコンポーネントは、スキーマサブセットと呼ばれる、(より小さな)外部スキーマファイルとして作成することができます。小さなスキーマサブセットの集合を(インクルードと一緒に)使用することで、巨大なスキーマを使用した際に比べて、単一の巨大なスキーマよりもスキーマの管理を行ないやすくなります。

 

スキーマビューにて以下のような操作を行うことで、スキーマサブセット機能が持つ機能を理解することができるはずです:

 

1.アクティブなスキーマのコンポーネントを含むスキーマサブセットを作成します。具体的な操作の方法については以下を参照ください
2.必要に応じて別のスキーマサブセットを作成します。
3.新たに作成されたスキーマサブセットをインクルードして、大きなスキーマを形成します。スキーマ概要ウィンドウにて、インクルードコンポーネントを追加または挿入し、新たに作成したスキーマサブセットファイルを選択する操作を、各スキーマサブセットに対して行ないます。
4.オリジナルの巨大なスキーマに元々存在し、インクルードされたサブセットにも存在するコンポーネントを削除します。

 

スキーマビューでは、上の操作とは逆に、インクルードされたファイルをフラット化することができます。つまり、(i) スキーマサブセットに含まれているコンポーネントがメインスキーマに直接追加し、(ii) インクルードされたスキーマサブセットをメインスキーマから削除します。スキーマをフラット化する方法については以下に記述されます

 

スキーマサブセットの作成

スキーマサブセットを作成するには:

 

1.目的の XML スキーマがスキーマビューにてアクティブな状態で、メニューコマンドの 「スキーマ設計 | スキーマサブセットの作成」 を選択します。この操作により、スキーマコンポーネントの選択ダイアログが表示されます(以下のスクリーンショットを参照)。
2.ダイアログにて、単一のスキーマサブセットとして作成したいコンポーネントにチェックを入れ、「次へ」 をクリックします。ペイン以下のチェックボックスにより、参照されている全てのファイルにあるコンポーネントを表示することができます。

SchSubsetsSelectComponents

3.(以下のスクリーンショットにある)スキーマサブセット生成ダイアログにて、スキーマサブセットパッケージの名前を入力します。同時に、新たなスキーマサブセットファイルが保存されるフォルダーも指定する必要があります。オリジナルのスキーマにてインポートされていたコンポーネントが、作成されるコンポーネントに含まれている場合、スキーマサブセットパッケージには複数のファイルが含まれることになります。スキーマサブセットでは、各名前空間に対して、異なるファイルが作成されます。デフォルトでダイアログに表示されるファイル名はオリジナルのファイル名となりますが、オリジナルのファイルを上書きすることは許されないため、オリジナルのファイルがあるフォルダーにサブセットファイルを保存したい場合は、名前の変更を行う必要があります。

SchSubsetsGeneration

4.「OK」 をクリックすることで、アクティブなファイルの名前空間を持ったスキーマサブセットファイルが、スキーマビューで開かれます。パッケージ内にあるその他のファイルは、作成されますが、スキーマビューでは開かれません。

 

スキーマのフラット化

スキーマビューにてアクティブなスキーマをフラット化すると、(i) 各スキーマのコンポーネントがアクティブなスキーマのグローバルコンポーネントとして追加され、(ii) インクルードされたスキーマが削除されます。

 

アクティブなスキーマをフラット化するには、メニューコマンドから 「スキーマ設計 | スキーマをフラット化」 を選択します。この操作により、(以下のスクリーンショットにある)スキーマをフラット化ダイアログが表示され、各ファイルの名前が、フラット化されたスキーマで使用される名前空間と共に表示されます。デフォルトのファイル名はオリジナルのファイル名のままになっていますが、オリジナルのファイルの場所と同じフォルダーに保存しようとする場合には、ファイル名を変更する必要があります。フラット化されたスキーマと、関連するファイルを保存するフォルダーを指定することもできます。

SchSubsetsFlatten

「OK」 をクリックすると、フラット化されたスキーマが、スキーマビューで開かれます。

 


(C) 2018 Altova GmbH