FeaturesPluginsDocs & SupportCommunityPartners

XML スキーマツール: XML スキーマの解析

XML スキーマツール入門」に戻る

このチュートリアルの目標は、XML スキーマツールで利用できるクエリーを使用して、さまざまな XML スキーマの解析方法を学習することです。

注: アイコンが表示されているところをクリックすると、チュートリアルの中で説明されている手順の詳しい対話型デモを表示できます。

ページの先頭へ


開始する前に

このチュートリアルの解析部分へ進む前に、いくつかの準備作業をする必要があります。次の節の「スキーマコンポーネントの使用状況の検索」に進む前に、必ずこの節の手順を実行してください。

準備作業は次のとおりです。

  1. HybridTypeSportsCarType という 2 つの複合型を追加し、サンプルスキーマ内の複合型を拡張および制限します。
  2. 要素置換を追加します。
  3. スキーマファイルを追加します。

複合型コンポーネント、HybridType および SportsCarType を追加するには、次の手順に従います。

  1. mySchemaPrj が IDE 内に開かれていない場合は、この時点でそれを開き、さらに newLoanApplication スキーマファイルを開きます。
  2. ファイルのタブを右クリックし、ポップアップメニューから「ウィンドウを最大化」を選択することにより、ビューを最大化します。
    ビューを最大化すると、スキーマビューの列ビューにスキーマの詳細を表示できます。
  3. スキーマビューで、列ボタン スキーマビューの列ボタン をクリックし、ビューの列モードにいることを確認します。
  4. newLoanApplication スキーマファイルのスキーマビューで、「複合型」ノードを右クリックし、「追加 複合型」を選択します。
    「複合型」ダイアログが開きます。
  5. 次の操作を行います。
    1. 「名前」フィールドに「HybridType」と入力します。
    2. 「型の定義」の下の「既存の定義を使用」ラジオボタンを選択します。
      ダイアログの下部に、参照を定義するためのオプションが表示されます。
    3. 「大域参照」で、「制限」ラジオボタンを選択し、型の一覧で、「複合型」ノードを展開し、「CarType」ノードを選択します。
      この定義用に追加されるソースコードのプレビューが表示されます。
    4. 「了解」をクリックします。
      新しい複合型のノードが追加されます。ノードのラベルは、「名前」フィールドに入力した名前、HybridType になります。ノードラベルは、次の追加情報も提供します。(CarType の制限)

    デモを表示

  6. newLoanApplication スキーマファイルのスキーマビューで、「複合型」ノードを右クリックし、「追加 複合型」を選択します。
    「複合型」ダイアログが開きます。
  7. 次の操作を行います。
    1. 「名前」フィールドに「SportsCarType」と入力します。
    2. 「型の定義」の下の「既存の定義を使用」ラジオボタンを選択します。
      ダイアログの下部に、参照を定義するためのオプションが表示されます。
    3. 「大域参照」で、「拡張」ラジオボタンを選択し、型のリストで、「複合型」ノードを展開し、「CarType」ノードを選択します。
    4. 「了解」をクリックします。
      新しい複合型のノードが追加されます。ノードのラベルは、「名前」フィールドに入力した名前、SportsCarType になります。ノードラベルは、次の追加情報も提供します。(CarType の拡張)
    5. IDE のメインメニューから、「ファイル」>「すべてを保存」を選択します。

    デモを表示

    スキーマビューに追加した複合型のノード HybridTypeSportsCarType が表示されます。
    注: スキーマ内に派生がある場合は、その派生、この例では HybridType または SportsCarType を選択し、右クリックして「移動」>「定義」を選択することにより、ソース定義へ直接移動できます。

要素置換を追加するには、次の手順に従います。

  1. newLoanApplication スキーマファイルのスキーマビューで、「ソース」ボタンをクリックします。
  2. ソースビューで、ファイルの最後の行、つまりスキーマ定義を終了する行の直前に、次の行を追加します。
    <xs:element name="carLoanApplication" substitutionGroup="autoLoanApplication">
    </xs:element>
    
  3. IDE のメインメニューから、「ファイル」>「すべてを保存」を選択します。

