スキーマソース

www.altova.com すべてを展開/折りたたむ このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  SPS ファイル: 構造 >

スキーマソース

スキーマソースはデザインを行う際の出発点ともなるもので、(i) スキーマの選択と、(ii) スキーマにて選択したルート要素によりデザインの構造は影響を受けることになります。

 

スキーマの選択

以下の操作により、新たな SPS ファイルに対するスキーマの選択を行うことができます:

 

1.メニューオプションから「ファイル | 新規作成」を選択し、サブメニューにある(新規作成 (空) を除く)オプションを選択して、スキーマソースを直接選択します。
2.メニューオプションから「ファイル | 新規作成」を選択し、サブメニューから「新規作成 (空)」を選択します。新規 SPS が作成され、GUI に表示されます。 デザイン概要サイドバー にて新しいソースの追加コマンドを選択します。スキーマとして追加することのできるものが表示されます(以下のスクリーンショットを参照)。このメニューに表示されている各コマンドについては、このセクションのサブセクションにて記述されます。.

 

SBDesOviewAddFilesStd

 

スキーマソースは、ファイル、 または ユーザー定義のスキーマから選択することができます。 グローバルテンプレートを使用するか、またグローバルテンプレートとして使用する要素がスキーマにてグローバル要素として定義されているかどうかがここでは重要になります。ファイルから DTD を追加する場合、DTD 内で定義された要素は全てグローバル要素となることに注意してください。ファイルから XML スキーマを追加する場合、どの要素がグローバル要素として定義されているか、そしてスキーマに対して変更が必要な場合には、お使いの XML 環境にてそれができるかどうか調べるようにしてください。

 

メモ:名前空間を SPS へ追加し、SPS から XSLT スタイルシートを生成するには、SPS がベースとしている XML スキーマのトップレベル schema 要素に対して名前空間を追加する必要があります。

 

ルート要素

スキーマツリーに複数の グローバル要素 が含まれている場合、複数のルート要素 (ドキュメント要素) をデザインで使用するために選択することができます。この機能により、複数のドキュメント要素にマッチするテンプレートを SPS デザインに含めることができます。UniversalSchema.xsd という名前のスキーマをベースにした UniversalSPS.sps にて Element-AElement-B という2つのルート要素が与えられている場合、Element-A をドキュメント要素とするインスタンスドキュメントと、Element-B をドキュメント要素とする別のインスタンスドキュメントを、単一の SPS から扱うことが可能になります。各 XML インスタンスに対して関係するテンプレートが使用され、そうでないテンプレートは使用されません。これは各 XML インスタンスドキュメントにおいて、そのドキュメント要素にマッチするテンプレートが SPS 内に1つしか無いためです。例えば、ドキュメント要素の /Element-A は、/Element-A を選択するテンプレートにマッチしますが、/Element-B を選択するものにはマッチしません。複数のグローバル要素がスキーマにて定義されている場合、それらのうちのどれかをドキュメント要素としている XML ドキュメントも妥当なものとして認識されます(勿論、そのサブ構造もスキーマに対して妥当でなければなりません)。

 

複数の ルート要素 (ドキュメント要素) を使用するように SPS をセットアップするには、スキーマのルート要素エントリーの右側にある BtnEdit ボタンをクリックしてください。以下に示されるダイアログが表示されます。

 

DlgSelectRootElements

 

ダイアログにはスキーマ内部にある全てのグローバル要素が表示されます。ルート要素 (ドキュメント要素) として使用することができるグローバル要素を選択し、OK をクリックしてください。選択された要素がルート要素リストとして表示され、ルートドキュメント要素として利用できるようになります。これらのドキュメント要素に対してテンプレートを作成することができるようになります。これらのテンプレートは、ルート要素テンプレートの代わりとして使用することができます。XML ドキュメントが SPS とともに処理された場合、代替ルート要素テンプレートのうちの1つだけ -XML ドキュメントのルート(ドキュメント)要素- が使用されます。

 

Element-A をドキュメント要素とする XML ドキュメントが SPS により処理されると、Element-A にマッチするルートテンプレートが使用され、SPS 内にあるその他全てのルート要素テンプレートは無視されることになります。Element-B をドキュメント要素とするドキュメントが処理された場合、Element-B にマッチするルートテンプレートが使用され、SPS 内にあるその他全てのルート要素テンプレートは無視されることになります。この機能により、異なるルート(ドキュメント)要素を伴う複数の XML ドキュメントに対して同じ SPS を使用することができるようになります。

 

 

 


(C) 2019 Altova GmbH