XSD モード: XSD 1.0 と 1.1

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

ホーム >  ユーザーマニュアル > 編集ビュー > スキーマ ビュー >

XSD モード: XSD 1.0 と 1.1

スキーマビューでは、  XML スキーマ (XSD) が編集されるか、 そして、 XML Schema 1.0 仕様 (XSD 1.0) または  XML Schema 1.1 仕様 (XSD 1.1) に従い検証されるかを選択することができます。XSD モード は、次の 2 つの 設定をベースにした編集で使用されます: アプリケーション内、他の XSD ドキュメント内。

 

XSD モードの選択

XSD モードは、アクティブなドキュメントのためのスキーマビュー の編集と検証機能 (XSD 1.0 または 1.1) を決定します。 以下のどちらかを行うことができます: (i) 選択されたモードですべての XSD ドキュメント スキーマビュー内のが編集されることのできるアプリケーション全体の設定にする、 または (ii) XSD ドキュメント内の XSD バージョン番号を保存して、この情報に従い、アプリケーションは、XSD モードを自動的に選択します。

 

アプリケーション全体モード

アプリケーション全体設定は、オプションダイアログ のファイルセクションで行います(「ツール | オプション」、 下のスクリーンショット参照)。 バージョン 1.0 または バージョン 1.1 ラジオボタンを選択すると、選択されたモードはアプリケーション全体モードになります。 スキーマビュー内で開かれたすべての XML スキーマ ドキュメントはこのモードで編集することができます。( v1.1 を選択する場合は、if <xs:schema vc:minVersion="1.1"の場合です。 その他の場合は、v1.0 設定を選択します。 モードは、ドキュメント内の情報により、アプリケーション全体ではありません。この点に関しての情報に関しては下の他のセクションとドキュメント固有のモードを参照してください。)

XMLSchemaVersion

オプションダイアログの XML スキーマ バージョン 設定内で選択することによりいつでも  2 つの アプリケーション全体モード間(バージョン 1.0 および バージョン 1.1) を切り替えることができます   (上のスクリーンショット)。

 

メモ:現在の設定が、 アプリケーション全体設定である場合、 設定およびモードの切り替えは、スキーマデザイン ツールバー (次のセクション参照) 内の XSD 1.0 ツールバーボタンまたは XSD 1.1 ツールバーボタンを使用して行うことができます。  モードの切り替えは、一時的であり、ドキュメントが再ロードされると、アプリケーションの全体モードに切り返されます。  ビューの変更またはスキーマビューが更新されると(ファイル | 再ロードを介して )再ロードが実行されます。

 

ドキュメント固有のモード

XSD ドキュメント内に XSD モード 情報を保存することを選択できます。 ドキュメントがロードされると、自動的にスキーマビューの XSD モードへの切り替えを有効化します。スキーマデザイン ツールバー内の XSD 1.0 または XSD 1.1 ボタンをクリックすることにより、 XSD モード 情報を XSD ドキュメントに追加することができます。 (下のスクリーンショット). これを行うにあたり、選択されたモードは、 トップレベル xs:schema 要素の vc:minVersion 属性内に保存されます ( vc:minVersion の値は、手動でテキストビューに追加することもできます)。

ToolbarSchemaDesign

メモ:vc:minVersion 属性 が存在する場合は、名前空間 http://www.w3.org/2007/XMLSchema-versioning 内に存在する必要があります。 この場合は、XML スキーマ ドキュメントは、この名前空間にvc: 名前空間 プレフィックスをバインドする名前空間宣言が必要になります。 XSD 1.1 ツールバーボタンを使用すると、名前空間は自動的に追加されます (上のスクリーンショット)。ドキュメント内の他のノード名がこの名前空間に存在しない場合、 XSD 1.0 ツールバーボタンをクリックすると、名前空間宣言が削除されます。

 

ドキュメント固有の モードをアクティブ化し、ドキュメントの XSD モードを指定するには、次を行います:

 

