ワークブック: NetBeans Enterprise Pack 5.5 XML スキーマツールのデモ
最終更新日:2006 年 10 月 24 日
このドキュメントは、「NetBeans Enterprise Pack 5.5 XML スキーマツールのデモ」で説明しているアクションの再現に使用できるワークブックです。
NetBeans IDE の操作の詳細については、NetBeans の Web サイトにある「ドキュメント」ページを参照してください。
前提条件
このワークブックは、XML (拡張可能なマーク付け言語) についての知識があるか、XML の経験があることを前提としています。
システム要件
このワークブックでは、『NetBeans Enterprise Pack 5.5 リリースノート』の「システム要件」の項に指定された要件を、システムが満たしていることが前提になります。
ワークブックに必要なソフトウェア
開始する前に、次のソフトウェアをコンピュータにインストールしてください。
- NetBeans IDE 5.5 と NetBeans Enterprise Pack 5.5 (ダウンロード)
- このワークブックでは、インターネットから直接「UBL Order」スキーマを取得します。このワークブックをオフラインで学習する場合は、Java WSDP をダウンロードしてください。
目次
先頭へ
WebApplication プロジェクトの作成
一般に、XML スキーマは Web サービスで使用される型を定義するために使用されるので、ここでは Web プロジェクトを使用してドキュメントを保存します。
注: この手順は、デモには表示されません。
- IDE で、「ファイル」>「新規プロジェクト」を選択します。
- 「カテゴリ」リストで「Web」ノードを選択します。
- 「プロジェクト」リストで、「Web アプリケーション」を選択し、「次へ」をクリックします。
- 「名前と場所」ページの「プロジェクト名」フィールドに、「WebApplication」と入力し、プロジェクトの場所を指定します。
- それ以外のすべてのデフォルト値と設定値を受け入れ、「完了」をクリックします。
これで「プロジェクト」ウィンドウに「WebApplication」というプロジェクトノードが保存され、index.jsp ファイルがソースエディタ内に開かれます。
- ソースエディタで、index.jsp を閉じます。
先頭へ
courier XML スキーマファイルの追加
最初に、パッケージ配布サービスを定義する XML スキーマドキュメントを作成します。
- IDE 内で WebApplication プロジェクトを開きます。
- 「プロジェクト」ウィンドウで、「WebApplication」プロジェクトノードを展開します。
- 「ソースパッケージ」ノードを選択し、右クリックして「新規」>「ファイル/フォルダ」を選択します。
「新規ファイル」ウィザードが開きます。
- 「ファイルの種類を選択」ページの「カテゴリ」リストで「XML」ノードを選択してから、「ファイルの種類」リストで「XML スキーマ」を選択し、「次へ」をクリックします。
- ウィザードの「名前と場所」ページで、「ファイル名」フィールドに「courier」と入力します。
- それ以外のデフォルト値を受け入れ、「完了」をクリックします。
新しいファイル、courier.xsd が XML スキーマエディタのスキーマビューに開かれます。
- ファイルのタブを右クリックし、ポップアップメニューから「ウィンドウを最大化」を選択することにより、スキーマビューを最大化します。
ビューを最大化すると、スキーマの詳細を表示できます。
先頭へ
courier XML スキーマファイルの生成
デザインビューを使用すると、XML スキーマの定義方法の複雑な詳細を知らなくても、スキーマをすばやく生成できます。
- スキーマビューで「デザイン」ボタンをクリックし、デザインビューに切り替えます。
注:「パレット」ウィンドウが表示されない場合は、IDE のメインメニューから「ウィンドウ」>「パレット」を選択します。
- 次のようにして、CourierType という名前の大域複合型を追加します。
- 「パレット」の「XML スキーマコンポーネント」セクションで、「複合型」アイコンをクリックし、それをスキーマデザイン領域の「複合型」ノードの直下までドラッグします。
- 「CourierType」と入力し、Enter キーを押します。
- 次のようにして、name という名前の要素を CourierType 複合型に追加します。
- 「パレット」の「XML コンポーネント」セクションで、「要素」アイコンをクリックし、それを CourierType 複合型の上までドラッグします。
「Sequence」コンポーネントが自動的に追加されます。
- 「name」と入力し、Enter キーを押します。
- 次のようにして、さらに 2 つの要素 (startDate と vehicle) を CourierType 複合型に追加します。
- 「パレット」の「XML コンポーネント」セクションで、「要素」アイコンをクリックし、それを courierType 複合型の上までドラッグします。
- 「startDate」と入力し、Enter キーを押します。
- 「パレット」4の「XML コンポーネント」セクションで、「要素」アイコンをクリックし、それを courierType 複合型の上までドラッグします。
- 「vehicle」と入力し、Enter キーを押します。
- 次のようにして、2 つの属性 (first と last) を name 要素に追加します。
- 「パレット」の「XML コンポーネント」セクションで、属性アイコンをクリックし、それを name 要素の上までドラッグします。
- 「first」と入力し、Enter キーを押します。
- 「パレット」の「XML コンポーネント」セクションで、属性アイコンをクリックし、それを name 要素の上までドラッグします。
- 「last」と入力し、Enter キーを押します。
先頭へ
startDate スキーマコンポーネントの変更
XML スキーマコンポーネントは、名前、属性値、および正規表現を使用して検索できます。検索結果は、移動に便利なように強調表示されます。
- デザインビューで「スキーマ」ボタンをクリックし、スキーマビューに切り替えます。
- スキーマビューで、ツリーボタン
をクリックし、ビューのツリーモードに切り替えます。
- 「検索」ツールバーボタンをクリックします。
IDE のメインメニューから「編集」>「検索」を選択するか Ctrl-F キーを押しても可能です。
スキーマビューの下部に検索バーが表示されます。
- 「検索」ボックスをクリックし、「startDate」と入力して Enter キー押します。
IDE は、一致する (ソース内の) 最初に発生したものを選択します。
- 検索バーで、赤い「x」アイコン
をクリックし、検索バーを閉じます。
- スキーマビューで、「startDate」ノードを右クリックし、ポップアップメニューから「カスタマイズ」を選択します。
「ローカル要素カスタマイザ」ダイアログが開きます。
- 「型」で「既存の型を使用」ラジオボタンを選択し、リスト内で「組み込み型」ノードを展開し、「date」を選択して「了解」をクリックします。
先頭へ
スキーマビューでの courier スキーマコンポーネントの追加
デザインビューの場合と同じように、スキーマビューで新しいスキーマコンポーネントを簡単に作成できます。
- スキーマビューのツリーモードで、「要素」ノードを選択して右クリックし、ポップアップメニューから「追加 要素」を選択します。
「要素」ダイアログが開きます。
- 「名前」フィールドに「courier」と入力します。
- 「型」で「既存の型を使用」ラジオボタンを選択し、リスト内で「複合型」ノードを展開します。
- 「CourierType」を選択し、「了解」をクリックします。
先頭へ
外部 リソースの検出
多くの場合、インターネット上で入手できる既存の XML スキーマを再利用した方が簡単です。この例では、OASIS 組織によって定義された「UBL Order」スキーマを取得します。
注:この項をオフラインで学習する場合は、 Java WSDP を ダウンロードしてください。
- 「出力」ウィンドウが表示されない場合は、「ウィンドウ」>「出力」を選択します。
IDE がリソースを取得すると、「出力」ウィンドウに情報メッセージが表示されます。
- 「プロジェクト」ウィンドウで、「WebApplication」プロジェクトノードを展開し、「ソースパッケージ」ノードを展開します。
- 「ソースパッケージ」ノードを選択し、右クリックして「新規」>「ファイル/フォルダ」を選択します。
- 「新規ファイル」ダイアログの「カテゴリ」の下の XML ノードを選択し、「ファイルの種類」リストで「外部 XML スキーマドキュメント」を選択します。
- 「次へ」をクリックします。
「新規ドキュメントの取り出し」ページが開きます。
- 「リソースの場所を指定」ページで、次の操作を実行します。
- 「URL から」ラジオボタンを選択します。
- 「URL から」ラジオボタンの下にあるテキストフィールドに、http://docs.oasis-open.org/ubl/cd-UBL-1.0/xsd/maindoc/UBL-Order-1.0.xsd と入力します。
この例では、Java WSDP バージョン 2.0 に付属する UBL サンプルスキーマを URL から直接取り出します。
- 「保存先フォルダ」フィールドのデフォルト値を受け入れ、「完了」をクリックします。
「出力」ウィンドウに表示される情報を確認してください。どのファイルがプロジェクトフォルダにコピーされるか、およびエラーがあるかどうかが、「出力」ウィンドウに表示されます。
- ウィンドウのタイトルバーで「閉じる」ボタンをクリックして、「出力」ウィンドウを閉じます。
先頭へ
外部スキーマの参照
ここでは、先ほど取得した外部スキーマファイルを参照するために import を追加します。
- courier.xsd ファイルのスキーマビューで、「参照先スキーマ」ノードを選択して右クリックし、「追加」>「インポート」を選択します。
「インポート」ダイアログが表示されます。
- 「場所」リストで「名前空間別」ノードを展開し、さらに「urn:oasis:names:specification:ubl:schema:xsd:Order-1.0」ノードを展開して「UBL-Order-1.0.xsd」ノードを選択します。
「場所」リストの下の「名前空間」フィールドが自動的に入力され、次の値が入ります。urn:oasis:names:specification:ubl:schema:xsd:Order-1.0。
- 「新規接頭辞」フィールドに「order」と入力して「了解」をクリックします。
スキーマファイルに import が追加されます。
先頭へ
スキーマビューでの delivery スキーマコンポーネントの追加
ここでは、入れ子になった独自の複合型を定義する、もう 1 つの要素を追加します。
- スキーマビューで、「要素」ノードを選択して右クリックし、ポップアップメニューから「追加 要素」を選択します。
「要素」ダイアログが開きます。
- 「名前」フィールドに「delivery」と入力します。
- 「型」で、「インライン複合型」ラジオボタンを選択し、「了解」をクリックします。
先頭へ
要素参照の追加
要素は、ほかの要素への参照から作成できます。それらの参照が、別のスキーマドキュメント内で定義されていてもかまいません。
- スキーマビューで、「delivery」ノードを選択して右クリックし、ポップアップメニューから「追加」>「要素参照」を選択します。
「要素参照」ダイアログが開きます。
- 「参照先スキーマ」ノード >「import」ノード >「要素」ノードを展開します。
- 「Order」ノードを選択し、「了解」をクリックします。
IDE によって要素参照が追加されます。これには、次のラベルが付いています。「Order [1..1](->)」ノード。
- スキーマビューで、「delivery」ノードを選択して右クリックし、ポップアップメニューから「追加」>「要素参照」を選択します。
「要素参照」ダイアログが開きます。
- 「要素」ノードを展開します。
- 「courier (CourierType のインスタンス)」ノードを選択し、「了解」をクリックします。
新しい要素参照がスキーマに追加されます。ラベルは「courier [1..1](->)」です。
先頭へ
スキーマコンポーネントの使用状況の検索
特定のスキーマコンポーネントが定義されている場所を確認するには、「移動」>「定義」コマンドを使用します。また、「使用状況を検索」機能を使用して、UBL-Order-1.0.xsd スキーマファイル内での「Order」スキーマコンポーネントのすべての使用状況を検索します。
- 「Order [1..1](->)」ノードを選択して右クリックし、「移動」>「定義」を選択します。
UBL-Order-1.0.xsd が XML スキーマエディタ内に開かれ、そのスキーマファイル内の「Orde」要素が強調表示されます。
- UBL-Order-1.0.xsd ファイルのスキーマビューで「Orde」ノードを右クリックし、「使用状況を検索」を選択します。
IDE の下部に「XML 使用状況」ウィンドウが表示されます。
- 「XML 使用状況」ウィンドウのツリー区画 (左側の区画) で、「(ローカル要素) ...」ノードをダブルクリックします。
IDE は courier.xsd ファイルのソースビューに移動し、要素参照の定義ブロックの 1 行目を強調表示します。
- ウィンドウのタイトルバーで「閉じる」ボタンをクリックして、「XML の使用状況」ウィンドウを閉じます。
先頭へ
デザインパターンの適用
ここでは、「デザインパターン」ウィザードを使用して XML スキーマファイルを変換します。
- 「プロジェクト」ウィンドウで、「courier.xsd」ノードを選択して右クリックし、ポップアップメニューから「デザインパターンを適用」を選択します。
「デザインパターンの適用」ダイアログが表示されます。
- 「型」で、「型を作成しない」ラジオボタンを選択し、「了解」をクリックします。
これで「サラミの薄切り」パターンがスキーマファイルに適用されます。
先頭へ
作業結果の保存
ここでは、ワークブックの次の部分へ進む前に、作業結果を保存します。
- 「すべてを保存」ツールバーボタンをクリックします。
IDE のメインメニューから「ファイル」>「すべてを保存」を選択する方法もあります。
先頭へ
delivery XML ドキュメントファイルの追加
スキーマがどのように使用されるかを確認するために、XML スキーマに制約される delivery という名前のドキュメントファイルをプロジェクトに追加します。
- 「プロジェクト」ウィンドウで、「WebApplication」プロジェクトノードを展開します。
- 「ソースパッケージ」ノードを展開して「<デフォルトパッケージ>」ノードを右クリックし、「新規」>「ファイル/フォルダ」を選択します。
「新規ファイル」ウィザードが開きます。
- 「ファイルの種類を選択」ページの「カテゴリ」リストで「XML」ノードを選択してから、「ファイルの種類」リストで「XML ドキュメント」を選択し、「次へ」をクリックします。
- 「名前と場所」ページで、「ファイル名」フィールドに「delivery」と入力します。
- それ以外のデフォルト値を受け入れ、「次へ」をクリックします。
- 「ドキュメントの種類を選択」ページで、「XML スキーマで定義されたドキュメント」ラジオボタンを選択し、「次へ」をクリックします。
- 「スキーマオプション」ページで、「Schema URI」フィールドの隣にある「参照」ボタンをクリックします。
- <プロジェクトへのパス>\WebApplication\src\java へ移動し、courier.xsd を選択して「了解」をクリックします。
これで、IDE による「スキーマオプション」ページの各フィールドへの記入が完了しました。
- 「ルート要素」ドロップダウンリストから、「delivery」を選択します。
- 「完了」をクリックします。
この時点で、ソースエディタに delivery.xml ファイル用のタブが表示され、そのタブがアクティブタブになります。
先頭へ
コード補完の使用
ソースエディタに入力するときに、利用可能なスキーマの要素と属性から選択できるプロンプトが表示されます。これにより、時間を節約し、誤入力を減らすことができます。
- delivery.xml ファイルのソースエディタで、カーソルを </delivery> 行のすぐ上に位置付けます。
- 「<」(「より小さい」記号) を入力します。
コード補完ボックスが開きます。
- 「courier」を選択し、Enter キーを押します。
- 閉じ括弧 (>) を入力します。
- コード補完ボックスから「</courier>」を選択し、Enter キーを押します。
- カーソルを <courier> タグと </courier> タグの間に置き、Enter キーを押して行を挿入します。
- 「<」(「より小さい」記号) を入力します。
コード補完ボックスが開きます。
- 「name」を選択し、Enter キーを押します。
- スペースキーを押します。
この時点でコード補完ボックスが開き、name について定義された属性のリストが表示されます。
- 「first」を選択し、Enter キーを押します。
- スペースキーを押します。
コード補完ボックスが開き、name について定義された属性のリストが表示されます。
- 「last」を選択し、Enter キーを押します。
- 「/>」(スラッシュに続けて「より大」記号) を入力し、定義を閉じます。
- 「すべてを保存」ツールバーボタンをクリックします。
IDE のメインメニューから「ファイル」>「すべてを保存」を選択する方法もあります。
先頭へ
schedule WSDL ファイルの追加
XML スキーマは、多くの場合、Web サービスによって使用されます。ここでは、新規 WSDL ファイルウィザードを使用し、XML スキーマファイルに基づいた Web サービスを作成します。
- 「プロジェクト」ウィンドウで、「WebApplication」プロジェクトノードを展開します。
- 「Web ページ」ノードを選択し、右クリックして「新規」>「ファイル/フォルダ」を選択します。
「新規ファイル」ウィザードが開きます。
- 「ファイルの種類を選択」ページの「カテゴリ」リストで「Web サービス」ノードを選択してから、「ファイルの種類」リストで「WSDL」を選択し、「次へ」をクリックします。
- 「名前と場所」ページで、「ファイル名」フィールドに「schedule」と入力します。
- 「XML スキーマファイルをインポート」チェックボックスを選択し、「参照」ボタンをクリックして「src/java/courier.xsd」を選択します。
- 「次へ」をクリックします。
「抽象構成」ページが開きます。
- 「入力」の「メッセージ部分名」列で、part1 を date に変更し、Enter キーを押します。
- 「入力」の「要素または型」列で、省略符号ボタン (...) をクリックします。
「要素または型を選択」ダイアログが開きます。
- 「組み込みスキーマ型」ノードを展開し、「date」ノードを選択して「了解」をクリックします。
この時点で、型は xsd:date です。
- 「出力」の「メッセージ部分名」列で、part1 を confirmed に変更し、Enter キーを押します。
- 「完了」をクリックします。
この時点で、ソースエディタに schedule.wsdl ファイル用のタブが表示され、そのタブがアクティブタブになります。WSDL ビューが、WSDL エディタ内でアクティブビューになります。
先頭へ
schedule WSDL ファイルでの XML スキーマファイルの参照
XML スキーマの中で定義された要素を使用して、WSDL メッセージへの新しい部分を作成できます。これには、組み込み型だけでなく、インポートしたファイル内で定義されている型も指定できます。
- IDE のメインメニューから「ウィンドウ」>「プロパティー」を選択し、「プロパティー」ウィンドウを表示します。
- WSDL ビューの「メッセージ」ノードで、「scheduleOperationRequest」を選択して右クリックし、ポップアップメニューから「追加」>「部分」を選択します。
「part1」というサブノードが追加されます。
- 新しい「part1」ノードを選択し、「プロパティー」ウィンドウで次の操作を実行します。
- 「名前」プロパティーを「customer」に変更します。
- 「要素または型」プロパティーで、省略符号ボタン (...) をクリックします。
「customer [部分] - 要素または型」ダイアログが開きます。
- 「組み込みスキーマ型」ノードを展開し、「組み込みの種類」ノードで「string」ノードを選択して「了解」をクリックします。
この時点で、型は xsd:string です。
- WSDL ビューの「メッセージ」ノードで、「scheduleOperationReply」を選択して右クリックし、ポップアップメニューから「追加」>「部分」を選択します。
「part1」というサブノードが追加されます。
- 新しい「part1」ノードを選択し、「プロパティー」ウィンドウで次の操作を実行します。
- 「名前」プロパティーを「courier」に変更します。
- 「要素または型」プロパティーで、省略符号ボタン (...) をクリックします。
「courier [部分] - 要素または型」ダイアログが開きます。
- 「インラインスキーマ型」>「http://j2ee.netbeans.org/wsdl/schedule」>「参照先スキーマ」>「import」>「要素」の各ノードを順に展開します。
- 「courier」ノードを選択し、「了解」をクリックします。
この時点で、型は ns1:courier です。
先頭へ
妥当性検査の使用
作成したドキュメントが、定義済みの標準に準拠していることを確認するために、ファイルを妥当性検査して警告やエラーがないか調べることができます。問題が検出された場合は、出力にあるハイパーリンクからソースエディタ内の問題のあるコード行へ直接移動できます。
- 「XML の妥当性検査」
ボタンをクリックします。
妥当性検査の結果が「出力」ウィンドウに表示されます。
先頭へ
その他のマニュアル
先頭へ