デモを表示

スキーマファイルを追加するには、次の手順に従います。

  1. IDE 内で mySchemaPrj が開かれていない場合は、この時点で開きます。
  2. 「プロジェクト」ウィンドウで、「mySchemaPrj」プロジェクトノードを展開し、「ソースパッケージ」ノードを展開します。
  3. 「<デフォルトパッケージ>」ノードを右クリックし、「新規」>「ファイル/フォルダ」を選択します。
    「新規ファイル」ウィザードが開きます。
  4. 「ファイルの種類を選択」ページの「カテゴリ」リストで「XML」 ノードを選択してから、「ファイルの種類」リストで「XML スキーマ」を選択し、「次へ」をクリックします。
  5. ウィザードの「名前と場所」ページでは、「ファイル名」フィールドに「newLoanHistory」を入力し、ほかのデフォルト値 (フォルダはsrc、ターゲット名前空間は http://xml.netbeans.org/schema/newLoanHistory) はそのままで、「完了」をクリックします。
    「プロジェクト」ウィンドウで、「ソースパッケージ」ノードの下の「<デフォルトパッケージ>」ノードに、この時点で「newLoanHistory.xsd」というサブノードが含まれます。新しく作成したサブノードが選択され、ソースエディタには XML スキーマファイル、newLoanHistory.xsd のタブが含まれます。
  6. スキーマビューで、「ソース」ボタンをクリックし、スキーマファイルのソースビューへ移動します。
  7. ソースビューで、既存の内容を次のサンプルコードに置き換えます。
    <?xml version="1.0" encoding="UTF-8"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                targetNamespace="http://xml.netbeans.org/examples/targetNS"
                xmlns:tns="http://xml.netbeans.org/examples/targetNS"
                xmlns:la="http://xml.netbeans.org/examples/LoanApplication"
                elementFormDefault="qualified">
        <xsd:import namespace="http://xml.netbeans.org/examples/LoanApplication" schemaLocation="newLoanApplication.xsd"/>
        <xsd:complexType name="PriorLoan">
            <xsd:sequence>
                <xsd:element name="Type" type="la:LoanType"></xsd:element>
                <xsd:element name="State" type="la:StateType"></xsd:element>
            </xsd:sequence>
        </xsd:complexType>
        <xsd:element name="History" type="tns:PriorLoan"></xsd:element>
    </xsd:schema>
    
  8. IDE のメインメニューから、「ファイル」>「すべてを保存」を選択します。

デモを表示

ページの先頭へ


スキーマコンポーネントの使用状況の検索

この手順では、「使用状況を検索」コマンドを使用してプロジェクト内の 2 つの XML スキーマファイルに含まれるコンポーネントの使用状況を表示します。

注: 「使用状況を検索」コマンドは、ある 1 つのコンポーネントについて、現在の IDE プロジェクトに含まれるすべての XML スキーマファイル、WSDL ファイル、および BPEL ファイル内での使用状況を表示します。

スキーマコンポーネントの使用状況を検索するには、次の手順に従います。

  1. mySchemaPrj が IDE 内に開かれていない場合は、この時点でそれを開き、さらに newLoanApplication スキーマファイルを開きます。
  2. ファイルのタブを右クリックし、ポップアップメニューから「ウィンドウを最大化」を選択することにより、ビューを最大化します。
    ビューを最大化すると、スキーマビューの列ビューにスキーマの詳細を表示できます。
  3. スキーマビューで、列ボタン スキーマビューの列ボタン をクリックし、ビューの列モードにいることを確認します。
  4. スキーマビューの最初の列で、「複合型」ノードを選択します。
  5. 2 番目の列で、「AddressType」ノードを選択して右クリックし、ポップアップメニューから「使用状況を検索」を選択します。
    IDE の下部に「XML の使用状況」ウィンドウが表示されます。「XML の使用状況」ウィンドウには 2 つの区画があり、各区画は独自のツールバーを備えています。
    • 左区画、つまり使用状況区画には、AddressType の使用状況を示すツリーが表示されます。
      この区画のツールバーボタンを使用すると、区画内の情報の再表示、ツリー内のノードの展開と縮小、および検索した使用状況間の巡回を行うことができます。この区画の「再表示」ボタンをクリックすると、両方の区画にあるデータが再表示されます。
    • 右区画、つまりグラフ区画には、使用状況がグラフィカルに表示されます。ウィンドウのサイズを変更するかノードを区画の外へドラッグした場合、この区画の「レイアウト」ツールバーボタン を使用して、区画内のグラフを再表示できます。

    「XML の使用状況」ウィンドウ (表示を拡大)

    生産性向上のためのヒント
    • グラフ区画では、スキーマコンポーネント (クエリー先のコンポーネントを表しているノードを除く) を右クリックして「移動」メニューから選択肢を選ぶと、ソースビュー、スキーマビュー、またはデザインビューの中で、そのコンポーネントまで直接移動することができます。スキーマコンポーネントが別のスキーマコンポーネントの拡張または制限である場合は、「移動」メニューから「定義」を選択することにより、XML スキーマエディタのアクティブビューで、拡張元または制限元のスキーマコンポーネントへ直接移動できます。
    • 次の説明に従って、「XML リファクタリング」ウィンドウのグラフ区画でズーム、パン、およびドラッグを行うことができます。
      • 縮小するには、次の手順に従います。グラフィックを右クリックして上にドラッグします。
      • 拡大するには、次の手順に従います。グラフィックを右クリックして下にドラッグします。
      • パンするには、次の手順に従います。クリックして任意の方向にドラッグします。
      • ノードをドラッグするには、次の手順に従います。ノードをクリックしてドラッグします。
    • ノードを表示領域の外までドラッグした場合は、次のいずれかの方法で表示領域内に戻すことができます。
      • ノードが表示領域に再び表示されるまで、ノードの方向にパンします。
      • ノードが表示領域に表示されるまで縮小します。
      • 「XML の使用状況」ウィンドウのグラフ区画のツールバーにある「レイアウト」ボタン をクリックします。
  6. LoanType の使用状況を検索するには、次の操作を実行します。
    1. newLoanApplication スキーマファイルのスキーマビューの最初の列で、「単純型」ノードを選択します。
    2. ビューの 2 番目の列で、「LoanType」ノードを選択して右クリックし、ポップアップメニューから「使用状況を検索」を選択します。
      「XML の使用状況」ウィンドウがまだ開かれていた場合は、IDE 下部の「XML の使用状況」ウィンドウに「XML 使用状況の検索」タブが開かれます。結果は、2 つのファイル群と、それらのファイル群に含まれるファイルノードと使用状況ノードを表示します。それらのファイル群をダブルクリックするとファイル群を展開または縮小でき、グラフ区画内でファイル群をドラッグすると、ファイル群とその内容を移動することができます。
      下に、newLoanHistory.xsd ファイル群が展開され、newLoanApplication.xsd ファイル群が縮小されているグラフ区画の例を示します。

      2 つのファイルノードがある XML 使用状況ウィンドウのグラフ区画

  7. 「XML の使用状況」ウィンドウを閉じるために、ウィンドウのタイトルバーで「閉じる」ボタンをクリックします。

デモを表示

ページの先頭へ


使用されていない大域コンポーネントの検索

この手順では、クエリーを使用して、サンプルのローン申請スキーマの中から、mySchemaPrj プロジェクト内のどのスキーマファイルにも使用されていない大域コンポーネントを検索します。

このクエリーを使用すると、スキーマを単一のルート要素 (ベニス風ブラインドデザインパターン) に向けて再構成するときに、最上位の大域要素を識別できます。

使用されていない大域コンポーネントを検索するには、次の手順に従います。

  1. IDE 内で mySchemaPrj が開かれていない場合は、この時点で開きます。
  2. 「プロジェクト」ウィンドウで、「newLoanApplication.xsd」ファイルノードを選択し、右クリックして「クエリー」>「使われていないコンポーネントを検索」を選択します。
    大域要素を除外できるダイアログが表示されます。
  3. そのダイアログで、「大域要素を除外」チェックボックスを選択し、「了解」をクリックします。
    「XML スキーマのクエリー」ウィンドウが開き、結果ツリーが表示されます。このクエリーでは、5 つの使用されていないコンポーネントが見つかりました。次の図に示すように、BorrowHybridTypeInternationalAddressType、および SportsCarType が「複合型」ノードの下に表示され、Lend が「単純型」ノードの下に表示されます。
    ステータスバーには、クエリーの結果に関する情報も表示されます。

    使用されていない大域要素を検索、大域要素を除外、5 つを検出

  4. 「プロジェクト」ウィンドウで、「newLoanApplication.xsd」ファイルノードを選択し、右クリックして「クエリー」>「使われていないコンポーネントを検索」を選択します。
    大域要素を除外できるダイアログが表示されます。
  5. そのダイアログで、「大域要素を除外」チェックボックスが選択されていないことを確認し、「了解」をクリックします。
    「XML スキーマのクエリー」ウィンドウの「使用なしを検索」タブが開かれ、クエリーの結果が表示されます。結果に「要素」ノードと 1 つの子ノード、「carLoanApplication」が含まれたことを確認してください。

    使用されていない大域要素を検索、大域要素を包含、6 つを検出

  6. 「XML スキーマのクエリー」ウィンドウの「使用なしを検索」タブで、「carLoanApplication」 ノードを選択し、右クリックして「ソースへ」を選択します。
    ソースビューが開かれ、カーソルが carLoanApplication 要素のブロックの始めに位置付けられます。
  7. 「XML スキーマのクエリー」ウィンドウを閉じるために、ウィンドウのタイトルバーで「閉じる」ボタンをクリックします。

デモを表示

ページの先頭へ


複合型の派生の検索

この手順では、クエリーを使用して、このチュートリアルの準備段階で作成した派生を検索します。

大域複合型の派生を検索するには、次の手順に従います。

  1. 「プロジェクト」ウィンドウで、「newLoanApplication.xsd」ファイルノードを選択し、右クリックして「クエリー」>「複合型の派生を検索」を選択します。
    「派生を検索」ダイアログが表示されます。
  2. 複合型のリストで、CarType を選択し、「了解」をクリックします。
    「XML スキーマクエリー」が開き、クエリーの結果が表示されます。CarType 用に作成したばかりの派生がウィンドウに表示されます。
    ステータスバーには、結果に関する次のような追加情報も表示されます。1 個の拡張が見つかりました と CarType に対する (1) 個の制限。

    「XML スキーマのクエリー」ウィンドウ内の派生

  3. 「XML スキーマのクエリー」ウィンドウを閉じるために、ウィンドウのタイトルバーで「閉じる」ボタンをクリックします。

デモを表示

ページの先頭へ


置換グループの検索

この手順では、クエリーを使用して、このチュートリアルの準備段階で作成した要素置換を検索します。

置換グループを検索するには、次の手順に従います。

  1. 「プロジェクト」ウィンドウで、「newLoanApplication.xsd」ファイルノードを選択し、右クリックして「クエリー」>「置換グループを検索」を選択します。
    作成したばかりの置換が「XML スキーマのクエリー」ウィンドウに表示され、ステータスバーに結果情報 (1 個の置換グループが見つかりました) も示されます。この例では、autoLoanApplication はヘッド要素であり、carLoanApplicationautoLoanApplication の代わりに使用できます。

    「XML スキーマのクエリー」ウィンドウ内の置換グループ

  2. 「XML スキーマのクエリー」ウィンドウを閉じるために、ウィンドウのタイトルバーで「閉じる」ボタンをクリックします。

デモを表示

ページの先頭へ


次の手順

外部 XML リソースの取り出しと参照」の手順では、外部リソースを IDE プロジェクトへ取り出し、それらのリソースを XML スキーマの中で参照する方法を示します。



ページの先頭へ


Bookmark this page

del.icio.us furl simpy slashdot technorati digg
Companion
Projects:
MySQL Database Server   Open JDK: an Open SourceJDK   GlassFish Community: an Open Source Application Server    Mobile & Embedded Community    Open Solaris   java.net - The Source for Java Technology Collaboration   Open ESB - The Open Enterprise Service Bus Powered by