複数の XML スキーマで制約された XML ドキュメントでのコード補完の使用

関連項目

少なくとも 1 つのスキーマファイルに、ワイルドカードとして知られる xsd:any または xsd:anyAttribute がある場合に、複数のスキーマファイルによって XML インスタンスドキュメントを制約できます。これらのワイルドカードを使用すると、名前空間によってコード補完の情報が制限されます。xsd:anyxsd:anyAttribute は、ともに任意のnamespace 属性が付きます。次の表に、namespace 属性値に基づいてワイルドカードが置換されるしくみを示します。

namespace 置換
##any 任意の名前空間の任意の要素
##other targetNamespace 以外のその他の名前空間の任意の要素
##targetNamespace targetNamespace の任意の要素
##local 任意の修飾されていない要素 (名前空間なし)
URI のリスト 指定した名前空間の要素

たとえば、次のようになっているとします。

<a:RootA xmlns:a="http://xml.netbeans.org/schema/A"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xml.netbeans.org/schema/A A.xsd
  http://xml.netbeans.org/schema/B B.xsd
  http://xml.netbeans.org/schema/C C.xsd">
  < (現在のカーソルの位置)
</a:RootA>

この例では、RootA はスキーマ A.xsd で定義されたルート要素の 1 つです。RootAxsd:any 子要素があった場合、前出の表に示す置換規則に従って、さまざまな名前空間からの項目がカーソル位置に表示されます。xsd:anyAttribute の場合も同様のことがあてはまります。

規則と制限

複数の XML スキーマファイルによって制約される XML ドキュメントを作成し、コード補完を起動する

  1. メインメニューから「ファイル」>「新規ファイル」を選択します。
    「新規ファイル」ウィザードが開きます。
  2. 「カテゴリ」の下で、「XML」ノードを選択し、「ファイルの種類」の下で「XML ドキュメント」ノードを選択し、「次へ」をクリックします。
  3. ドキュメントの名前と場所を指定し、「次へ」をクリックします。
  4. 「XML スキーマで定義されたドキュメント」ラジオボタンを選択し、「次へ」をクリックします。
  5. 「スキーマ URI」フィールドの横の「参照」ボタンをクリックして、XML インスタンスドキュメントを制約する最初のスキーマファイルに移動して選択します。
    スキーマファイルを選択した場合、「ドキュメント名前空間」フィールドおよび「ルート要素」フィールドに入力されます。スキーマにターゲット名前空間がない場合は、「ドキュメント名前空間」フィールドが空白になります。
  6. スキーマに複数の要素がある場合は、「ルート要素」ドロップダウンリストから制約に使用する要素を選択します。
  7. 「完了」をクリックします。
    「プロジェクト」ウィンドウに新しい .xml ファイルのノードが追加され、ソースエディタに新しいファイルが表示されます。
  8. ソースエディタで、xsi:schemaLocation 値を更新して、スキーマファイルを追加します。
    次に示す例では、base-schema-targetNamespace は手順 5 で選択したスキーマのターゲット名前空間で、base-schema.xsd ファイルのパスとファイルの名前です。
     xsi:schemaLocation='base-schema-targetNamespace base-schema
        second-schema-targetNamespace second-schema
        third-schema-targetNamespace third-schema'
    
  9. 変更を保存します。
  10. XML ドキュメントの「ソースエディタ」タブで、内容の追加を開始する位置にカーソルを移動し、開始の小なり括弧 (< ) を入力します。
    コード補完ボックスが開きます。このボックスには、スキーマ要素のスクロールリストがあります。要素のリストは、現在の XML ファイルを制約する XML スキーマファイルに基づいたものになります。
関連項目
XML スキーマで制約された XML インスタンスドキュメントでのコード補完の使用について
XML スキーマツールについて

著作権と商標について