1.ドキュメント固有のモードのアクティブ化: オプションダイアログのファイル セクション(「ツール | オプション」)で、 XML スキーマ バージョン オプション<xs:schema vc:minVersion="1.1"の場合は、v1.1 に、その他の場合は v1.0 に設定します(下のスクリーンショット参照) 。これは、スキーマビュー内の XSD モードが xs:schema 要素の vc:minVersion 属性に対して設定されるように XMLSpy に示します。

XMLSchemaVersionOn

2. ドキュメントの XSD バージョンの指定: スキーマデザイン ツールバー内の (上のスクリーンショット) XSD 1.0 または XSD 1.1 ボタンをクリックします。確認 ダイアログがポップアップします (下のスクリーンショット)。

XSDVersionConfirm

3.「はい」 をクリックすると、次の結果を引き起こします: (i)  xs:schema 要素の vc:minVersion 属性 に対応する値を入力します。 (ii) XSD 1.1 が選択されている場合、vc: 名前空間 プレフィックスへのバインドと共に XMLSchema-versioning 名前空間が宣言されます。XSD 1.0 が選択されている場合、XMLSchema-versioning 名前空間内に他のノードが存在しないと、名前空間宣言は削除されます。 XML スキーマ ドキュメントは、XSD バージョン番号を含むようになります。  ファァイルを保存する際、XSD モード 情報も保存されます。 ファイルを再度開くまたは再ロードすると、スキーマビューは、 xs:schema 要素の vc:minVersion 属性に含まれているとおり自動的にドキュメントの XSD モードに切り替えられます。

 

メモ:ドキュメント固有の モード オプションが選択され、そして XSD ドキュメントが vc:minVersion 属性 または 1.0 または 1.1 以外の vc:minVersion 属性の値を持つ場合、  スキーマビューのデフォルトは XSD 1.0 モードです。

 

メモ:vc:minVersion 属性 と xsd:version 属性を混同しないように注意してください。前者は、XSD バージョン番号を有し、後者は、バージョン番号を有します。

 

新しいドキュメントのXSD モード

新しい XSD ドキュメントを作成する場合、 XSD 1.0 または XSD 1.1 ドキュメントとして作成するかを問われます。 XSD 1.1 が選択されると、新しい ドキュメントが属性 /xs:schema/@vc:minVersion="1.1" と共に作成され、 vc: 名前空間 プレフィックスへのバインドを持つ XMLSchema-versioning 名前空間が宣言されます。 XSD 1.0 が選択されると、 vc:minVersion 属性または XMLSchema-versioning 名前空間宣言が追加されません。しかしながら、スキーマビュー内でどの XSD モードが有効化されるかは、オプションダイアログのファイルのセクションで選択されている XML スキーマ バージョンによります (「ツール | オプション」)。  これら2つの設定どのように相互に作用するかについての詳細は、次のセクションを参照してください。

 

有効化された XSD モード

XSD モード が有効化される場合、 スキーマビュー内 の以下に影響されます (i)  存在/不在そして、存在する場合、 / XSD ドキュメントの xs:schema/@vc:minVersion 属性の値、 および (ii) オプションダイアログのファイル セクションで選択された XML スキーマ バージョン オプション (「ツール | オプション」、下のスクリーンショット)。

XMLSchemaVersion

以下の シチュエーションが考えられます。 下のテーブルの XML スキーマ バージョンは、 上に表示される XML スキーマ バージョン ペイン内の選択を参照します。 下のテーブル内の vc:minVersion 値 は XML スキーマ ドキュメント内の xs:schema/@vc:minVersion 属性の値を参照します。

 

XML スキーマ バージョン

vc:minVersion 属性

XSD モード

常に v1.0

存在しません、 または すべての値と存在します

1.0

常に v1.1

存在しません、 または すべての値と存在します

1.1

@vc:minVersion の値

属性は、 1.1 の値を持ちます

1.1

@vc:minVersion の値

属性は、存在しません、 または 属性 は、1.1 以外の値と存在します

1.0

 

メモ:最初の 2 つの 行で説明されている、シチュエーションの場合、  XSD 1.1 スキーマを XSD 1.0 モード内で開くこと、またその逆は可能です。 矛盾の扱い方については下で説明されています。 

 

