この章では、JDeveloperによって提供されるXMLツールおよびエディタを使用してアプリケーションを作成および更新する方法について説明します。
この章では、次の項目について説明します。
JDeveloperには、アプリケーション内でXMLファイルを使用するために必要なツールが用意されています。XMLソース・エディタ、XMLバリデータ、およびXMLスキーマを使用するためのツールがあります。また、JDeveloperを使用してXSQLファイルを作成および編集することもできます。これには、アプリケーション内で多くの各種タイプのXMLファイルを作成および編集できる強力なXML編集環境が用意されています。
JDeveloperを使用すると、XMLスキーマを簡単に開発できます。スキーマ文書を最初から作成したり、スキーマをXML文書から(またはこの逆から)生成できます。スキーマを作成したら、XSDビジュアル・エディタおよびコンポーネント・パレットを使用して要素を管理します。詳細は、第15.5項「XMLスキーマの使用」を参照してください。
また、XSQLファイルを最初から作成することも、既存のファイルを編集することもできます。JDeveloperには、XSQLサーブレットを使用してデータ・バインドされたXMLページの作成を簡略化する完全な開発環境が用意されています。詳細は、第15.6項「XSQLサーブレットを使用したデータバインドXMLページの開発」を参照してください。
JDeveloperには、XMLファイルを使用するために3つの異なるエディタが用意されています。
XMLエディタは、XSQL、XSL、XSD、XHTML、およびWSDLファイルを含むXML言語の編集に特化したスキーマ・ドリブンのエディタです。
概要エディタを使用すると、XMLファイルを表示および編集できます。これには、フィルタ、セキュリティおよびリファレンスなどの開発関連のXMLファイルの各側面が視覚的に表示されます。詳細は、第11章「Webページ・ツールを使用したアプリケーションの開発」を参照してください。
XSDビジュアル・エディタを使用すると、XMLスキーマを作成または編集できます。これには、XML文書の構造、内容、およびセマンティクスが表示されます。詳細は、第15.5.3項「XSDビジュアル・エディタでのXSDコンポーネント表示の理解」を参照してください。
表15-1は、XMLファイルを使用する際に使用可能な編集機能の概要です。
表15-1 XML編集機能
機能 | 用途 |
---|---|
コード・インサイト |
入力時に、 |
XML検証 |
開いているXMLソース・エディタ・ウィンドウ、またはアプリケーション・ナビゲータで、XMLファイルを右クリックして「XMLの検証」を選択します。「XMLの検証」コマンドは、XMLファイルで定義されているJDeveloperに登録されているスキーマに対してXMLを検証します。スキーマをJDeveloperに登録するには、「ツール」→「設定」→「XMLスキーマ」を選択します。XMLファイルでXMLネームスペースが定義されていない場合、ポップアップ・メニューのこのコマンドは使用できません。 |
クイック・フォーム・チェック |
ファイルの整形式をチェックするには、XMLファイルを右クリックして「メイク」を選択します。 |
XMLスキーマ・プリファレンス |
「プリファレンス」ダイアログの「XMLスキーマ」ページのオプションを使用して、現在登録されているすべてのXMLスキーマの表示、その他のネームスペースおよび要素のサポートのための新規スキーマの追加、ユーザー定義スキーマの削除、およびメモリーからのスキーマのアンロードを実行します。 「プリファレンス」ダイアログにアクセスするには、「ツール」→「プリファレンス」→「XMLスキーマ」の順に選択します。 |
XMLプリファレンス |
これらの機能は、XMLのプリファレンス・ページでカスタマイズできます。「ツール」→「プリファレンス」→「コード・エディタ」→「XMLおよびJSP/HTML」の順に選択し、XMLプリファレンスを表示します。 「必須属性の自動挿入」が選択されている場合、要素の必須属性も挿入されます。 「終了タグの自動補完」が選択されている場合、開始タグを閉じると終了タグが自動的に挿入されます。たとえば、 |
コンポーネント・パレット |
「表示」→「コンポーネント・パレット」を選択してパレットを開き、ドロップダウン・リストから使用可能なページを1つ選択できます。たとえば、XSDファイルを編集している場合は、パレットのXMLスキーマ・ページから要素を選択できます。 |
プロパティ・インスペクタ |
プロパティ・インスペクタには、ファイルの要素の属性が表示されます。プロパティ・インスペクタで属性の値を編集し、ファイルを更新します。 |
「構造」ウィンドウ |
ファイルの要素は、構造ウィンドウに階層化されて表示されます。このウィンドウには、入力および編集の際に検出されたXML構文エラーも表示されます。要素またはエラーをダブルクリックすると、XMLエディタで編集できます。 |
XMLの検証 |
開いているXMLエディタ・ウィンドウ、またはアプリケーション・ナビゲータで、XMLファイルを右クリックして「XMLの検証」を選択します。このコマンドを選択すると、XMLファイルで定義されたスキーマに基づいてXMLが検証されます。XML制約および定義は検証されますが、XSDは検証されません。XMLファイルでXMLネームスペースが定義されていない場合、コンテキスト・メニューのこのコマンドは使用できません。 |
[F2]キー |
XMLスキーマを作成した後、「構造」ウィンドウで要素を選択し、[F2]を押します。これで、要素のフォーカスはXMLデザイン・エディタに設定されます。要素の新規テキストはXMLデザイン・エディタに自動的に入力できます。 |
属性の展開/縮小 |
complexType要素の下に表示される属性を展開または縮小できます。これは、要素の下に表示される属性のリストが大きくなる場合があるため便利な機能です。 |
表15-2に、XMLエディタのツールバーに表示されるアイコンを示します。
表15-2 XMLエディタのツールバーのアイコン
アイコン | 名前 | 説明 |
---|---|---|
|
検索( |
XMLエディタに検索テキストを入力します。下矢印をクリックすると、追加パラメータ(大/小文字を区別する検索を実行する場合は「大/小文字の区別」、完全に一致する単語のみを検索する場合は「完全一致」、一致する場所を示すためにシェーディングを使用する場合は「発生を強調表示」など)を表示して設定できます。 |
|
次を検索( |
指定したパラメータに一致する次の箇所をファイル内で検索する場合にクリックします。 |
|
前を検索( |
指定したパラメータに一致する前の箇所をファイル内で検索する場合にクリックします。 |
新規ギャラリには、表15-3に示すように、XMLファイル・タイプの様々なオプションが用意されています。新規XMLファイルを作成するには、「ファイル」メニュー→「新規」→「一般」→「XML」を選択します。
表15-3 XMLファイル・タイプ
ファイル・タイプ | 説明 |
---|---|
XML文書 |
上部に |
XMLスキーマからのXML文書 |
既存のXMLスキーマからXML文書を生成します。 |
XMLローカライゼーション・ファイル(XLIFF) |
.xlf拡張子付きのXMLベースのローカライゼーション・ファイルを作成します。詳細は、第15.3.1項「XMLを使用したローカライズ」を参照してください。 |
XMLスキーマからのXML文書 |
XMLスキーマからXML文書を生成します。 |
XQueryファイル |
.xq拡張子付きのXQueryファイルを作成します。詳細は、第15.4.2項「XMLを使用したXQueryの使用」を参照してください。 |
XSLマップ |
.xsl拡張子付きのXSLマップ・ファイルを作成します。 |
XSLスタイルシートからのXSLマップ |
XSLスタイルシートから.xsl拡張子付きのXSLマップ・ファイルを作成します。 |
XSLスタイルシート |
.xsl拡張子付きのXSLスタイルシートを作成します。詳細は、第15.6.12項「XSQLファイルからのXMLスタイルシートの作成方法」を参照してください。 |
XSQLファイル |
.xsql拡張子付きのXSQLファイルを作成します。詳細は、第15.6.2項「XSQLファイルの作成方法」を参照してください。 |
JDeveloperには、XMLベースのXLIFFテクノロジに基づいてアプリケーションに対する完全なローカライゼーションをサポートするツールがあります。XLIFFは、アプリケーションを国際化する際に翻訳者およびベンダーによって使用されるデータを保持するタグおよび属性を提供することにより、完全なローカライゼーション・プロセスをサポートしています。
新規XMLFFファイルは、JDeveloperの新規ギャラリでXMLノードの下に作成します。
新規XLIFFファイルを作成するには、次のようにします。
「ファイル」メニュー→「新規」→「一般」→「XML」→XMLローカライゼーション・ファイルを選択します。
XLIFFの詳細は、OASISオープン標準のWebサイト(http://www.oasis-open.org/home/index.php
)を参照してください。
XLIFFファイルの主な要素は、trans-unit要素です。これらの要素には、ローカライゼーション・テキストとその翻訳が格納されます。これらの要素は、セグメント(通常は、独立して適切に翻訳できるソース・ファイル内のセンテンス)を表します。trans-unit要素には、source、target、alt-trans、およびいくつかの他の要素が含まれます。
この他にも、レビュー・コメント、個別文字列の翻訳ステータス、およびソース・センテンスの文字数などのメトリック用の要素があります。XLIFFファイルは、1つ以上のファイル要素で構成されます。これらにはそれぞれ、ヘッダー・セクションと本体セクションがあります。ヘッダーには、連絡先情報、プロジェクト・フェーズ、参考資料へのポインタ、およびスケルトン・ファイル上の情報などのプロジェクト・データが含まれます。
JDeveloperでは、リソース・バンドルを使用して、XLIFFファイルを含むすべてのローカライゼーション情報を保持します。JSFページのコンテンツを作成すると、リソース・バンドルはこのプロジェクト内で自動的に作成されます。
「設定」ダイアログでXMLスキーマ・ページのオプションを使用して、現在登録されているすべてのXMLスキーマの表示、その他の名前空間と要素をサポートするための新しいスキーマの追加、ユーザー定義のスキーマの削除、およびスキーマのメモリーからの削除を行います。
XMLスキーマをインポートおよび登録するには、次のようにします。
メイン・メニューから、「ツール」→「プリファレンス」を選択します。
「XMLスキーマ」ノードを選択します。
「追加」をクリックし「スキーマの追加」ダイアログを開きます。このダイアログで、新しいスキーマを指定してユーザー・スキーマ・リストに追加します。
追加するXMLスキーマ・ファイルの名前と場所を「ファイルシステムもしくはURLからスキーマを追加」フィールドに入力します。
ファイル拡張子を「拡張子」フィールドに入力し、特定のファイル・タイプに対してスキーマを登録します。JDeveloperでは、この拡張子を使用してメモリーにスキーマを効率的にロードし、スキーマ内の項目に基づいて自動生成したコンポーネント・パレット・ページを表示します。
「OK」をクリックします。
スキーマの追加時にJDeveloperによる自動検証が行われます。
新しいスキーマが「ユーザー定義のXMLスキーマ」リストに追加されたかどうかを確認して「OK」をクリックします。
ヒント: 「削除」ボタンで削除できるのは、ユーザー定義のスキーマのみです。 スキーマが変更された場合は、「キャッシュのクリア」ボタンを使用して、現在ロードされているすべてのスキーマをメモリーから削除する必要があります。その後、変更されたスキーマを含むすべての必要なスキーマが再ロードされます。 |
JDeveloperのコンポーネント・パレットにページを追加して、登録済のスキーマから要素を組み込んだり、既存のページに要素を追加することができます。パレットに要素を追加すると、パレットから要素を選択して編集中にXMLファイルに挿入できるようになります。
コンポーネント・パレットにXML要素を追加するには、次のようにします。
メイン・メニューから、「ツール」→「パレットの設定」を選択して「コンポーネント・パレットの設定」ダイアログを開きます。
新規のページを追加しない場合は、ステップ4に進みます。
「ページ」リストの下の「追加」をクリックし、「新規パレット・ページ」ダイアログを開きます。
「新規パレット・ページ」ダイアログで、新規ページの名前を入力し、ドロップダウン・リストから適切なタイプを選択して「OK」をクリックします。
「コンポーネント・パレットの設定」ダイアログの「ページ」リストの最下部に、新しいページ名が追加されます。
「ページ」リストで新規ページ名を選択し、「コンポーネント」リストの下の「追加」をクリックして「XML要素」ダイアログを開きます。
「XML要素」ダイアログに「登録済のスキーマ」が表示されます。
該当するスキーマ・ノードを開き、パレットに追加可能な要素を表示します。
要素を1つずつ追加するには、ツリーでその要素を選択します。複数の要素をまとめて追加するには、[Ctrl]または[Shift]を押しながらクリックしてそれらの要素を選択します。次に、「OK」をクリックします。
「OK」をクリックする前に、「デフォルト・アイコンの使用」または「アイコンの選択」をクリックし、パレット上で個々の要素に表示するアイコンを選択することもできます。
XML要素を追加した後、「OK」をクリックして「コンポーネント・パレットの設定」ダイアログを閉じます。
パレットのドロップダウン・リストに、追加したページ名が表示されます。デフォルトのアイコンを受け入れた場合、追加したタグはすべて山カッコ(<>)付きで表示されます。パレットに要素名が表示されない場合は、パレット内を右クリックして「一覧で表示」を選択します。
JDeveloperでは、JAXB (Java Architecture for XML Binding)を使用して、XMLスキーマからJavaクラスを生成できます。JAXBを使用すると、XMLを知らなくてもXMLデータおよび処理機能をJavaアプリケーションに簡単に組み込むことができます。必要な注釈を含むJAXB 1.0または2.0コンテンツ・モデルをXMLスキーマから生成できます。
XMLスキーマに対してJAXBバインディング・コンパイラを実行すると、JAXBパッケージ、クラスおよびインタフェースが生成されます。生成されたJAXBパッケージおよびJAXBユーティリティ・パッケージをバインディング・フレームワークで使用すると、XMLコンテンツをアンマーシャリング、マーシャリングおよび検証できます。
JAXBを使用してXMLスキーマからJavaクラスを生成するには、次のようにします。
メイン・メニューから「ファイル」→「新規」→「ビジネス層」→「TopLink/JPA」を選択し、JAXB 1.0またはXMLスキーマからの2.0コンテンツ・モデルを選択し、コンパイル・ダイアログを開きます。
スキーマ・ファイルおよび必要に応じて使用するJAXBカスタマイズ・ファイル、および生成されたクラスの追加先のパッケージを選択します。
JAXBパッケージと生成されたクラスがApplication Resourcesフォルダに追加されます。
JDeveloperのXMLソース・エディタは、XSD、WSDL、XSQL、XHTMLおよびXSLファイルなど、XML言語の編集に特化したスキーマ・ドリブンのエディタです。
XMLソース・エディタでXMLファイルを編集するには、次のようにします。
ナビゲータで、ファイルを右クリックして「開く」を選択します。
デフォルトで開かれていない場合、このファイルの「ソース」タブをクリックします。
入力時に、左山カッコ(<)を入力してから時間を置くか、(デフォルトのキー割当てを使用している場合) [Ctrl]キーを押しながら[Space]キーを押すと、コード・インサイトを起動できます。コード・インサイトには、スキーマに基づいて有効な要素がリスト表示されます。
要素を選択した後、空白を入力してから間をおくか、[Ctrl]キーを押しながら[Space]キーを押し、選択可能な属性のリストを表示します。属性値に対する左引用符を入力すると、ヒント・インサイトで必要な値の型が表示されます。
ヒント: コンポーネント・パレットを使用してXMLドキュメントを編集するには、「表示」→「コンポーネント・パレット」を選択してパレットを開き、ドロップダウン・リストから使用可能なページのいずれかを選択します。次に、そのページから要素を選択します。 |
XMLエディタでXMLファイルを編集する場合、2つの編集オプションを設定できます。
XMLエディタの編集オプションをカスタマイズするには、次のようにします。
「ツール」→「プリファレンス」を選択します。
「コード・エディタ」ノードを開きます。
「XML」ノードを選択します。
「XML」ノードを選択します。「XML」プリファレンス・ページで、「必須属性の自動挿入」または「終了タグの自動補完」を選択して、適切なオプションを有効にします。
「OK」をクリックします。
JDeveloperでXMLベースのXQueryファイルを作成および編集できます。XQueryには、XML文書またはXMLとして表示可能な任意のデータソース(リレーショナル・データベースやOfficeドキュメントなど)からデータを抽出して操作するための手段が用意されています。
新規XQueryファイルは、JDeveloperの新規ギャラリでXMLノードの下に作成します。
新規XQueryファイルを作成するには、次のようにします。
「ファイル」メニュー→「新規」→「一般」→「XML」→「XQueryファイル」を選択します。
XQueryの詳細は、W3CのWebサイト(http://www.w3.org/TR/xquery/
)を参照してください。
JDeveloperには、XML文書の構造、内容およびセマンティクスが視覚的に表示されるXSDビジュアル・エディタが用意されています。
XSDビジュアル・エディタを使用して、XMLスキーマの属性を作成し、プロパティおよびファセットを設定できます。図15-1は、XSDビジュアル・エディタの「設計」タブ内のXMLスキーマの例を示しています。
属性エディタでattribute2
の属性を編集できます。これは、図15-1ではunion
要素として表示されています。このエディタでは、次を実行できます。
要素の下にある使用可能な属性をすべて表示します。詳細の表示と非表示を切り替えるには、属性の横にあるプラスまたはマイナス記号をクリックします。
属性ノード内の属性表示のファセットおよびタイプ詳細をすべて表示します。
属性ノードを右クリックしたときにデフォルトの「中に挿入」メニューを有効なスキーマ・コンポーネント(union
など)とともに表示します。
内部の属性ノードを展開し、listやunionなどの子ノードが含まれるサブツリーを表示します。
XSDビジュアル・エディタでXMLスキーマを作成すると、「設計」タブ内のXMLソースが自動的に更新されるとともに、「構造」ウィンドウの内容が更新されます。例15-1には、図15-1に表示されているexample.xsd
ファイルのソースが含まれます。
例15-1 XMLソース
<?xml version="1.0" encoding="windows-1252" ?> xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.example.org" targetNamespace="http://www.example.org" <elementFormDefault="qualified"> <xsd:complexType name="UnionTest"> <xsd:sequence> <xsd:element name="element1"> <xsd:complexType> <xsd:attribute name="attribute1"> </xsd:attribute> </xsd:complexType> </xsd:element> <xsd:element name="element2"> <xsd:complexType> <xsd:attribute name="attribute2"> <xsd:simpleType> <xsd:restriction> <xsd:simpleType> <xsd:union/> </xsd:simpleType> <xsd:pattern value="abcd"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:schema>
JDeveloper XSDビジュアル・エディタには、XML文書の構造、内容およびセマンティクスが視覚的に表示されます。XSDビジュアル・エディタを使用して、新しいXMLスキーマを記述するか、既存のXMLスキーマを編集します。
エディタでコンポーネントまたは属性を選択すると、選択項目が青くハイライト表示されます。図15-2で選択されているsimpleType
コンポーネントは、単純型を定義しています。この要素を使用して、属性またはテキストのみのコンポーネントの値に関する制約と情報を指定します。ここでは、string型を制限しています。
XMLスキーマ・コンポーネントは、図15-3に示すように、XSDファイルの上部に表示されます。要素を右クリックして「プロパティ」を選択すると、スキーマ・ネームスペースを構成するためのダイアログが表示されます。
choiceコンポーネントでは、図15-4に示すように、コンテナ・コンポーネント内に存在する<choice>宣言に含まれているコンポーネントのいずれか1つのみが許可されます。親の選択肢から複数の項目を使用するには、属性maxOccurs
を>1に設定します。
図15-6に示すsequenceコンポーネントでは、子コンポーネントを順番に表示することを指定します。各子コンポーネントは、0回以上何度でも出現できます。
図15-7に示すカーディナリティの例では、コンポーネントは次の属性で表示されます。
必須コンポーネント(minOccurs=">0")は、実線で表示されます。
オプション・コンポーネント(minOccurs="0")は、点線で表示されます。
無限コンポーネント(maxOccurs="unbounded")は、コンポーネント・スタック数に無限大の記号が表示されます。複数回出現する可能性のあるコンポーネントは、コンポーネントのスタックとして表示されます。コンポーネントの左側の数では、コロンの前の数がそのコンポーネントの最低出現回数(minOccurs)を示し、コロンの後の数がそのコンポーネントの最高出現回数(maxOccurs)を示します。次の図では、最高出現回数が無限のコンポーネントに無限大の記号が表示されています。
コンポーネントの範囲は、コンポーネント・スタック数で示されます。次の図のコンポーネントの場合、インスタンス文書内に少なくとも2回出現しますが、最高で7回となります。
図15-8のcomplexTypeコンポーネントは、ベース型を拡張したもので、ベース型から属性と子を継承しています。黄色の背景色は、スキーマの別の部分で定義されている(complexTypeコンポーネントの下にある)baseTypeへの参照を示しています。コンポーネント属性は、次のように表示されます。
継承属性には、四角い記号が付きます。
オプション属性には、四角い記号が付きます。
必須属性には、オレンジ色のアスタリスクが付きます。
禁止属性には、オレンジ色のXが付きます。
属性グループ・コンポーネントは、一連の属性宣言をグループ化し、これらを複合型の定義にグループとして組み込めるようにします。
図15-9には、3つの属性グループが表示されています。
複数のattributeGroupsがある要素をスキーマに追加する場合、要素の属性をクリックしてドロップダウン・リストから選択することにより、要素の1つ以上のattributeGroupsを選択して追加できます。
unionコンポーネントでは、指定された単純データ型の値のコレクション(共用体)として単純型を定義します。図15-10では、unionは、iで始まる文字列すべてを表しています。
listコンポーネントでは、指定したデータ型の値のリストとして単純型のコンポーネントを定義します。図15-11では、このコンポーネントは、一連のshortコンポーネントの値オブジェクトを表しています。
新規ギャラリのXMLウィザードを使用すると、業界標準のW3C XMLスキーマ(.xsd
)をXML (.xml
)文書から簡単に生成できます。逆に、XML文書をXMLスキーマから生成することもできます。
XMLスキーマをXML文書から生成するには、次のようにします。
「ファイル」メニュー→「新規」→「一般」→「XML」→「XMLドキュメントからのXMLスキーマ」を選択します。
指示に従って情報を入力します。
XML文書をXMLスキーマから生成するには、次のようにします。
「ファイル」メニュー→「新規」→「一般」→「XML」→「XMLスキーマからXMLドキュメント」を選択します。
指示に従って情報を入力します。
XMLスキーマ文書(XSD)ファイルをDTD (Document Type Definition)ファイルから生成できます。
XSDファイルをDTDから生成するには、次のようにします。
メイン・メニューで、「ツール」をクリックします。
「ツール」メニューで、「DTDのXSDへの変換」をクリックします。
編集するスキーマ・ファイル(.xsd
)は、XSDビジュアル・エディタまたはXMLソース・エディタで開きます。デフォルトでは、新しいスキーマ・ファイルは、XSDビジュアル・エディタでフォーカスのある状態で開かれます。アプリケーション・ナビゲータでファイルをダブルクリックすると、デフォルトのエディタが開くか、「設計」タブで前面に表示されます。「ソース」タブをクリックすると、XMLソース・エディタでファイルが開きます。いずれかのエディタで加えた変更は、もう一方のエディタに自動的に反映されます。
スキーマ・ファイル(.xsd
)は、ビジュアル・エディタとソース・エディタで同時に編集できます。同時に編集するには、2つのエディタの一方でページを開き、分割線を使用して他方のエディタでもう1つのページ・ビューを開きます。
2つのエディタにスキーマ・ファイルを表示するには、次のようにします。
ファイルを水平方向に分割するには、垂直スクロール・バーのすぐ上(ウィンドウの右上隅)でスプリッタをクリックし、下にドラッグします。
ファイルを垂直方向に分割するには、水平スクロール・バーのすぐ右(ウィンドウの右下隅)でスプリッタをクリックし、左にドラッグします。
XSDビジュアル・エディタの「設計」タブはイメージとして作成できます。これにより、このイメージをファイルまたは出力として他のユーザーと共有できます。
サポートされているイメージ・フォーマットは、.svg
、.svgz
、.jpg
および.png
です。
アプリケーション・ナビゲータで、XSDビジュアル・エディタに表示する.xsd
ファイルをダブルクリックします。
XSDビジュアル・エディタで「設計」タブをクリックします。
図15-12に示すような.xsdファイルの設計ビューが表示されます。
「設計」タブの任意の場所を右クリックし、「ダイアグラムの公開」を選択します。
名前、ダイアグラムを保存する場所のパス、および使用するイメージ・タイプを入力します。
注意: 保存しようとするダイアグラムが大きすぎる場合、イメージを XSDビジュアル・エディタ内でノードを右クリックすると、現在のノードとその子ノードのみがイメージとして保存されます。 |
XSDビジュアル・エディタでは、グラブ・スクロール操作を使用して、スクロールバー付きで表示されているXMLスキーマ内を簡単に移動できます。グラブ・スクロールでは、小さな手の形のカーソルを使用してXMLスキーマ・ページをつかみ、エディタ・ウィンドウ内部でドラッグします。
グラブ・スクロールを使用してXMLスキーマ内を移動するには、次のようにします。
XSDビジュアル・エディタで、[Space]を押したままの状態にします。
カーソルが、開いた手の形に変化します。
マウスの左ボタンを押したままの状態にします。
手が閉じて、XMLスキーマ・ページをつかみます。
マウスを使用して、エディタ・ウィンドウ内部でXMLスキーマ・ページを移動します。
マウスの左ボタンを放すと、XMLスキーマ・ページも放れます。
グラブ・スクロールを終了するには、[Space]を放します。
XSDビジュアル・エディタまたは設計構造ウィンドウを使用している場合、XSDコンポーネントを展開または折りたたんで子コンポーネントの表示を切り替えることや、コンテナ・コンポーネントを折りたたんで上位レベルのスキーマ・ビューを作成できます。
親コンポーネントの1つ下のレベルを展開するには、次のようにします。
親コンポーネントのプラス記号(+)をクリックします。
親コンポーネントの下のすべてのレベルを折りたたむには、次のようにします。
親コンポーネントのマイナス記号(-)をクリックします。
スキーマのすべての親コンポーネントを展開するには、次のようにします。
[Ctrl]キーを押しながら[*]を押します(キーボードのテンキーにある[*]を使用します)。
注意: このビューは大きくなる可能性があります。 |
ズーム操作を使用すると、XSDビジュアル・エディタのXMLスキーマの表示を拡大(ズーム・イン)または縮小(ズーム・アウト)できます。
ズーム・インするには、次のようにします。
拡大表示するXMLスキーマの領域にカーソルを置きます。
[Ctrl]キーを押しながら[+]キーを押します。
注意: キーボードのテンキーにある[+]を使用します。 |
ズーム・アウトするには、次のようにします。
縮小表示するXMLスキーマの領域にカーソルを置きます。
[Ctrl]キーを押しながら[-]キーを押します。
注意: キーボードのテンキーにある[-]を使用します。 |
XSDビジュアル・エディタまたは構造ウィンドウ(設計またはソース・ビュー)で最もよく行う操作の1つは、作業対象のコンポーネントの選択です。コンポーネントを選択する理由には、次のようなものがあります。
コンポーネントのプロパティの編集
コンポーネントの移動
コンポーネントの削除
別のコンポーネントを挿入するターゲット位置の選択
子を含まない単一のコンポーネント、子を含む単一のコンポーネントおよび複数のコンポーネントを選択できます。
1つのコンポーネントを選択するには、次のようにします。
コンポーネントをクリックします。
子コンポーネントを含むコンポーネントを選択すると、子コンポーネントもすべて選択されます。親要素をコピー、移動または削除すると、その子要素もすべてコピー、移動または削除されます。
ヒント: XSDビジュアル・エディタでXSDコンポーネントをダブルクリックすると、コンポーネントのプロパティ・エディタが表示されます。 |
複数のコンポーネントを選択するには、次のようにします。
最初のコンポーネントをクリックします。
[Ctrl]キーを押したままの状態にします。
その他の選択するコンポーネントをクリックします。他のコンポーネントは選択したまま1つのみ選択を解除するには、[Ctrl]キーを押したままそのコンポーネントをもう一度クリックします。
削除以外の目的で隣接しない複数のコンポーネントを選択した場合、予想外の結果になることがあります。たとえばスキーマ階層の異なるレベルにあるコンポーネントを選択し、スキーマ・ページ内の別の場所に移動またはコピーした場合、コンポーネント間の相対的な位置関係が失われる可能性があります。
XSDビジュアル・エディタでは、コンテナ・コンポーネントをその子も含めて選択した上で、さらに1つ以上の子を個別に選択できます。この場合、明示的に選択した子要素は、2回選択したことになります。このようにして選択したコンポーネントをコピー・アンド・ペーストすると、二重に選択された子はコピーされた親の子として1回、親に対する同レベルのコンポーネントとして1回、合計2回貼り付けられます。
XSDビジュアル・エディタでコンポーネントが選択されると、そのコンポーネントは青色で表示されます。コンテナ・コンポーネントが選択され、その子コンポーネントも明示的に選択されると、該当するすべてのコンポーネントが青色で表示されます。
「構造」ウィンドウ(設計ビューまたはソース・ビュー)で選択すると、コンポーネントがハイライト表示されます。ただし、子コンポーネントを含むコンポーネントを選択した場合、名前が選択されていなくてもその子コンポーネントは選択されています。親コンポーネントを削除または移動すると、子コンポーネントもすべて削除または移動されます。
コンポーネントを選択すると、別のコンポーネントを挿入できる位置も選択することになります。詳細は、第15.5.12項「XSDコンポーネントのターゲット位置の選択方法」を参照してください。
ヒント: マウスのポインタをコンポーネント上に移動すると、コンポーネント名がツールチップに表示されます。これはコンポーネントを選択する際にクリックする場所の目印となります。 XSDビジュアル・エディタで選択したコンポーネントは、構造ウィンドウの設計ビューおよびソース・ビューでも選択されます。またその逆も同様です。これにより、両方のツールで選択項目を確認できるため、選択内容と挿入位置を判別しやすくなります。 JDeveloperのステータス・バーには、選択したコンポーネントの挿入ポイントが明示的に表示されます。 |
XSDビジュアル・エディタまたは構造ウィンドウ(設計またはソース・ビュー)でXSDコンポーネントを挿入、コピーまたは移動する場合、その操作の対象となるノードに関連するターゲット位置を選択する必要があります。ノードに対して選択できるターゲット位置は、前、後ろおよび内側です。
ターゲット位置を選択するには、次のようにします。
次のいずれかのオプションを選択します。
操作の対象となるノードをクリックし、ターゲット位置を選択します。
ターゲット位置にコンポーネントをドロップする際に、次のいずれかの操作を行います。
ターゲット・ノードの前にコンポーネントを挿入するには、実線の横線が表示されるまで(ビジュアル・エディタの場合)、または上矢印付きの横線が表示されるまで(構造ウィンドウの場合)そのコンポーネントをノードの上部にドラッグしてマウス・ボタンを放します。
ターゲット・ノードの後にコンポーネントを挿入するには、実線の横線が表示されるまで(ビジュアル・エディタの場合)、または下矢印付きの横線が表示されるまで(構造ウィンドウの場合)そのコンポーネントをノードの下部にドラッグしてマウス・ボタンを放します。
挿入するコンポーネントがターゲット・ノードに含まれるようにするには、ノードの上にドラッグし、ノードがボックスで囲まれた時点でマウスのボタンを放します。このターゲット位置は、子ノードを含むことが可能なノードでのみ使用できます。
ポップアップ・メニューを使用してターゲット位置を選択する場合は、ターゲット・ノードを右クリックし、オプションを選択してからコンポーネントを選択します。オプションは次のとおりです。
<component>の前に挿入: 選択したノードの前にコンポーネントが挿入されます。
<component>の中に挿入: 選択したノードの内側(下)にコンポーネントが挿入されます。
<component>の後ろに挿入: 選択したノードの後ろにコンポーネントが挿入されます。
すべてのオプションを常に使用できるわけではありません。オプションを選択するとサブメニューが表示されるため、そこからコンポーネント・リストを選択し、さらにリストから目的のコンポーネントを選択します。選択したノードによっては、そのノードの内側に挿入できる1つ以上のコンポーネントがサブメニューに表示されます。
注意: 「構造」ウィンドウの設計またはソース・ビューで選択したターゲット位置はXSDビジュアル・エディタでも選択され、その逆も同様です。これにより、視覚的にも階層的にも挿入位置を確認できます。選択内容は、JDeveloperウィンドウ一番下のステータス・バーにも明示的に表示されます。 |
XSDビジュアル・エディタおよび構造ウィンドウ(設計またはソース・ビュー)では、コンポーネント・パレットからドラッグするかまたはポップアップ・メニューを使用してXSDコンポーネントを挿入できます。コピーまたはカット・アンド・ペーストでもXSDコンポーネントを挿入できます。カット・アンド・ペーストでは、複数のコンポーネントを一度に挿入できます。詳細は、第15.5.16項「XSDコンポーネントの切取り、コピーおよび貼付け方法」を参照してください。
注意: XMLスキーマ階層の異なる場所からコピーした複数のコンポーネントを貼り付けた場合、予想外の結果になることがあります。 |
コンポーネント・パレットを使用してXSDコンポーネントを挿入するには、次のようにします。
XSDビジュアル・エディタまたは構造ウィンドウで、コンポーネントを挿入する場所を選択します。構造ウィンドウでは、目的のノードを見つけるためにノードを開くことが必要になる場合があります。
コンポーネント・パレットで、ドロップダウン・リストからXSDコンポーネントのリストを選択し、リストから目的のコンポーネントをドラッグし、XSDビジュアル・エディタまたは構造ウィンドウの目的のターゲット位置へドロップします。
または、ビジュアル・エディタまたは構造ウィンドウでターゲット位置を選択してから、コンポーネント・パレットで目的のコンポーネントをクリックすることもできます。
ヒント: リスト内のコンポーネント名にカーソルを置くと、そのコンポーネントの簡単な説明が表示されます。詳しいヘルプを表示するには、リストからコンポーネントを右クリックして「ヘルプ」を選択します。 |
ポップアップ・メニューを使用してXSDコンポーネントを挿入するには、次のようにします。
XSDビジュアル・エディタまたは構造ウィンドウで、目的のノードを右クリックしてポップアップ・メニューを表示します。目的のノードを見つけるには、ノードを開くことが必要になる場合があります。
ポップアップ・メニューからオプションを選択し、次にコンポーネントを選択します。オプションは次のとおりです。
<component>の前に挿入: 選択したノードの前にコンポーネントが挿入されます。
<component>の中に挿入: 選択したノードの内側(下)にコンポーネントが挿入されます。
<component>の後ろに挿入: 選択したノードの後ろにコンポーネントが挿入されます。
ポップアップ・メニューのすべてのオプションを常に使用できるわけではありません。オプションを選択するとサブメニューが表示されるため、そこからコンポーネント・リストを選択し、さらにリストから目的のコンポーネントを選択します。選択したノードによっては、そのノードの内側に挿入できる1つ以上のコンポーネントがサブメニューに表示されます。
プロパティ・インスペクタには、XSDビジュアル・エディタまたは「構造」ウィンドウ(設計ビューまたはソース・ビュー)で選択したXSDコンポーネントのプロパティが表示されます。プロパティ・インスペクタを使用すると、XMLスキーマの各コンポーネントのプロパティ値を設定または変更できます。設定済のプロパティ値には緑色のボックスが表示されます。
変更を元に戻すには、メイン・メニューから「編集」→「元に戻す」アクションを選択します。デフォルト値(ある場合)に設定されているプロパティをリセットするには、「デフォルトに設定」ボタンを使用します。
コンポーネントのプロパティを設定するには、次のようにします。
XMLスキーマを開いた状態で、ビジュアル・エディタまたは「構造」ウィンドウでコンポーネントを選択します。
選択したコンポーネントのプロパティ値がプロパティ・インスペクタに表示されます。プロパティ・インスペクタが表示されていない場合は、「表示」→「プロパティ・インスペクタ」を選択するか、ショートカット([Ctrl]+[Shift]+[I])を使用します。
設定するプロパティが表示されるまでスクロールし、マウスまたは矢印キーでそれを選択します。
プロパティ・インスペクタの下部にプロパティの簡単な説明が表示されます。
ヒント: 長いリストの中からプロパティを素早く見つけるには、プロパティ・インスペクタ・ツールバーの検索ボタンをクリックします。「検索」テキスト・フィールドにプロパティ名を入力し、[Enter]を押します。 |
右側の列に、次のいずれかの方法でプロパティ値を入力します。
テキスト・フィールドには、そのプロパティに対する文字列値(テキスト値や数値など)を入力し、[Enter]を押します。
値フィールドに下向きの矢印が表示されている場合、矢印をクリックし、リストから値を選択して[Enter]を押します。
省略記号(...)付きの値フィールドの場合、省略記号をクリックしてそのプロパティのエディタを表示します。プロパティ・エディタで値を設定し、「OK」をクリックします。
ヒント: XSDコンポーネントをダブルクリックするか、XSDコンポーネントを右クリックして「プロパティ」を選択すると、そのコンポーネントのプロパティ・エディタが表示されます。 プロパティ・エディタで属性を選択すると、エディタの下のステータス領域に簡単な説明が表示されます。 コンポーネント・リファレンスのトピックへのリンクを表示するには、プロパティ・エディタの「ヘルプ」をクリックします。 |
複数のコンポーネントを選択している場合、デフォルトでは選択中のコンポーネントのプロパティがすべてプロパティ・インスペクタに表示されます。プロパティ・インスペクタの「統合して表示」ボタンをクリックすると、選択中のコンポーネントのプロパティすべてを表示するオプションと、選択中のコンポーネントに共通なプロパティのみを表示するオプションを切り替えることができます。イタリック・フォントで表示されている値は、共通のプロパティに異なる値が設定されていることを示します。
複数コンポーネントのプロパティを設定するには、次のようにします。
[Ctrl]キーを押しながら各コンポーネントを選択します。
プロパティ・インスペクタで表示されるプロパティのリストを変更するには、プロパティ・インスペクタ・ツールバーの「統合して表示」ボタンをクリックします。
ボタンを選択した状態では、選択したコンポーネントのすべてのプロパティが表示されます。
ボタンを選択していない状態では、選択したコンポーネント間に共通のプロパティのみが表示されます。
プロパティ・インスペクタで、必要なプロパティを選択して編集します。
値がイタリック・フォントで表示されている場合、選択中のコンポーネントによって値が異なります。共有プロパティの値を編集すると、選択した全コンポーネントの値が同じになります。
XSDビジュアル・エディタまたは構造(設計またはソース)ウィンドウでXSDコンポーネントの切取り、コピーおよび貼付けを行うことができます。これらの操作を、同じプロジェクトまたは異なるプロジェクトのファイル間で実行できます。
コンポーネントを切り取ると、エディタから削除され、(システム・クリップボードではなく) JDeveloperからのみアクセス可能なローカル・クリップボードに置かれます。コンポーネントを貼り付けずにJDeveloperを終了した場合、切り取ったコンポーネントは失われます。
コンポーネントの削除では、内容を変更せずにコンポーネントが削除されます。切取りコマンドを使用してアイテムを永久に削除する習慣がある場合、間違ってクリップボードの保存しておきたい内容を置換してしまう可能性があります。詳細は、第15.5.18項「XSDコンポーネントの削除方法」を参照してください。
1つ以上のコンポーネントを切り取るには、次のようにします。
ビジュアル・エディタまたは構造ウィンドウで、切り取るXSDコンポーネントを選択します。
次のいずれか1つを実行します。
[Ctrl]キーを押しながら[X]キーを押します。
右クリックして「切取り」を選択します。
メイン・メニューから、「編集」→「切取り」を選択します。
ビジュアル・エディタまたは「構造」ウィンドウでXSDコンポーネントをコピーできます。
1つ以上のコンポーネントをコピーするには、次のようにします。
ビジュアル・エディタまたは構造ウィンドウで、コピーするXSDコンポーネントを選択します。
次のいずれか1つを実行します。
[Ctrl]キーを押しながら[C]キーを押します。
右クリックして「コピー」を選択します。
メイン・メニューから、「編集」→「コピー」を選択します。
[Ctrl]を押しながら、選択したコンポーネントのコピーをターゲット位置までドラッグします。
XSDビジュアル・エディタや構造ウィンドウから切り取った要素またはコピーした要素は、JDeveloperの他のXSDファイルに貼り付けることができます。詳細は、第15.5.12項「XSDコンポーネントのターゲット位置の選択方法」を参照してください。
要素を貼り付けるには、次のようにします。
XSD要素を貼り付けるファイルをビジュアル・エディタまたは構造ウィンドウで開きます。
要素を貼り付ける挿入ポイントを選択します。
次のいずれか1つを実行します。
[Ctrl]キーを押しながら[V]キーを押します。
右クリックして「貼付け」を選択します。
「編集」→「貼付け」を選択します。
XSDビジュアル・エディタまたは構造(デザイン・ビューまたはソース・ビュー)ウィンドウでは、ドラッグまたは切取りおよび貼付けでXSDコンポーネントを新しい挿入ポイントに移動できます。ビジュアル・エディタまたは構造ウィンドウのどちらかでコンポーネントを移動することも、同時に使用して2つのエディタ間でコンポーネントを移動することも可能です。切取りおよび貼付けで、同じプロジェクトまたは異なるプロジェクト内の他のファイルの有効な挿入ポイントに、XSDコンポーネントを移動します。詳細は、第15.5.11項「XSDコンポーネントの選択方法」を参照してください。
一度に1つまたは複数のコンポーネントを移動できます。ただし、隣接していない複数のコンポーネント、またはスキーマ階層内の別々のレベルにある複数のコンポーネントを選択して移動した場合、予想外の結果になることがあるため注意してください。
ドラッグしてコンポーネントを移動するには、次のようにします。
ビジュアル・エディタまたは「構造」ウィンドウで、次のいずれかの操作を行います。
ビジュアル・エディタまたは構造ウィンドウで、元の位置からターゲット位置までコンポーネントをドラッグします。詳細は、第15.5.12項「XSDコンポーネントのターゲット位置の選択方法」を参照してください。
ビジュアル・エディタまたは構造ウィンドウで、元の位置から挿入ポイントまでコンポーネントを右クリックでドラッグし、ポップアップ・メニューから「ここにあるノードの移動」を選択します。
カット&ペーストでコンポーネントを移動するには、次のようにします。
ビジュアル・エディタまたは「構造」ウィンドウで、次のいずれかの操作を行います。
コンポーネントを切り取ります。次に、ビジュアル・エディタまたはスキーマ構造ウィンドウの別の場所へ貼り付けます。
コンポーネントを切り取ります。次に、同じプロジェクトまたは別のプロジェクト内の他のファイルへ貼り付けます。
注意: 選択したコンポーネントとその子コンポーネントすべてが、新しいターゲット位置へ移動します。 |
XSDビジュアル・エディタまたは構造(設計ビューまたはソース・ビュー)ウィンドウでXMLスキーマからコンポーネントを削除できます。コンポーネントを削除すると、ソース・コードから該当する行が削除されます。
1つ以上のXSDコンポーネントを削除するには、次のようにします。
ビジュアル・エディタまたは構造ウィンドウで削除する1つ以上のXSDコンポーネントを選択します。詳細は、第15.5.11項「XSDコンポーネントの選択方法」を参照してください。
次のいずれか1つを実行します。
[Del]キーを押します。
[Ctrl]キーを押しながら[X]キーを押します。
右クリックして「削除」を選択します。
メイン・メニューから、「編集」→「削除」を選択します。
JDeveloperには、XSQLサーブレットを使用してデータ・バインドされたXMLページの作成を簡略化する完全な開発環境が用意されています。
JDeveloperでは、次の機能を使用してXSQLサーブレットのサポートを提供しています。
コンポーネント・パレットでXSQLタグを提供します。
XSQLページを自動的に作成します。
XSQLライブラリをインクルードします。
クラスパスでXSQLConfig.xmlを提供します。必要に応じて変更できます。
XSQLページでビジネス・ロジック層を使用してデータにアクセスできるように、ビジネス・コンポーネント・アクション・ハンドラ・タグを提供します。
XSQLサーブレットを使用すると、XSQLページをクライアントとして作成および使用できます。これらのページは、埋込みSQL問合せおよびその他のデータ操作言語(DML)文を使用してXMLで作成されます。アクション・ハンドラを使用して、ファイルへのXMLデータの書込みなど、SQLよりも多くの機能を提供することもできます。
アクション・ハンドラは、XSQLページ内からJavaクラスをコールできるようにするアプリケーションです。データベースまたはBusiness Components for Java (BC4J)と直接対話できる事前定義済のアクション・ハンドラを使用することも、独自のアクション・ハンドラを作成して使用することもできます。
XSQLサーブレット・アプリケーションには、次の3つの論理レイヤーがあります。
クライアント: XSQLページは、SQLが埋め込まれたXMLを使用して、データの問合せおよび取得を処理します。データを表示するには、HTML、Wireless Markup Language (WML)などの別の形式にXMLデータを変換する必要があります。XMLをこれらの言語に変換するためのXSLスタイルシートを作成できます。
Webサーバー内のXSQLサーブレット: サーブレットはXML SQLユーティリティを使用してデータベースと対話します。
ビジネス・ロジック層: Business Components for Java層を使用して、データへのアクセスおよび変更を行うこともできます。
データベース: JDBC 2.0ドライバをサポートするすべてのデータベースを使用できます。
XSQLサーブレットでは、単純かつ生産的な方法で、データベースとXMLをやり取りできます。単純なスクリプトを使用することで、開発者は次の操作を実行できます。
単純または複雑なXML文書の生成
XSLスタイルシートの適用によるテキスト形式の生成
XML文書の解析とデータベースへのデータの格納
複雑な動的Webアプリケーションの作成(コードのプログラミングなし)
例15-2のemp.xsql
はその例です。
例15-2 emp.sqlファイル
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="emp.xsl"?> <FAQ xmlns:xsql="urn:oracle-xsql" connection = "scottDS"> <xsql:query doc-element="EMPLOYEES" row-element="EMP"> select e.ename, e.sal, d.dname as department from dept d, emp e where d.deptno = e.deptno </xsql:query> </FAQ>
例15-3でXMLを生成します。
例15-3 XMLファイル
<EMPLOYEES> <EMP> <ENAME>Scott</ENAME> <SAL>1000</SAL> <DEPARTMENT>Boston</DEPARTMENT> </EMP> <EMP> ... </EMP> </EMPLOYEES>
JDeveloperを使用すると、XSQLファイルを簡単に作成して実行できます。結果のページを表示するには、組込みのWebサーバーとデフォルトのWebブラウザを使用します。
XSQLサーブレットの詳細は、Oracleデータベース文書を参照してください。
JDeveloperを使用すると、XSQLファイルを簡単に作成して実行できます。結果のページを表示するには、組込みのWebサーバーとデフォルトのWebブラウザを使用します。
XSQLファイルを作成するには、次のようにします。
ナビゲータで、新しいXSQLページを作成するプロジェクトを選択します。
「ファイル」→「新規」を選択し、「新規ギャラリ」を開きます。
「カテゴリ」ツリーで、「General」を開いて「XML」を選択します。
「項目」リストでXSQLページをダブルクリックします。
これにより、XMLエディタで開くuntitled#.xsql
という名前のスケルトンXSQLファイルがプロジェクトに追加されます。このエディタでコードを入力し、「コンポーネント・パレット」からタグを選択して追加し、独自のスタイルシート情報を使用してファイルを変更できます。
JDeveloperのXMLエディタでは、構文のハイライト表示、構造ウィンドウ表示およびプロパティ・インスペクタがサポートされています。編集中に、「コンポーネント・パレット」からタグを選択してページに挿入することもできます。
XMLエディタを使用してXSQLファイルを編集するには、次のようにします。
ナビゲータでXSQLファイルを右クリックして、「XMLエディタ」を選択します。
「表示」→「コンポーネント・パレット」を選択してコンポーネント・パレットを開き、パレットのドロップダウン・リストから「XSQL」タグ・ページを選択します。その後、パレットからXSQLタグを選択できます。
入力時に、左山カッコ(<)を入力してから時間を置くか、(デフォルトのキー割当てを使用している場合) [Ctrl]キーを押しながら[Space]キーを押すと、コード・インサイトを起動できます。コード・インサイトにより、有効なタグのリストが表示されます。
タグを選択した後にスペースを入力してから時間を置くか、[Ctrl]キーを押しながら[Space]キーを押すと、有効な属性がリスト表示され、ここから選択できます。属性値に対する左引用符を入力すると、ヒント・インサイトで必要な値の型が表示されます。
編集中または編集後、ファイル内で右クリックして「XMLの自動インデント」を選択すると、ファイルを正しくインデントできます。
任意のタグを右クリックして「構造ウィンドウ内で検索」を選択し、「構造」ウィンドウでそのタグをハイライトすることもできます。
次に説明するように、すべてのXSQLタグを挿入するには、コンポーネント・パレットからXSQLタグを選択します。XSQLタグをファイルに入力して挿入することもできます。XSQLタグにはコード・インサイトを使用できます。
ファイルにXSQLタグを追加する手順は、次のとおりです。
ナビゲータで、タグを追加するXSQLファイルを選択して右クリックし、「XMLエディタ」を選択して、ソース・ファイルを開きます。
<page xmlns:xsql="urn:oracle-xsql">
タグの後の空白行にカーソルを置きます。
「表示」→「コンポーネント・パレット」を選択して、パレットを開きます(表示されていない場合)。
パレットのドロップダウン・リストからXSQLタグを選択します(表示されていない場合)。
パレットから適切なタグを選択します。
タグに属性がない場合は、ただちにXSQLページに表示されます。タグに1つ以上の属性がある場合は、ダイアログが表示されます。
表示されるダイアログで、必須の属性とオプションの属性を入力します。XSQLタグと属性のヘルプを表示するには、[F1]を押すか、「ヘルプ」をクリックします。
属性を入力した後、「次へ」をクリックして次のダイアログを表示するか、「終了」をクリックします(有効になっている場合)。
表示されるボタンの種類とダイアログの数は、選択したタグによって異なります。入力したタグと属性がXSQLページに表示されていることを確認します。
必要に応じて、ソース・ファイルに別の行を追加し、コンポーネント・パレットから別のタグを選択します。
タグの追加が完了した後、これまでの作業内容をすべて保存する場合は、「ファイル」→「すべて保存」を選択します。
タグを追加した後、RAW XMLデータを表示したり、スタイルシートを使用してXMLデータの書式を設定できます。
XSQLファイルをチェックして、エラーを検索するために、ファイルが製形式のXML文書かどうかを確認できます。
XSQLファイルの構文をチェックする手順は、次のとおりです。
ナビゲータまたは開いている「XMLエディタ」ウィンドウで、XSQLファイルを右クリックし、「XML構文のチェック(&X)」を選択します。
結果が「ログ」ウィンドウに表示されます。
注意: XMLファイルにXMLネームスペースが定義されていない場合、このポップアップ・メニューの「XMLの検証」コマンドは無効になります。 |
XSQLタグを使用して、XSQLサーブレット用のXMLベース・クライアントを作成できます。XSQLサーブレットを使用すると、XML形式でデータベースとデータを簡単にやり取りできます。次の手順は、XSQL Queryタグを使用してデータを表示する方法を示しています。
データベースに直接アクセスするXSQLサーブレット・クライアントを作成する手順は、次のとおりです。
ナビゲータでワークスペースを選択し、「ファイル」→「新規」を選択して「新規ギャラリ」を開くことで、ビジネス・コンポーネント・プロジェクトを含むワークスペースで新しいプロジェクトを作成します。
「カテゴリ」ツリーで、「一般」を開いて「プロジェクト」を選択します。
「項目」リストで「空のプロジェクト」をダブルクリックし、「新規プロジェクト」ダイアログを開きます。
「新規プロジェクト」ダイアログを完了し、「OK」をクリックして、空のプロジェクトをワークスペースに追加します。
ナビゲータで新規プロジェクトを選択し、「ファイル」→「新規」を選択します。
「カテゴリ」リストで、「一般」を選択し、「XML」を選択します。
「項目」リストでXSQLページをダブルクリックします。
これにより、untitled#.xsql
という名前のスケルトンXSQLファイルがプロジェクトに追加されます。
ナビゲータで新規XSQLファイルを右クリックし、「XMLエディタ」を選択して、ソース・ファイルを開きます。
<page xmlns:xsql="urn:oracle-xsql">
タグの後の空白行にカーソルを置きます。
「表示」→「コンポーネント・パレット」を選択して、パレットを開きます(表示されていない場合)。
パレットのドロップダウン・リストからXSQLタグを選択します(表示されていない場合)。
パレットからXSQLファイルにQuery (XSQL)タグをドラッグします。
QueryタグによりSQL文が実行され、結果セットがXML形式でインクルードされます。
表示されるダイアログで、属性の値を入力したり、デフォルト値を変更できます。[F1]を押すか、ダイアログで「ヘルプ」をクリックして、タグおよびその属性に関するヘルプを表示します。
属性を入力した後、「次へ」をクリックします。
「接続の選択内容」ダイアログで、接続を選択するか、新規データベース接続を作成し、「次へ」をクリックします。
「問合せ」ダイアログで、実行するSQL文を入力し、「次へ」をクリックします。
たとえば、select * from customer
と入力すると、入力した属性に基づいて、customer
データベースのすべてのレコードが表示されます。
「終了」をクリックします。
入力したQueryタグと属性は、XSQLページに表示されます。
「ファイル」→「すべて保存」の順に選択して、作業内容を保存します。
ナビゲータでXSQLファイルを右クリックし、「filename.xsqlの実行」を選択して、WebブラウザのRAW XMLデータを表示します。
スタイルシートを使用してXMLデータの書式を設定できます。メッセージ・サービスを介してXMLデータを別のアプリケーションに渡すこともできます。
XSQLサーブレットを使用して、ビジネス・コンポーネント用にXMLベースのクライアントを作成できます。XSQLサーブレットを使用すると、データベースからXML形式でデータを入力および出力することが容易になります。次の手順では、ViewObject Show
タグを使用して作成したビジネス・コンポーネント・プロジェクトに、XSQLクライアントをバインドして、XML形式でビュー・オブジェクトのデータを表示する方法を説明します。ViewObject Update
タグを使用して、ビュー・オブジェクトを挿入、更新および削除することもできます。
ビジネス・コンポーネント用XSQLサーブレット・クライアントを作成するには、次のようにします。
ナビゲータでワークスペースを選択し、「ファイル」→「新規」を選択して「新規ギャラリ」を開くことで、ビジネス・コンポーネント・プロジェクトを含むワークスペースで新しいプロジェクトを作成します。
「カテゴリ」ツリーで、「一般」を開いて「プロジェクト」を選択します。
「項目」リストで「空のプロジェクト」をダブルクリックし、「新規プロジェクト」ダイアログを開きます。
「新規プロジェクト」ダイアログを完了し、「OK」をクリックして、空のプロジェクトをワークスペースに追加します。
ナビゲータで新規プロジェクトを選択し、「ファイル」→「新規」を選択します。
「カテゴリ」リストで、「一般」を選択し、「XML」を選択します。
「項目」リストでXSQLページをダブルクリックします。
これにより、untitled#.xsqlという名前のスケルトンXSQLファイルがプロジェクトに追加されます。
ナビゲータで新規のXSQLファイルを右クリックし、ソース・ファイルが開いていない場合は、「XMLエディタ」を選択してファイルを開きます。
<page xmlns:xsql="urn:oracle-xsql">
タグの後の空白行にカーソルを置きます。
「表示」→「コンポーネント・パレット」を選択して、パレットを開きます(表示されていない場合)。
パレットのドロップダウン・リストからXSQLタグを選択します(表示されていない場合)。
パレットからViewObject Show
タグを選択します。
ViewObject Show
タグには、XML形式のビュー・オブジェクトのデータが表示されます。ViewObject Update
では、オプションで変換されたXMLドキュメントに基づいたビュー・オブジェクトに対して、挿入、更新および削除の処理を行います。
「ビュー・オブジェクトの選択内容」ダイアログで適切なビュー・オブジェクトを選択し、「次へ」をクリックします。
属性のデフォルト値を変更するか、受け入れます。[F1]を押すか、ダイアログで「ヘルプ」をクリックして、タグおよびその属性に関するヘルプを表示します。属性を入力した後、「次へ」をクリックします。
「終了」をクリックします。
入力したタグと属性がXSQLページに表示されていることを確認します。
「ファイル」→「保存」の順に選択して、これまでの作業内容をすべて保存します。
ナビゲータでXSQLファイルを右クリックし、「filename.xsqlの実行」を選択して、WebブラウザのRAW XMLデータを表示します。
スタイルシートを使用してXMLデータの書式を設定できます。メッセージ・サービスを介してXMLデータを別のアプリケーションに渡すこともできます。
注意: XSQLエラーJBO-27122が表示された場合は、ViewObject Show [F1]ヘルプ・トピックの「循環ビュー・リンク・アクセッサを使用してビュー・オブジェクトを問い合せる際の注意点」を参照してください。 |
XSQLページのアクション・ハンドラは、特定のタスクを実行するために起動されるJavaクラスです。Cookieの設定、スタイルシートの適用、データベースに対する問合せの実行など、様々なタスクの事前作成済アクション・ハンドラがあります。ただし、組込みのアクション・ハンドラが提供していない操作を実行する場合、カスタム・アクション・ハンドラを作成できます。カスタム・アクション・ハンドラは、事前定義済のアクション・ハンドラと同じように簡単にXSQLページから起動できるJavaクラスです。
アクション・ハンドラを作成するには、次のようにします。
プロジェクトにXSQL構成ファイルを追加します。
XSQL構成ファイルで、要素名とハンドラ・クラスを指定して、新しいアクション・ハンドラを登録します。
XSQLファイルで、新しい要素とその属性を追加します。
XSQLファイルで、<page>
タグに接続情報を追加します。
プロジェクトにJavaファイルを追加します。
Javaファイルで、XSQLActionHandlerImpl
クラスを拡張するクラスを作成します。
BC4JのXSQLアクション・ハンドラは、JDeveloperのJBO HTMLライブラリの一部としてパッケージ化されており、関連する<JdevHome>/BC4J/jlib/bc4jhtml.jar
アーカイブがビルドに含まれます。
例15-4 XSQLのアクション・ハンドラ
// Copyright (c) 2000, 2009, Oracle and/or its affiliates. All rights reserved. import oracle.xml.xsql.*; import org.w3c.dom.Node; import java.util.Date; /** * A Class class. * <P> * @author Pas Apicella public class JavaDate extends XSQLActionHandlerImpl { public void handleAction (Node root) { addResultElement(root, "CURRENTDATE", (new Date()).toString()); } }
XSQLファイルが完了した後、XSQL問合せを統合WebLogic Serverで実行することによってテストできます。このサーバーには、IDE内でWebアプリケーションを開発、テストおよびデバッグするために必要な機能がすべて用意されています。詳細は、第9.2項「統合アプリケーション・サーバーでのJava EEアプリケーションの実行」を参照してください。
XSQLサーブレット・ファイルを実行するには、次のようにします。
ナビゲータでXSQLファイルを右クリックし、「XML構文のチェック(&X)」を選択します。
JDeveloperでは、XML構文エラーを検索するXSQLファイルがスキャンされ、結果が「ログ」ウィンドウに表示されます。
XML構文エラーがない場合は、XSQLファイルを右クリックして「filename.xsqlの実行」を選択します。
JDeveloperにより、サーブレットがコンパイルされます。次に、統合WebLogic Serverが起動されます。統合WebLogic Serverを初めて起動する場合、ダイアログが表示され、デフォルト・ドメイン上のデフォルト・ユーザーweblogic
のパスワードを入力する必要があります。この手順は1回のみ実行する必要があります。
デフォルトのWebブラウザが起動して、サーブレットの出力がブラウザに表示されます。
XSQLファイルが統合WebLogic Serverで正常に実行された後、これが含まれるアプリケーションをOracle WebLogic Serverなどの外部アプリケーション・サーバーにデプロイできます。
XSQLアプリケーションをデプロイするには、次のようにします。
XSQL実行のためJDeveloperとOracle WebLogic Serverによって実行される構文は異なるため、XSQLソース・ファイルで接続情報を次のように変更する必要があります。次の文字列を
connection="java:comp/env/jdbc/database-connection-nameDS"
次の文字列で置き換えます。
connection="jdbc/database-connection-nameDS"
注意: アプリケーションを統合WebLogic Serverで実行するには、接続情報を元に戻す必要があります。 |
アプリケーションをデプロイするには、最初にデプロイメント・プロファイルを作成し、これにアプリケーションをデプロイする必要があります。ナビゲータで、XSQLサーブレットが含まれるプロジェクトを右クリックして、「新規」を選択します。「新規ギャラリ」で「General」を展開し、「デプロイメント・プロファイル」を選択します。
WARデプロイメント・プロファイルなどのプロファイルを選択し、「OK」をクリックし、デプロイメント・プロファイルの作成を続行します。詳細は、第9.3.2項「デプロイメント・プロファイルの作成および編集方法」を参照してください。
アプリケーションをデプロイメント・プロファイルにデプロイするには、XSQLサーブレット・ファイルが含まれるプロジェクトを右クリックして、「デプロイ」→「profile」を選択します。「profile」は、作成したデプロイメント・プロファイルの名前です。
「デプロイ」ダイアログで、「WARにデプロイ」(または、別のタイプのデプロイメント・プロファイルを選択した場合は適切なオプション)を選択し、「終了」をクリックします。
これで、Oracle WebLogic Serverなどのアプリケーション・サーバーにアプリケーションをデプロイできるようになります。実行する必要のある手順は次のとおりです。
XSQLファイル内の接続情報を使用してターゲット・アプリケーション・サーバー上でデータソースを作成します。詳細は、第9.3.6.4項「Oracle WebLogic ServerでのJDBCデータソースの設定」を参照してください。
アプリケーション・サーバーへの接続を作成します。詳細は、第9.3.1項「ターゲット・アプリケーション・サーバーへの接続の作成方法」を参照してください。
XSQLサーブレット・ファイルが含まれるプロジェクトを右クリックして、「デプロイ」→「profile」を選択し、アプリケーションをデプロイします。「profile」は、作成したデプロイメント・プロファイルの名前です。
「デプロイ」ダイアログで、「アプリケーション・サーバーへのデプロイ」を選択し、次のページでアプリケーション・サーバー接続を選択し、「終了」をクリックします。
アプリケーションがデプロイされたら、http://
targethost
:port
/
web-context-root
/
filename
.xsql
にナビゲートすることにより、ブラウザ・ウィンドウで問合せの結果を表示できます。
XSQLファイルを作成してタグを追加した後、RAW XMLデータを表示するか、スタイルシートを使用してXMLデータを書式設定します。
XSQLファイルをRAW XMLデータとして表示するには、次のようにします。
ナビゲータでXSQLファイルを選択し、「filename.xsqlの実行」を選択してWebブラウザでソース・ファイルを開きます。
JDeveloperにより統合WebLogic Serverが開始され、デフォルトのWebブラウザが起動して、XSQLサーブレットがXSQLページを処理した後に生成されたRAW XMLデータが表示されます。
XSQLファイルを作成してタグを追加した後、XSLスタイルシートを使用してXMLデータの書式を設定したり、RAW XMLデータを表示できます。以前に作成したスタイルシートを使用することも、JDeveloperで新規のスタイルシートを作成して適用することもできます。スタイルシートを適用することで、HTML、またはWireless Markup Language (WML)などの他のマークアップ言語にXMLデータを変換できます。
スタイルシートを使用してXMLデータの書式を設定する手順は、次のとおりです。
ナビゲータで、スタイルシートを追加するXSQLファイルを選択して右クリックし、「XMLエディタ」を選択して、ソース・ファイルを開きます。
xml-stylesheet行と次のようなコメントを探します。
<!-- Uncomment the following processing instruction and replace the stylesheet name to transform output of your XSQL Page using XSLT <?xml-stylesheet type="text/xsl" href="YourStylesheet.xsl" ?> -->
<?xml-stylesheet ?>
行を-->
閉じ大カッコの下に移動して、コメントを解除します。
この行で、YourStyleSheet.xsl
をスタイルシートの名前に置換します。たとえば、stylesheet1.xsl
という名前のスタイルシートを指定します。
次に、このプロジェクトの外部で作成したファイルを使用する場合は、指定したファイルをプロジェクトに追加します。
ナビゲータでプロジェクトを選択し、「プロジェクト」→「プロジェクトproject nameに追加」を選択します。「プロジェクトに追加」ダイアログで、ディレクトリに移動し、指定したスタイルシート・ファイルを選択します。
「開く」をクリックします。
「ファイル」→「すべて保存」の順に選択して、すべての変更を保存します。
追加したファイルがナビゲータに表示され、XMLエディタで開きます。開いているファイルを閉じることもできます。
ナビゲータでXSQLファイルを選択して右クリックし、「filename.xsqlの実行」を選択してWebブラウザでファイルを開きます。
書式設定されたXMLデータをブラウザで表示できます。
JDeveloperでは、データをHTML、WMLまたは他の出力で書式設定するため、XSQLファイルに適用できるXSLスタイルシートを作成できます。XSLスタイルシートを作成すると、選択したXSQLプロジェクトに追加されます。
XSLスタイルシートを作成するには、次のようにします。
ナビゲータで、新しいXSLファイルを作成するプロジェクトを選択します。
「ファイル」→「新規」を選択し、「新規ギャラリ」を開きます。
「カテゴリ」ツリーで、「General」を開いて「XML」を選択します。
「項目」リストで「XSLスタイル・シート」をダブルクリックし、新規XSLファイルダイアログを開きます。
「ディレクトリ名」フィールドは変更せず、JDeveloperがWebアプリケーション・ファイルを検索するディレクトリに作業内容を保存します。「ファイル名」フィールドに、生成するファイルの名前を入力します。
スケルトンXSLファイルが生成され、アクティブなプロジェクトに表示されます。
XMLエディタを編集して、独自のカスタム・スタイルシートを作成できます。XMLデータをワイヤレス・マークアップ・ランゲージ (WML)に変換するXSLスタイルシートの例は、後述します。完了すると、XSQLファイルのスタイルシート名を指定して、RAW XMLデータを書式設定できます。
XSLスタイルシートの例
例15-5のスタイルシートは、XMLからWMLへの変換を示しています。BC4JアプリケーションでデフォルトのDeptViewを使用します。
例15-5 XMLからWMLへの変換
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <!-- Root template --> <xsl:output type="wml" media-type="text/x-wap.wml" doctype-public="-//WAPFORUM//DTD WML 1.1//EN" doctype-system="http://www.wapforum.org/DTD/wml_1.1.xml" indent="yes" /> <xsl:template match="* >/"><xsl:apply-templates/></xsl:template> <xsl:template match="text()>@*"><xsl:value-of select="."/></xsl:template> <xsl:template match="/"> <wml> <card id="C1"> <p mode="nowrap"> <big>DEPTLIST</big> </p> <xsl:for-each select="page/DeptView/DeptViewRow"> <p> <strong><xsl:value-of select="Deptno"/> </strong> xsl:value-of select="Dname"/> <xsl:value-of select="Loc"/> </p> </xsl:for-each> </card> </wml> </xsl:template> </xsl:stylesheet>
XSQL構成ファイルXSQLConfig.xmlは、クラスパス上に存在するため、XSQLページから常にアクセスできます。接続情報は、JDeveloperで新規接続を作成すると、XSQLConfig.xmlファイルに追加されます。XSQLConfig.xmlはシステム・ディレクトリにあり、XSQLファイルを含むプロジェクトがコンパイルされると、WEB-INFディレクトリにコピーされます。カスタム・アクション・ハンドラを登録するなどの変更が必要な場合は、プロジェクトにファイルを追加することもできます。
注意: XSQLプロジェクトをJDeveloperに移行しても、XSQLConfig.xmlファイルは更新されません。プロジェクトの移行後、接続を再作成したり、JDeveloperで既存の接続を編集することで接続を更新できます。 |
プロジェクトのXSQL構成ファイルを変更するには、次のようにします。
ナビゲータでプロジェクトが選択された状態で、「プロジェクト」→「プロジェクトproject nameに追加」を選択します。
JDeveloperインストール・ディレクトリのシステム・ディレクトリにナビゲートしてXSQLConfig.xml
を選択し、「開く」をクリックします。
XMLエディタで変更または追加します。
「ファイル」→「保存」の順に選択して、修正したファイルを保存します。
表15-4に示すカスタム・プロパティは、ビュー・オブジェクトまたは行のwriteXMLメソッドを使用する際、XMLの生成に影響します。
表15-4 メタデータ・プロパティ
プロパティ名 | 値 | 有効な対象 |
---|---|---|
XML_ELEMENT |
有効な要素名 |
ビュー・オブジェクトおよびビュー属性 |
XML_ROW_ELEMENT |
有効な要素名 |
ビュー・オブジェクト |
XML_CDATA |
任意の値(空でない) |
ビュー属性 |
XML_EXPLICIT_NULL |
任意の値(空でない) |
ビュー・オブジェクトおよびビュー属性 |
XML_ELEMENTカスタム・プロパティがビュー・オブジェクトに存在する場合、その値は、writeXMLメソッドを使用した生成時や、readXMLメソッドによる使用時に、XMLのビュー・オブジェクトに対するXML要素名として使用されます。
XML_ELEMENTカスタム・プロパティがビュー属性に存在する場合、その値は、writeXMLメソッドを使用した生成時や、readXMLメソッドによる使用時に、XMLの属性に対するXML要素名として使用されます。
たとえば、Salという名前の属性を使用したDeptViewという名前のビュー・オブジェクトの場合、設定は次のようになります。
ビュー・オブジェクト・プロパティのXML_ELEMENT="Departments"
Salのビュー属性プロパティのXML_ELEMENT="Salary"
また、次のようなXMLを生成します。
<Departments> <DeptViewRow> <Empno>1010</Empno> <Ename>Steve</Ename> <Salary>1234</Salary> </DeptViewRow> </Departments>
デフォルトでは、次のようになります。
<DeptView> <DeptViewRow> <Empno>1010</Empno> <Ename>Steve</Ename> <Sal>1234</Sal> </DeptViewRow> </DeptView>
XML_ROW_ELEMENTカスタム・プロパティがビュー・オブジェクトに存在する場合、その値は、writeXMLメソッドを使用した生成時や、readXMLメソッドによる使用時に、XMLのビュー・オブジェクトにより生成された問合せ結果の各行に対するXML要素名として使用されます。
たとえば、Salという名前の属性を使用したDeptViewという名前のビュー・オブジェクトの場合、設定は次のようになります。
ビュー・オブジェクト・プロパティのXML_ELEMENT="Departments"
ビュー・オブジェクト・プロパティのXML_ROW_ELEMENT="Department"
Salのビュー属性プロパティのXML_ELEMENT="Salary"
また、次のようなXMLを生成します。
<Departments> <Department> <Empno>1010</Empno> <Ename>Steve</Ename> <Salary>1234</Salary> </Department> </Departments>
デフォルトでは、次のようになります。
<DeptView> <DeptViewRow> <Empno>1010</Empno> <Ename>Steve</Ename> <Sal>1234</Sal> </DeptViewRow> </DeptView>
XML_CDATAカスタム・プロパティがビュー属性に対して空でない値に設定されると、その値はプレーン・テキストとしてではなく、CDATAセクションとして出力されます。
XML_EXPLICIT_NULLカスタム・プロパティがビュー属性に対して空でない値に設定されると、NULL値を持つすべての属性で、次のようなXML要素が生成されます。
<AttributeName null="true"/>
デフォルトの場合は、XML結果から<AttributeName>要素が省略されます。
XML_EXPLICIT_NULLがビュー属性に対して空でない値に設定されると、指定した属性がNULL値を持つ場合は、システムにより次のようなXML要素が生成されます。
<AttributeName null="true"/>
デフォルトの場合は、XML結果から<AttributeName>
要素が省略されます。