オープン コンテンツ モデル

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

ホーム >  ユーザーマニュアル > 編集ビュー > スキーマ ビュー > コンテンツ モデル ビュー >

オープン コンテンツ モデル

オープン コンテンツは XSD 1.1 に新たに追加された機能で、複合型にて宣言され、(i) コンテンツ モデルにて定義された要素の間に、または (ii) コンテンツ モデルで定義された要素の後に記述されるあらゆる種類の要素 (複合型のコンテンツ モデルでは定義されていない要素) を許可するために使用されます。

 

openContent 要素は複合型の子要素で、複合型のコンテンツ モデル前に一度出現します (以下のスクリーンショットを参照)。

 

モード

openContent 要素には必須の mode 属性が含まれており、値には interleavesuffix、または none のいずれかが使用されます (以下のスクリーンショットを参照)。デフォルトでは interleave が使用されます。

OpenContentModel01

これら値が持つ意味を以下に記します:

 

mode="interleave" または mode="suffix" となっている場合、最低ならびに最大出現数が指定されていないワイルドカード要素コンテンツ (xs:any) が必要になります。これにより、任意の数の未定義要素 (ワイルドカード) が許されることになります。
モードが interleave の場合、コンテンツ モデルにて定義された個々の要素の前または後に任意の数の未定義要素が出現できるようになります。
モードが suffix の場合、コンテンツ モデルにて定義されている最後の要素の後に任意の数の未定義要素が出現できるようになります。
モードが none の場合、未定義の要素 (xs:any 子要素) の出現は許されず、コンテンツ モデルもオープンとはなりません。none 値は、スキーマ全体をスコープにする defaultOpenContent 要素をオーバーライドするために使用されます。

 

コンテンツ モデル ビューでは、複合型の子要素として (コンテキスト メニューの 子の追加」 から) オープン コンテンツが追加されます。図の中にある openContent ボックスをダブルクリックして値 (interleavesuffix、または none) を選択するか、詳細入力ヘルパーからモードの値を選択してください。

 

ワイルドカード (xs:any) プロパティ

ワイルドカード プロパティは、ワイルドカードの詳細入力ヘルパーにて指定されます。図の中でワイルドカードを選択し、詳細入力ヘルパーにてプロパティ値を入力してください。

 

デフォルト オープン コンテンツ

defaultOpenContent 要素は XSD 1.1 にて新たに追加された機能で、混合または子要素だけが許されている複合型に追加することのできる未定義の要素を指定するために使用されます。同じく XSD 1.1 で新たに追加された openContent 要素に似ていますが、openContent 要素が単一の複合型に対して適用されるのに対して、defaultOpenContent 要素はスキーマ内にあるすべての複合型に対して適用されます。

 

defaultOpenContent 要素はグローバル要素で、ドキュメント内 (インクルード、インポート、再定義の後、そしてコンテンツ定義の前) に一度だけ出現することができます (以下のスクリーンショットを参照)。要素には interleave または suffix という値を含めることのできる mode 属性が含まれており、デフォルトでは interleave 値が使用されます。

SchOviewDefOpenContent

defaultOpenContent 要素には openContent 要素の定義と同様に、コンテンツ モデル ビューで編集することのできるコンテンツ モデルが含まれています (上記参照)。一旦 defaultOpenContent 要素が宣言されると、スキーマ内にあるすべての複合型に対して自動的に適用され、各複合型のコンテンツ モデルに表示されます。以下のスクリーンショットでは、defaultOpenContentOfficeTypeDesc という複合型に対して自動的に適用されているのが確認できます。

ContModViewDefOpenContent

特定の複合型に対して defaultOpenContent 要素をオーバーライドするには、openContent 子要素をその複合型へ追加してください。以下のスクリーンショットでは、defaultOpenContent が適用された Desc 要素以下に openContent 子要素が定義されており、defaultOpenContent 要素がオーバーライドされています。

ContModViewDefOpenContent02

 


(C) 2018 Altova GmbH