XSD モード 機能

インターフェイスおよびスキーマビューの 編集機能は、有効化される XSD モード (XSD 1.0 または XSD 1.1) により変更されます。

 

XSD 1.0 モードが有効化される場合:

 

新しい XML Schema 1.1 コンポーネント および プロパティ への編集サポートを使用することができません。 しかしながら、XSD 1.1 コンポーネント または プロパティが XSD ドキュメント内で既存の場合、 これらは表示され、削除されることもできます。
検証は、XSD 1.0 仕様に対して行われます。 ですから、  XSD 1.1 コンポーネント または プロパティが (既に) スキーマ内に存在する場合、 検証 エラーが報告されます。

 

XSD 1.1 モード が有効化されていると、  XML Schema 1.1 仕様に関する XML Schema 1.1. 検証のすべての 機能のための編集サポートが提供されます。

 

XSD 1.0 モード内での XSD 1.1 機能の扱いかた

XSD 1.0 によりサポートされない XSD 1.1 機能(例えば, アサーション)がドキュメント内に存在する場合、その 機能が表示され、 そして以下に説明される XSD 1.0 モードにより取り扱われます。

 

アサーション:  選択された単純型でアサーションが1つでも存在する場合、ファセット入力ヘルパーでアサーション タブが存在します。 アサーションの削除以外の編集を行うことはできません。

 

アサート: 存在する場合、複合型ダイアグラム内でアサーションが表示されます。AAIDC ペインでアサーション タブを使用することはできません。また、アサーションはコンテキストメニューを介し 追加されることはできません。 削除以外のプロパティの編集を行うことはできません。
属性: 存在する場合、新しい プロパティ inheriテーブル が表示されます。空の値を選択する以外の編集を行うことはできません (これはより効果的なプロパティの削除方法です)。

 

複合型: 存在する場合 新しい プロパティ defaultAttributesApply が表示されます。 in 詳細入力ヘルパー。 空の値を選択する以外の編集を行うことはできません (これはより効果的なプロパティの削除方法です).

 

ドキュメント: 新しい XSD 1.1-固有の コンポーネント および プロパティは、スキーマビュー内 ドキュメントに含まれていません。

 

ファセット: 未知のファセットは、検証 エラー を引き起こし、 そして赤で表示されます。

 

スキーマ内の検索: 新しい XSD 1.1-固有の コンポーネント および プロパティは、無視されます。

 

ID 制約 (IDC): プロパティ isRef が表示されます。参照の場合、はオフに切り替えることができます。 名前の IDC がオフに切り替えられると、

 

複数の 代替 グループ: コンボボックスは、単一の 代替 グループを選択します (XSD 1.0 内では単一の 代替 グループ のみが許可されています)。

 

オープン コンテンツ: 存在する場合はダイアグラムに表示されます。 コンテキストメニューを介して追加されません。削除以外の編集を行うことはできません。  デフォルトのオープンコンテンツが、複合型内部で表示されません。

 

オーバーライド: 存在する場合、グローバルグリッドを表示します。 これは、 メニューを介して追加されません。 削除以外の (ロケーションの)編集を行うことはできません。  コンポーネント ( xs:override の子) は、無視されます、そして コンポーネント 入力ヘルパーに含まれません。

 

スキーマ 設定: 存在する場合、新しい プロパティ defaultAttributes および xpathDefaultNamespace は、ダイアログ内に表示されます。 空の値を選択する以外編集は不可能です (これはより効果的なプロパティの削除方法です)。

 

単純型: 未知の型は検証 エラーを引き起こし、赤字で表示されます。

 

型 代替: 存在する場合ダイアグラムに表示されます。 コンテキストメニューを介して追加されません。 削除する以外 (プロパティの)の編集を行うことはできません。

 

ワイルドカード: 新しい プロパティが存在する場合は表示されます。 空の値を選択する以外編集は不可能です (これはより効果的なプロパティの削除方法です)。

 


(C) 2018 Altova GmbH