プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle JDeveloperによるアプリケーションの開発
12c (12.2.1.1)
E77373-01
目次へ移動
目次

前
前へ
次
次へ

20 XMLを使用したアプリケーションの開発

この章では、JDeveloperによって提供されるXMLツールおよびエディタを使用してアプリケーションを作成および更新する方法について説明します。

この章の内容は次のとおりです。

20.1 XMLを使用したアプリケーションの開発について

JDeveloperには、アプリケーション内でXMLファイルを使用するために必要なツールが用意されています。XMLソース・エディタ、XMLバリデータ、およびXMLスキーマを使用するためのツールがあります。ウィザードを使用してJSPX、XSD、XSQLおよび構成ファイルを作成し、XMLエディタでファイルを編集できます。

20.2 XMLファイル・エディタの使用

XMLファイル用のエディタには3種類あります。各エディタはそれぞれ固有の機能を備えています。


表20-1 XMLファイル・エディタ

エディタ 説明

XMLエディタ

.xsql.xsl.xsd.xhtmlwsdl ファイルなどのXML言語の編集に特化したスキーマ・ドリブンのエディタです。エディタを開くには、「アプリケーション」ウィンドウでファイル・タイプをダブルクリックします。「ソース」タブにそのファイルのソース・コードが表示され、コードを編集できます。

概要エディタ

XML (.xml) ファイルを表示および編集できます。フィルタ、セキュリティ、リファレンスなど、デプロイメント関連のXMLファイルの各側面が視覚的に表示されます。詳細は、「Webページ・ツールを使用したアプリケーションの開発」を参照してください。

XSDビジュアル・エディタ

XMLスキーマを作成または編集できます。XML文書の構造、内容およびセマンティクスが表示されます。詳細は、「XSD文書およびコンポーネントの使用」を参照してください。


20.2.1 XML編集機能の理解

表20-2は、XMLファイルを使用する際に使用可能な編集機能の概要です。


表20-2 XML編集機能

機能 用途

コード・インサイト

入力時に、「 <」(左山カッコ)を入力して少し待つか、または[Ctrl]キーを押しながら[Space]キーを押すと(デフォルトのキーマッピングを使用している場合)、コード・インサイトを起動できます。

コード・インサイトには、構文に基づいて有効な要素がリスト表示されます。要素を選択した後、空白を入力してから間をおくか、[Ctrl]キーを押しながら[Space]キーを押し、選択可能な属性のリストを表示します。属性値に対する左引用符を入力すると、必要な値の型または使用可能な値のリストが表示されます。

XML検証

開いているXMLソース・エディタのウィンドウ、または「アプリケーション」ウィンドウで、XMLファイルを右クリックして「XMLの検証」を選択します。「XMLの検証」コマンドは、XMLファイルで定義されているJDeveloperに登録されているスキーマに対してXMLを検証します。

スキーマをJDeveloperに登録するには、「ツール」「設定」「XMLスキーマ」を選択します。XMLファイルでXMLネームスペースが定義されていない場合、ポップアップ・メニューのこのコマンドは使用できません。

クイック・フォーム・チェック

ファイルの整形式をチェックするには、XMLファイルを右クリックして「メイク」を選択します。

XMLスキーマ・プリファレンス

「プリファレンス」ダイアログの「XMLスキーマ」ページのオプションを使用して、現在登録されているすべてのXMLスキーマの表示、その他のネームスペースおよび要素のサポートのための新規スキーマの追加、ユーザー定義スキーマの削除、およびメモリーからのスキーマのアンロードを実行します。

「プリファレンス」ダイアログにアクセスするには、「ツール」「プリファレンス」「XMLスキーマ」の順に選択します。

XMLプリファレンス

これらの機能は、XMLプリファレンス ・ページでカスタマイズできます。「ツール」 「プリファレンス」「コード・エディタ」「XMLおよびJSP/HTML」の順に選択し、XMLプリファレンスを表示します。

「必須属性の自動挿入」が選択されている場合、要素の必須属性も挿入されます。

「終了タグの自動補完」が選択されている場合、開始タグを閉じると終了タグが自動的に挿入されます。たとえば、<fooの後に>と入力すると、</foo> が自動的に追加されます。

「コンポーネント」ウィンドウ

「ウィンドウ」「コンポーネント」を選択して「コンポーネント」ウィンドウを開き、ドロップダウン・リストから使用可能なページを1つ選択します。たとえば、XSDファイルを編集している場合は、ウィンドウの「XMLスキーマ」ページから要素を選択できます。

「プロパティ」ウィンドウ

「プロパティ」ウィンドウには、ファイル内の要素の属性が表示されます。「プロパティ」ウィンドウで属性の値を編集してファイルを更新できます。

「構造」ウィンドウ

ファイルの要素は、構造ウィンドウに階層化されて表示されます。このウィンドウには、入力および編集の際に検出されたXML構文エラーも表示されます。要素またはエラーをダブルクリックすると、XMLエディタで編集できます。

XMLの検証

開いているXMLエディタのウィンドウ、または「アプリケーション」ウィンドウで、XMLファイルを右クリックして「XMLの検証」を選択します。このコマンドを選択すると、XMLファイルで定義されたスキーマに基づいてXMLが検証されます。XML制約および定義は検証されますが、XSDは検証されません。XMLファイルでXMLネームスペースが定義されていない場合、コンテキスト・メニューのこのコマンドは使用できません。

[F2]キー

XMLスキーマを作成した後、「構造」ウィンドウで要素を選択し、[F2]を押します。これで、要素のフォーカスはXMLデザイン・エディタに設定されます。要素の新規テキストはXMLデザイン・エディタに自動的に入力できます。

属性の展開/縮小

complexType要素の下に表示される属性を展開または縮小できます。これは、要素の下に表示される属性のリストが大きくなる場合があるため便利な機能です。


20.2.2 XMLエディタのツールバーの理解

表20-3に、XMLエディタのツールバーに表示されるアイコンを示します。


表20-3 XMLエディタのツールバーのアイコン

アイコン 名前 説明

この図については周囲のテキストで説明しています。

検索([Ctrl]+[F])

XMLエディタに検索テキストを入力します。下矢印をクリックすると、追加パラメータ(大/小文字を区別する検索を実行する場合は「大/小文字の区別」、完全に一致する単語のみを検索する場合は「完全一致」、一致する場所を示すためにシェーディングを使用する場合は「発生を強調表示」など)を表示して設定できます。

この図は周囲のテキストで説明しています

次を検索([F3])

指定したパラメータに一致する次の箇所をファイル内で検索する場合にクリックします。

この図は周囲のテキストで説明しています

前を検索([Shift]+[F3])

指定したパラメータに一致する前の箇所をファイル内で検索する場合にクリックします。


20.2.3 XMLエディタの編集オプションの設定方法

XMLエディタには次の編集機能があります。

  • 必須属性の自動挿入: タグを追加すると、そのタグに関連付けられている必須属性が自動的にコードに追加されます。

  • 終了タグの自動補完: 開始タグを閉じると、自動的に終了タグが追加されます。たとえば、XMLファイルに<foo>と入力すると、</foo>が自動的に追加されます。

XMLエディタの編集オプションをカスタマイズするには、次のようにします。

  1. 「ツール」「プリファレンス」を選択します。
  2. 「コード・エディタ」ノードを開きます。
  3. 「JSP/XML/HTML」ノードを選択します。
  4. コード・エディタ - JSP/XML/HTMLページでオプションを選択します。
  5. 「OK」をクリックします。

20.3 XMLスキーマの操作

XMLスキーマは、XMLファイルの要素を定義するものです。JDeveloperには、XML文書の構造、内容およびセマンティクスが視覚的に表示されるXSDビジュアル・エディタが用意されています。XSDビジュアル・エディタを使用して、新しいXMLスキーマ(.xsdファイル)を作成するか、既存のXMLスキーマを編集します。

XSD文書にコンポーネントを挿入するには、「コンポーネント」ウィンドウを使用するか、XSD文書内の任意の位置を右クリックします。

XMLスキーマ・コンポーネントは、図20-1のようにXSDファイルの上部に表示されます。要素を右クリックして「プロパティ」を選択すると、スキーマ・ネームスペースを構成するためのダイアログが表示されます。

図20-1 XMLスキーマ・コンポーネント

この図は周囲のテキストで説明しています

JDeveloperは、スキーマのターゲット・ネームスペースの変更や、ファセットを持つsimpleType要素のベース・タイプの変更など、XMLスキーマに対する様々なリファクタ操作をサポートしています。詳細は、XMLスキーマのリファクタを参照してください。

20.3.1 XSDビジュアル・エディタの属性の使用

XSDビジュアル・エディタを使用して、XMLスキーマの属性を作成し、プロパティおよびファセットを設定できます。図20-2は、XSDビジュアル・エディタの「設計」タブ内のXMLスキーマの例を示しています。

図20-2 XSDビジュアル・エディタ内のスキーマ

この図は周囲のテキストで説明しています

属性エディタでattribute2の属性を編集できます。これは、図20-2ではunion要素として表示されています。このエディタでは、次を実行できます。

  • 要素の下にある使用可能な属性をすべて表示します。詳細の表示と非表示を切り替えるには、属性の横にあるプラスまたはマイナス記号をクリックします。

  • 属性ノード内の属性表示のファセットおよびタイプ詳細をすべて表示します。

  • 属性ノードを右クリックしたときにデフォルトの「中に挿入」メニューを有効なスキーマ・コンポーネント( unionなど)とともに表示します。

  • 内部の属性ノードを展開し、listやunionなどの子ノードが含まれるサブツリーを表示します。

20.3.2 XSDビジュアル・エディタでXMLスキーマを作成したときの処理内容

XSDビジュアル・エディタでXMLスキーマを作成すると、「設計」タブ内のXMLソースがJDeveloperでは自動的に更新されるとともに、「構造」ウィンドウの内容が更新されます。次に、図20-2に表示されているexample.xsdファイルのソースを示します。

<?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>

20.3.3 XSDコンポーネントの選択

エディタでコンポーネントまたは属性を選択すると、選択項目が青くハイライト表示されます。図20-3で選択されている simpleType コンポーネントは、単純型を定義しています。この要素を使用して、属性またはテキストのみのコンポーネントの値に関する制約と情報を指定します。ここでは、string型を制限しています。

図20-3 simpleTypeコンポーネント

この図は周囲のテキストで説明しています

20.3.4 choiceコンポーネント

choiceコンポーネントでは、図20-4に示すように、コンテナ・コンポーネント内に存在する<choice>宣言に含まれているコンポーネントのいずれか1つのみが許可されます。親の選択肢から複数の項目を使用するには、属性maxOccursを>1に設定します。

図20-4 choiceコンポーネント

この図は周囲のテキストで説明しています
?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:element name="choice">
    <xsd:complexType>
      <xsd:choice>
        <xsd:element name="one"/>
        <xsd:element name="two"/>
      </xsd:choice>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>

20.3.5 allコンポーネント

図20-5に示すallコンポーネントでは、子コンポーネントを任意の順序で表示できること、および各子コンポーネントが0回または1回出現することを指定します。

図20-5 allコンポーネント

この図は周囲のテキストで説明しています
<?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:element name="all">
    <xsd:complexType>
      <xsd:all>
        <xsd:element name="one"/>
        <xsd:element name="two"/>
      </xsd:all>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>

20.3.6 sequenceコンポーネント

図20-6に示すsequenceコンポーネントでは、子コンポーネントを順番に表示することを指定します。各子コンポーネントは、0回以上何度でも出現できます。

図20-6 sequenceコンポーネント

この図は周囲のテキストで説明しています
<?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:element name="all">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="one"/>
        <xsd:element name="two"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>

20.3.7 カーディナリティと順序性

図20-7に示すカーディナリティの例では、コンポーネントは表20-4に示す属性で表示されます。

図20-7 カーディナリティ・コンポーネント

この図は周囲のテキストで説明しています

表20-4 カーディナリティの表示

コンポーネント 表示

必須コンポーネント(minOccurs=">0")

実線で表示されます。

オプション・コンポーネント(minOccurs="0")

点線で表示されます。

無限コンポーネント(maxOccurs="unbounded")

コンポーネント・スタック数に無限大の記号が表示されます。複数回出現する可能性のあるコンポーネントは、コンポーネントのスタックとして表示されます。

コンポーネントの左側の数値のうち、コロンの前の数値はコンポーネントの最小出現回数(minOccurs)を示します。コロンの後の数値は、コンポーネントの最大出現回数(maxOccurs)を示します。

図20-7では、最大出現回数が無限なので、無限大の記号が表示されています。

コンポーネントの範囲

コンポーネント・スタック数が表示されます。図20-7のコンポーネントの場合、インスタンス文書内に2回以上出現する必要がありますが、最高で7回までとなります。


20.3.8 complexTypeコンポーネント

図20-8のcomplexTypeコンポーネントは、ベース型を拡張したもので、ベース型から属性と子を継承しています。黄色の背景色は、スキーマの別の部分で定義されている(complexTypeコンポーネントの下にある)baseTypeへの参照を示しています。コンポーネント属性は、次のように表示されます。

  • 継承属性には、四角い記号が付きます。

  • オプション属性には、四角い記号が付きます。

  • 必須属性には、オレンジ色のアスタリスクが付きます。

  • 禁止属性には、オレンジ色のXが付きます。

図20-8 complexTypeコンポーネント

この図は周囲のテキストで説明しています

20.3.9 属性グループ・コンポーネント

属性グループ・コンポーネントは、一連の属性宣言をグループ化し、これらを複合型の定義にグループとして組み込めるようにします。

図20-9には、3つの属性グループが表示されています。

図20-9 属性グループ・コンポーネント

この図は周囲のテキストで説明しています

複数のattributeGroupsがある要素をスキーマに追加する場合、要素の属性をクリックしてドロップダウン・リストから選択することにより、要素の1つ以上のattributeGroupsを選択して追加できます。

20.3.10 unionコンポーネント

unionコンポーネントでは、指定された単純データ型の値のコレクション(共用体)として単純型を定義します。図20-10では、unionは、iで始まる文字列すべてを表しています。

図20-10 unionコンポーネント

この図は周囲のテキストで説明しています

20.3.11 listコンポーネント

listコンポーネントでは、指定したデータ型の値のリストとして単純型のコンポーネントを定義します。図20-11では、このコンポーネントは、一連のshortコンポーネントの値オブジェクトを表しています。

図20-11 listコンポーネント

この図は周囲のテキストで説明しています

20.3.12 XMLスキーマ置換グループの使用

XMLスキーマ・グループ内の1つの要素を別の要素で置換できます。置換グループ機能を使用する一連のXMLスキーマがある場合、必ず、置換グループの先頭を定義するXMLスキーマをロードしてから、置換グループに要素を配置するその他のスキーマをロードしてください。

たとえば、A.xsdというXMLスキーマに次の要素が含まれており、

<element name="A"/>

別のB.xsdというXMLスキーマに次の要素が含まれているとします。

<element name="B" substitutionGroup="namespaceForA:A" />

次のいずれかの条件を満たす必要があります。

  • SchemaGrammarProvider.add(A.xsd)をコールしてからSchemaGrammarProvider.add(B.xsd)をコールする。または、

  • B.xsdにimport文またはinclude文が含まれており、そのschemaLocation属性で A.xsdへの有効なパスが指定されている。

20.4 XMLスキーマのインポートおよび登録方法

「設定」ダイアログで「XMLスキーマ」ページのオプションを使用して、現在登録されているすべてのXMLスキーマの表示、その他の名前空間と要素をサポートするための新しいスキーマの追加、ユーザー定義のスキーマの削除、およびスキーマのメモリーからの削除を行います。

スキーマの追加または変更時にJDeveloperによる自動検証が行われます。

XMLスキーマをインポートおよび登録するには、次のようにします。

  1. メイン・メニューから、「ツール」「プリファレンス」を選択します。
  2. 「XMLスキーマ」ノードを選択します。
  3. 「追加」をクリックし「スキーマの追加」ダイアログを開きます。このダイアログで、新しいスキーマを指定してユーザー・スキーマ・リストに追加します。
  4. 追加するXMLスキーマ・ファイルの名前と場所を「ファイルシステムもしくはURLからスキーマを追加」フィールドに入力します。
  5. ファイル拡張子を「拡張子」フィールドに入力し、特定のファイル・タイプに対してスキーマを登録します。

    JDeveloperでは、この拡張子を使用してメモリーにスキーマを効率的にロードし、スキーマ内の項目に基づいて自動生成した「コンポーネント」ウィンドウ・ページを表示します。

  6. 「OK」をクリックします。

    スキーマの追加時にJDeveloperによる自動検証が行われます。

  7. 新しいスキーマが「ユーザー定義のXMLスキーマ」リストに追加されたかどうかを確認して「OK」をクリックします。

ヒント

「削除」ボタンで削除できるのは、ユーザー定義のスキーマのみです。

スキーマが変更された場合は、「キャッシュのクリア」ボタンを使用して、現在ロードされているすべてのスキーマをメモリーから削除する必要があります。JDeveloperでは、その後、変更されたスキーマを含むすべての必要なスキーマが再ロードされます。

20.5 JAXBを使用したXMLスキーマからのJavaクラスの生成方法

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クラスを生成するには、次のようにします。

  1. メイン・メニューから「ファイル」「新規」「ギャラリから」「ビジネス層」「TopLink/JPA」を選択し、「XMLスキーマからのJAXB 1.0コンテンツ・モデル」または「XMLスキーマからのJAXB 2.0コンテンツ・モデル」を選択し、コンパイル・ダイアログを開きます。
  2. スキーマ・ファイルおよび必要に応じて使用するJAXBカスタマイズ・ファイル、および生成されたクラスの追加先のパッケージを選択します。

    JAXBパッケージと生成されたクラスがApplication Resourcesフォルダに追加されます。

20.6 XSD文書およびコンポーネントの使用

XMLスキーマ・ファイル(.xsdファイル)およびコンポーネントを使用するには、XSDビジュアル・エディタまたは設計構造ウィンドウを使用します。デフォルトでは、新しいスキーマ・ファイルは、XSDビジュアル・エディタでフォーカスのある状態で開かれます。

「アプリケーション」ウィンドウでファイルをダブルクリックすると、デフォルトのエディタが開くか、「設計」タブで前面に表示されます。「ソース」タブをクリックすると、XMLソース・エディタでファイルが開きます。いずれかのエディタで加えた変更は、もう一方のエディタに自動的に反映されます。

20.6.1 2つのエディタにスキーマ・ファイルを表示する方法

スキーマ・ファイル(.xsd)をビジュアル・エディタとソース・エディタで同時に編集するには、どちらか一方のエディタでページを開き、分割線を使用して他方のエディタでもう1つのページ・ビューを開きます。

2つのエディタにスキーマ・ファイルを表示するには、次のようにします。

  • ファイルを水平方向に分割するには、垂直スクロール・バーのすぐ上(ウィンドウの右上隅)でスプリッタをクリックし、下にドラッグします。

  • ファイルを垂直方向に分割するには、水平スクロール・バーのすぐ右(ウィンドウの右下隅)でスプリッタをクリックし、左にドラッグします。

20.6.2 XSDビジュアル・エディタの「設計」タブのイメージの作成方法

XSDビジュアル・エディタの「設計」タブはイメージとして作成できます。これにより、このイメージをファイルまたは出力として他のユーザーと共有できます。

サポートされているイメージ・フォーマットは、.svg.svgz.jpgおよび.pngです。

XSDエディタの「設計」タブをイメージとして保存するには、次のようにします。

  1. 「アプリケーション」ウィンドウで、XSDビジュアル・エディタに表示する.xsdファイルをダブルクリックします。
  2. XSDビジュアル・エディタで「設計」タブをクリックします。

    XSQLサーブレットを使用したデータ・バインドされたXMLページの開発と同様に、.xsdファイルのデザイン・ビューが表示されます。

    図20-12 XSDビジュアル・エディタの「設計」タブ

    この図は周囲のテキストで説明しています
  3. 「設計」タブの任意の場所を右クリックし、「ダイアグラムの公開」を選択します。
  4. 名前、ダイアグラムを保存する場所のパス、およびイメージ・タイプを入力します。

    注意:

    保存するダイアグラムが大きすぎる場合、イメージを.svgフォーマットで保存するように促すメッセージが表示されます。

    XSDビジュアル・エディタ内でノードを右クリックすると、現在のノードとその子ノードのみがイメージとして保存されます。

20.6.3 XSDビジュアル・エディタでのグラブ・スクロールによるナビゲート方法

XSDビジュアル・エディタでは、グラブ・スクロール操作を使用して、スクロールバー付きで表示されているXMLスキーマ内を簡単に移動できます。グラブ・スクロールでは、小さな手の形のカーソルを使用してXMLスキーマ・ページをつかみ、エディタ・ウィンドウ内部でドラッグします。

グラブ・スクロールを使用してXMLスキーマ内を移動するには、次のようにします。

  1. XSDビジュアル・エディタで、[Space]を押したままの状態にします。

    カーソルが、開いた手の形に変化します。

  2. マウスの左ボタンを押したままの状態にします。

    手が閉じて、XMLスキーマ・ページをつかみます。

  3. マウスを使用して、エディタ・ウィンドウ内部でXMLスキーマ・ページを移動します。
  4. マウスの左ボタンを放すと、XMLスキーマ・ページも放れます。
  5. グラブ・スクロールを終了するには、[Space]を放します。

20.6.4 XSDコンポーネント表示の展開および縮小方法

XSDビジュアル・エディタまたは設計構造ウィンドウを使用している場合、XSDコンポーネントを展開または折りたたんで子コンポーネントの表示を切り替えることや、コンテナ・コンポーネントを折りたたんで上位レベルのスキーマ・ビューを作成できます。

  • 親コンポーネントの「+」(プラス)記号をクリックすると、親コンポーネントの1つ下のレベルが展開されます。

  • 親コンポーネントの「-」(マイナス)記号をクリックすると、親コンポーネントの下のすべてのレベルを折りたたむことができます。

  • [Ctrl]キーを押しながら[*]キー(キーボードのテンキーにある[*]キー)を押すと、スキーマ内のすべての親コンポーネントが展開されます。このビューは非常に大きい場合があるので注意してください。

20.6.5 XSDビジュアル・エディタでのズーム・インおよびズーム・アウト方法

ズーム操作を使用すると、XSDビジュアル・エディタのXMLスキーマの表示を拡大(ズーム・イン)または縮小(ズーム・アウト)できます。拡大または縮小表示するXMLスキーマの領域にカーソルを置いてから、次のようにします。

  • 拡大するには[Ctrl]キーを押しながら[+]キーを押します。キーボードのテンキーにある[+]キーも使用できます。

  • 縮小するには[Ctrl]キーを押しながら[-]キーを押します。キーボードのテンキーにある[-]キーも使用できます。

20.6.6 XSDコンポーネントの選択方法

エディタで最もよく行う操作の1つは、コンポーネントの選択です。コンポーネントを選択する目的には、次のようなものがあります。

  • プロパティの編集

  • コンポーネントの移動

  • コンポーネントの削除

  • 別のコンポーネントを挿入する位置の選択

20.6.6.1 単一のコンポーネントのエスカレーション

単一のコンポーネントを子なしで選択できます。

単一のコンポーネントを選択するには、コンポーネントをクリックします。

子コンポーネントを含むコンポーネントを選択すると、子コンポーネントもすべて選択されます。親要素をコピー、移動または削除すると、その子要素もすべてコピー、移動または削除されます。

ヒント:

XSDビジュアル・エディタでXSDコンポーネントをダブルクリックすると、そのコンポーネントの「プロパティ」ウィンドウが表示されます。

20.6.6.2 複数のコンポーネントの選択

1つのコンポーネントをその子とともに選択したり、複数のコンポーネントを選択したりできます。

複数のコンポーネントを選択するには、次のようにします。

  1. 最初のコンポーネントをクリックします。
  2. [Ctrl]キーを押したままの状態にします。
  3. その他の選択するコンポーネントをクリックします。

    他のコンポーネントは選択したまま1つのみを選択を解除するには、 [Ctrl]キーを押したままそのコンポーネントをもう一度クリックします。

注意:

削除以外の目的で隣接しない複数のコンポーネントを選択した場合、予想外の結果になることがあります。たとえばスキーマ階層の異なるレベルにあるコンポーネントを選択し、スキーマ・ページ内の別の場所に移動またはコピーした場合、コンポーネント間の相対的な位置関係が失われる可能性があります。

XSDビジュアル・エディタでは、コンテナ・コンポーネントをその子も含めて選択した上で、さらに1つ以上の子を個別に選択できます。この場合、明示的に選択した子要素は、2回選択したことになります。このようにして選択したコンポーネントをコピー・アンド・ペーストすると、二重に選択された子はコピーされた親の子として1回、親に対する同レベルのコンポーネントとして1回、合計2回貼り付けられます。

20.6.7 XSDビジュアル・エディタでコンポーネントが選択されたときに行われる処理

XSDビジュアル・エディタでコンポーネントを選択すると、そのコンポーネントが青色で表示されます。選択したコンポーネントに子コンポーネントがある場合は、すべて青色で表示されます。

「構造」ウィンドウで選択すると、コンポーネントがハイライト表示されます。ただし、子コンポーネントを持つコンポーネントを選択すると、子も選択されます。親コンポーネントを削除または移動すると、子コンポーネントもすべて削除または移動されます。

コンポーネントを選択すると、別のコンポーネントを挿入できる位置も選択することになります。詳細は、「XSDコンポーネントのターゲット位置の選択方法」を参照してください。

ヒント

マウスのポインタをコンポーネント上に移動すると、コンポーネント名がツールチップに表示されます。

XSDビジュアル・エディタで選択したコンポーネントは、構造ウィンドウの設計ビューおよびソース・ビューでも選択されます。またその逆も同様です。選択している要素と挿入位置を両方のツールで確認できます。

ステータス・バーには、選択したコンポーネントの挿入位置ポイントが明示的に表示されます。

20.6.8 XSDコンポーネントのターゲット位置の選択方法

XSDビジュアル・エディタまたは構造ウィンドウ(設計またはソース・ビュー)でXSDコンポーネントを挿入、コピーまたは移動する場合、その操作の対象となるノードに関連するターゲット位置を選択する必要があります。ノードに対して選択できるターゲット位置は、前、後ろおよび内側です。

ターゲット位置を選択するには、次のいずれかの操作を行います。

  • ノードをクリックしてターゲット位置を選択します。

  • ターゲット位置にコンポーネントをドロップする際に、次のいずれかの操作を行います。

    • ターゲット・ノードの前にコンポーネントを挿入するには、実線の横線が表示されるまで(ビジュアル・エディタの場合)、または上矢印付きの横線が表示されるまで(「構造」ウィンドウの場合)そのコンポーネントをノードの上部にドラッグしてマウス・ボタンを放します。

    • ターゲット・ノードの後にコンポーネントを挿入するには、実線の横線が表示されるまで(ビジュアル・エディタの場合)、または下矢印付きの横線が表示されるまで(「構造」ウィンドウの場合)そのコンポーネントをノードの下部にドラッグしてマウス・ボタンを放します。

    • 挿入するコンポーネントがターゲット・ノードに含まれるようにするには、ノードの上にドラッグし、ノードがボックスで囲まれた時点でマウスのボタンを放します。このターゲット位置は、子ノードを含むことが可能なノードでのみ使用できます。

  • ポップアップ・メニューを使用してターゲット位置を選択する場合は、ターゲット・ノードを右クリックし、オプションを選択してからコンポーネントを選択します。表20-5にオプションを示します。


    表20-5 ターゲット位置のオプション

    オプション 説明

    <component>の前に挿入

    選択したノードの前にコンポーネントが挿入されます。

    <component>の中に挿入

    選択したノードの内側(下)にコンポーネントが挿入されます。

    <component>の後ろに挿入

    選択したノードの後ろにコンポーネントが挿入されます。


    すべてのオプションを常に使用できるわけではありません。オプションを選択するとサブメニューが表示されるため、そこからコンポーネント・リストを選択し、さらにリストから目的のコンポーネントを選択します。選択したノードによっては、そのノードの内側に挿入できる1つ以上のコンポーネントがサブメニューに表示されます。

注意:

「構造」ウィンドウの設計またはソース・ビューで選択したターゲット位置はXSDビジュアル・エディタでも選択され、その逆も同様です。これにより、視覚的にも階層的にも挿入位置を確認できます。選択内容は、JDeveloperウィンドウ一番下のステータス・バーにも明示的に表示されます。

20.6.9 XSDコンポーネントの挿入方法

XSDビジュアル・エディタおよび「構造」ウィンドウでは、コピーまたはカット・アンド・ペーストでもXSDコンポーネントを挿入できます。カット・アンド・ペーストでは、複数のコンポーネントを一度に挿入できます。

注意:

XMLスキーマ階層の異なる場所からコピーした複数のコンポーネントを貼り付けた場合、予想外の結果になることがあります。

20.6.9.1 「コンポーネント」ウィンドウを使用したXSDコンポーネントの挿入

XSDコンポーネントを挿入するには、「コンポーネント」ウィンドウからドラッグするか、ポップアップ・メニューを使用します。ビジュアル・エディタまたは「構造」ウィンドウでターゲット位置を選択し、「コンポーネント」ウィンドウでコンポーネントをクリックすることもできます。

「コンポーネント」ウィンドウを使用してXSDコンポーネントを挿入するには、次のようにします。

  1. XSDビジュアル・エディタまたは「構造」ウィンドウで、コンポーネントを挿入する場所を選択します。構造ウィンドウでは、目的のノードを見つけるためにノードを開くことが必要になる場合があります。
  2. 「コンポーネント」ウィンドウで、ドロップダウン・リストからXSDコンポーネントのリストを選択します。リストから目的のコンポーネントをドラッグし、XSDビジュアル・エディタまたは「構造」ウィンドウの目的のターゲット位置へドロップします。

20.6.9.2 ポップアップ・メニューを使用したXSDコンポーネントの挿入

右クリックして、ポップアップ・メニューにXSDコンポーネントの挿入オプションを表示することもできます。

ポップアップ・メニューを使用してXSDコンポーネントを挿入するには、次のようにします。

  1. XSDビジュアル・エディタまたは「構造」ウィンドウで、ノードを右クリックしてポップアップ・メニューを表示します。目的のノードを見つけるには、ノードを開くことが必要になる場合があります。
  2. ポップアップ・メニューからオプションを選択し、次にコンポーネントを選択します。

20.6.10 XSDコンポーネントの切取り方法

コンポーネントを切り取ると、エディタから削除され、(システム・クリップボードではなく) JDeveloperからのみアクセス可能なローカル・クリップボードに置かれます。コンポーネントを貼り付けずに終了した場合、切り取ったコンポーネントは失われます。

切取り、コピーおよび貼付けは、同じプロジェクトまたは異なるプロジェクトのファイル間で実行できます。

コンポーネントの削除では、内容を変更せずにコンポーネントが削除されます。切取りコマンドを使用してアイテムを永久に削除する習慣がある場合、間違ってクリップボードの保存しておきたい内容を置換してしまう可能性があります。詳細は、「XSDコンポーネントの削除方法」を参照してください。

1つ以上のコンポーネントを切り取るには、次のようにします。

  1. ビジュアル・エディタまたは「構造」ウィンドウで、切り取るXSDコンポーネントを選択します。
  2. 次のいずれかを行います。
    • [Ctrl]キーを押しながら[X]キーを押します。

    • 右クリックして「切取り」を選択します。

    • メイン・メニューから、「編集」「切取り」を選択します。

20.6.11 XSDコンポーネントのコピー方法

ビジュアル・エディタまたは「構造」ウィンドウでXSDコンポーネントをコピーできます。切取り、コピーおよび貼付けは、同じプロジェクトまたは異なるプロジェクトのファイル間で実行できます。

1つ以上のコンポーネントをコピーするには、次のようにします。

  1. ビジュアル・エディタでXSDコンポーネントを選択します。
  2. 次のいずれかを行います:
    • [Ctrl]キーを押しながら[C]キーを押します。

    • 右クリックして「コピー」を選択します。

    • メイン・メニューから、「編集」「コピー」を選択します。

    • [Ctrl]を押しながら、選択したコンポーネントのコピーをターゲット位置までドラッグします。

20.6.12 XSDコンポーネントの削除方法

XSDビジュアル・エディタまたは構造(設計ビューまたはソース・ビュー)ウィンドウでXMLスキーマからコンポーネントを削除できます。コンポーネントを削除すると、JDeveloperではソース・コードから該当する行が削除されます。

1つ以上のXSDコンポーネントを削除するには、次のようにします。

  1. ビジュアル・エディタで削除する1つ以上のXSDコンポーネントを選択します。詳細は、「XSDコンポーネントの選択方法」を参照してください。
  2. 次のいずれかを行います:
    • [Delete]キーを押します。

    • [Ctrl]キーを押しながら[X]キーを押します。

    • 右クリックして「削除」を選択します。

    • メイン・メニューから、「編集」「削除」を選択します。

20.6.13 XSDコンポーネントの貼付け方法

XSDビジュアル・エディタや「構造」ウィンドウから切り取った要素またはコピーした要素は、アプリケーション内の他のXSDファイルに貼り付けることができます。詳細は、「XSDコンポーネントのターゲット位置の選択方法」を参照してください。

切取り、コピーおよび貼付けは、同じプロジェクトまたは異なるプロジェクトのファイル間で実行できます。

要素を貼り付けるには、次のようにします。

  1. ファイルを開きます。
  2. 要素を貼り付ける挿入ポイントを選択します。
  3. 次のいずれかを行います:
    • [Ctrl]キーを押しながら[V]キーを押します。

    • 右クリックして「貼付け」を選択します。

    • 「編集」「貼付け」を選択します。

20.6.14 XSDコンポーネントの移動方法

ビジュアル・エディタまたは構造ウィンドウのどちらかでコンポーネントを移動することも、同時に使用して2つのエディタ間でコンポーネントを移動することも可能です。

一度に1つまたは複数のコンポーネントを移動できます。ただし、隣接していない複数のコンポーネント、またはスキーマ階層内の別々のレベルにある複数のコンポーネントを選択して移動した場合、予想外の結果になることがあります。

20.6.14.1 ドラッグによるコンポーネントの移動

XSDビジュアル・エディタまたは「構造」ウィンドウ(「設計」ビューまたは「ソース」ビュー)では、XSDコンポーネントをドラッグによって新しい挿入ポイントに移動できます。

ドラッグしてコンポーネントを移動するには、次のようにします。

次のいずれかの操作を行います。

  • ビジュアル・エディタまたは構造ウィンドウで、元の位置からターゲット位置までコンポーネントをドラッグします。詳細は、「XSDコンポーネントのターゲット位置の選択方法」を参照してください。

  • 右クリックし、コンポーネントを元の位置から挿入位置までドラッグします。ポップアップ・メニューから「ここにあるノードの移動」を選択します。

20.6.14.2 カット&ペーストによるコンポーネントの移動

XSDコンポーネントをカット&ペーストで、同じプロジェクトまたは異なるプロジェクト内の他のファイルの有効な挿入ポイントに移動できます。詳細は、「XSDコンポーネントの選択方法」を参照してください。

カット&ペーストでコンポーネントを移動するには、次のようにします。

次のいずれかの操作を行います。

  • コンポーネントを切り取ります。次に、ビジュアル・エディタまたはスキーマ構造ウィンドウの別の場所へ貼り付けます。

  • コンポーネントを切り取ります。次に、同じプロジェクトまたは別のプロジェクト内の他のファイルへ貼り付けます。

注意:

選択したコンポーネントとその子コンポーネントすべてが、新しいターゲット位置へ移動します。

20.6.15 XSDコンポーネントのプロパティの設定および変更方法

「プロパティ」ウィンドウに、選択したXSDコンポーネントのプロパティが表示されます。「プロパティ」ウィンドウを使用して、XMLスキーマ内の任意のコンポーネントのプロパティ値を設定または変更します。設定済のプロパティ値には緑色のボックスが表示されます。

メイン・メニューから「編集」属性の変更を元に戻すを選択します。

プロパティをデフォルト設定に戻すには、プロパティの横の下矢印をクリックし、「デフォルトにリセット」を選択します。

コンポーネントのプロパティを設定するには、次のようにします。

  1. XMLスキーマが開いた状態で、コンポーネントを選択します。

    「プロパティ」ウィンドウにプロパティ値が表示されます。「プロパティ」ウィンドウが表示されていない場合は、「表示」「プロパティ・ウィンドウ」を選択するか、ショートカット([Ctrl]+[Shift]+[I])を使用します。

  2. 設定するプロパティが表示されるまでスクロールし、マウスまたは矢印キーでそれを選択します。

    「プロパティ」ウィンドウの下部にプロパティの簡単な説明が表示されます。

    ヒント:

    長いリストの中からプロパティを素早く見つけるには、「プロパティ」ウィンドウのツールバーにある検索ボタンをクリックします。「検索」テキスト・フィールドにプロパティ名を入力し、[Enter]キーを押します。

  3. 右側の列に、表20-6に示すいずれかのプロパティ値を入力します。

    表20-6 プロパティ値

    フィールド 説明

    テキスト・フィールド

    そのプロパティに対する文字列値(テキスト値や数値など)を入力し、[Enter]キーを押します。

    下矢印付きの値フィールド

    下矢印をクリックしてリストから値を選択し、[Enter]キーを押します。

    省略記号(...)付きの値フィールド

    省略記号をクリックし、該当するプロパティのエディタを表示します。プロパティ・エディタで値を設定し、「OK」をクリックします。


    ヒント

    XSDコンポーネントをダブルクリックするか、XSDコンポーネントを右クリックして「プロパティ」を選択すると、そのコンポーネントのプロパティ・エディタが表示されます。

    プロパティ・エディタで属性を選択すると、エディタの下のステータス領域に簡単な説明が表示されます。

    コンポーネント・リファレンスのトピックへのリンクを表示するには、プロパティ・エディタの「ヘルプ」をクリックします。

20.6.16 複数のXSDコンポーネントに対するプロパティの設定方法

複数のコンポーネントを選択している場合、デフォルトでは選択中のコンポーネントのプロパティがすべて「プロパティ」ウィンドウに表示されます。「プロパティ」ウィンドウの「統合して表示」ボタンをクリックすると、選択中のコンポーネントのプロパティをすべて表示するオプションと、選択中のコンポーネントに共通なプロパティのみを表示するオプションを切り替えることができます。イタリック・フォントで表示されている値は、共通のプロパティに異なる値が設定されていることを示します。

複数コンポーネントのプロパティを設定するには、次のようにします。

  1. [Ctrl]キーを押しながら各コンポーネントを選択します。
  2. 「プロパティ」ウィンドウで目的のプロパティを選択して編集します。

    値がイタリック・フォントで表示されている場合、選択中のコンポーネントによって値が異なります。共有プロパティの値を編集すると、選択した全コンポーネントの値が同じになります。

20.7 XMLを使用したローカライズ

JDeveloperには、XMLベースのXLIFFテクノロジに基づいてアプリケーションに対する完全なローカライゼーションをサポートするツールがあります。XLIFFは、アプリケーションを国際化する際に翻訳者およびベンダーによって使用されるデータを保持するタグおよび属性を提供することにより、完全なローカライゼーション・プロセスをサポートしています。

XLIFFの詳細は、OASISオープン標準のWebサイト(http://www.oasis-open.org/home/index.php)を参照してください。

新規XLIFFファイルを作成するには、次のようにします。

  • 「ファイル」メニュー「新規」「ギャラリから」「一般」「XML」XMLローカライゼーション・ファイルを選択します。

20.7.1 XLIFFファイルに関する必知事項

XLIFFファイルの主な要素は、trans-unit要素です。これらの要素には、ローカライゼーション・テキストとその翻訳が格納されます。これらの要素は、セグメント(通常は、独立して適切に翻訳できるソース・ファイル内のセンテンス)を表します。trans-unit要素には、source、target、alt-trans、およびいくつかの他の要素が含まれます。

この他にも、レビュー・コメント、個別文字列の翻訳ステータス、およびソース・センテンスの文字数などのメトリック用の要素があります。XLIFFファイルは、1つ以上のファイル要素で構成されます。これらにはそれぞれ、ヘッダー・セクションと本体セクションがあります。ヘッダーには、連絡先情報、プロジェクト・フェーズ、参考資料へのポインタ、およびスケルトン・ファイル上の情報などのプロジェクト・データが含まれます。

JDeveloperでは、リソース・バンドルを使用して、XLIFFファイルを含むすべてのローカライゼーション情報を保持します。JSFページのコンテンツを作成すると、リソース・バンドルはこのプロジェクト内で自動的に作成されます。

20.8 XSQLサーブレットを使用したデータ・バインドXMLページの開発

XSQLサーブレットを使用してデータ・バインドされたXMLページの作成を簡略化する完全な開発環境が用意されています。XSQLサーブレットを使用すると、XSQLページをクライアントとして作成および使用できます。これらのページは、埋込みSQL問合せおよびその他のデータ操作言語(DML)文を使用してXMLで作成されます。アクション・ハンドラを使用して、ファイルへのXMLデータの書込みなど、SQLよりも多くの機能を提供することもできます。

表20-7に、XSQLサーブレット・アプリケーション内の論理レイヤーを示します。


表20-7 XSQLサーブレットの論理レイヤー

レイヤー 説明

クライアント

XSQLページは、SQLが埋め込まれたXMLを使用して、データの問合せおよび取得を処理します。データを表示するには、HTML、Wireless Markup Language (WML)などの別の形式にXMLデータを変換する必要があります。XMLをこれらの言語に変換するためのXSLスタイルシートを作成できます。

Webサーブレット内のXSQLサーブレット

サーブレットはXML SQL Utilityを使用してデータベースと対話します。

ビジネス・ロジック層

Business Components for Java層を使用して、データへのアクセスおよび変更を行うこともできます。

データベース

JDBC 2.0ドライバをサポートするすべてのデータベースを使用できます。


20.8.1 XSQLサーブレット・クライアントのサポート

XSQLサーブレットのサポート内容は次のとおりです。

  • 「コンポーネント」ウィンドウでのXSQLタグ。

  • XSQLページを自動作成します。

  • XSQLライブラリをインクルードします

  • クラスパスでXSQLConfig.xmlを提供します。必要に応じて変更できます。

  • XSQLページでビジネス・ロジック層を使用してデータにアクセスできるように、ビジネス・コンポーネント・アクション・ハンドラ・タグを提供します。

20.8.2 XSQLサーブレットの使用方法

XSQLサーブレットでは、単純かつ生産的な方法で、データベースとXMLをやり取りできます。単純なスクリプトを使用することで、次の操作を実行できます。

  • 単純または複雑なXML文書の生成

  • XSLスタイルシートの適用によるテキスト形式の生成

  • XML文書の解析とデータベースへのデータの格納

  • 複雑な動的Webアプリケーションの作成(コードのプログラミングなし)

次のemp.xsqlファイルはその例です。

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="emp.xsl"?> 
<FAQ xmlns:xsql="urn:oracle-xsql" connection = "scott">
  <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> 

次のXMLを生成します。

<EMPLOYEES>
  <EMP>
    <ENAME>Scott</ENAME> 
    <SAL>1000</SAL>
    <DEPARTMENT>Boston</DEPARTMENT>
  </EMP>
  <EMP>
...
  </EMP>
</EMPLOYEES> 

XSQLサーブレットの詳細は、Oracle10iのドキュメントを参照してください。

20.8.3 XSQLファイルの作成方法

ウィザードを使用してXSQLファイルを作成すると、untitled#.xsqlという名前のスケルトン・ファイルがプロジェクトに追加され、XMLエディタで開きます。このエディタでコードを入力したり、「コンポーネント」ウィンドウからタグを選択して追加したり、独自のスタイルシート情報でファイルを変更したりできます。

XSQLファイルを作成するには、次のようにします。

  1. 「アプリケーション」ウィンドウで、新しいXSQLページを作成するプロジェクトを選択します。

  2. 「ファイル」「新規」「ギャラリから」を選択します。

  3. 「カテゴリ」ツリーで、「一般」を開いて「XML」を選択します。

  4. 「項目」リストで「XSQLファイル」をダブルクリックします。

20.8.4 XSQLタグを使用したXMLファイルの編集方法

XMLエディタの「構造」ウィンドウ・ビューと「プロパティ」ウィンドウでは、構文のハイライト表示がサポートされています。また、編集時に「コンポーネント」ウィンドウからタグを選択してページに挿入することもできます。

XMLエディタを使用してXSQLファイルを編集するには、次のようにします。

  1. 「アプリケーション」ウィンドウで、XSQLファイルをダブルクリック/右クリックします。
  2. エディタの「ソース」タブを選択します。
  3. 「表示」「コンポーネント」ウィンドウを選択して「コンポーネント」ウィンドウを開き、このウィンドウのドロップダウン・リストから「XSQL」タグ・ページを選択します。ウィンドウからXSQLタグを選択します。
  4. 入力時に、左山カッコ(<)を入力してから時間を置くか、(デフォルトのキー割当てを使用している場合) [Ctrl]キーを押しながら[Space]キーを押すと、コード・インサイトを起動できます。コード・インサイトにより、有効なタグのリストが表示されます。
  5. タグを選択した後にスペースを入力してから時間を置くか、[Ctrl]キーを押しながら[Space]キーを押すと、有効な属性がリスト表示され、ここから選択できます。属性値に対する左引用符を入力すると、ヒント・インサイトで必要な値の型が表示されます。
  6. 編集中または編集後、ファイル内で右クリックして「XMLの自動インデント」を選択すると、ファイルを正しくインデントできます。
  7. 任意のタグを右クリックして「構造ウィンドウ内で検索」を選択し、「構造」ウィンドウでそのタグをハイライトすることもできます。

20.8.5 XSQLファイルの構文のチェック方法

XSQLファイルをチェックして、エラーを検索するために、ファイルが製形式のXML文書かどうかを確認できます。エラーは、ログの「XML検証エラー」タブに表示されます。

XSQLファイルの構文をチェックする手順は、次のとおりです。

  • 「アプリケーション」ウィンドウで、XSQLファイルを右クリックして 「XMLの検証」を選択します。

    注意:

    XMLファイルにXMLネームスペースが定義されていない場合、このポップアップ・メニューの「XMLの検証」コマンドは無効になります。

20.8.6 データベースにアクセスするXSQLサーブレット・クライアントの作成方法

XSQLタグを使用して、XSQLサーブレット用のXMLベース・クライアントを作成できます。XSQLサーブレットを使用すると、XML形式でデータベースとデータを簡単にやり取りできます。次の手順は、XSQL Queryタグを使用してデータを表示する方法を示しています。

データベースに直接アクセスするXSQLサーブレット・クライアントを作成する手順は、次のとおりです。

  1. 「アプリケーション」ウィンドウでプロジェクトを選択し、「ファイル」「新規」「ギャラリ」を選択します。
  2. 「カテゴリ」リストで、「一般」を選択し、「XML」を選択します。
  3. 「項目」リストで「XSQLファイル」をダブルクリックします。

    これにより、untitled#.xsqlという名前のスケルトンXSQLファイルがプロジェクトに追加されます。

  4. 「アプリケーション」ウィンドウで、新しいXSQLファイルをダブルクリックしてエディタで開きます。
  5. <page xmlns:xsql="urn:oracle-xsql">タグの後の空白行にカーソルを置きます。
  6. 「表示」コンポーネント・ウィンドウを選択して、「コンポーネント」ウィンドウを開きます(表示されていない場合)。
  7. 「コンポーネント」ウィンドウのドロップダウン・リストからXSQLタグを選択します(表示されていない場合)。
  8. 「コンポーネント」ウィンドウからQueryタグを選択します。

    QueryタグによりSQL文が実行され、結果セットがXML形式でインクルードされます

  9. 表示されるダイアログで、属性の値を入力したり、デフォルト値を変更できます。[F1]を押すか、ダイアログで「ヘルプ」をクリックして、タグおよびその属性に関するヘルプを表示します。
  10. 属性を入力した後、「次へ」をクリックします。
  11. 「接続の選択内容」ダイアログで、接続が選択されていない場合は選択し、「次へ」をクリックします。
  12. 「問合せ」ダイアログで、実行するSQL文を入力し、「次へ」をクリックします。

    たとえば、select * from customerと入力すると、入力した属性に基づいて、customerデータベースのすべてのレコードが表示されます。

  13. 「終了」をクリックします。

    入力したQueryタグと属性は、XSQLページに表示されます。

  14. 「ファイル」「すべて保存」を選択して、これまでの作業内容を保存します。
  15. 「アプリケーション」ウィンドウでXSQLファイルを右クリックして、「<filename>.xsqlの実行」を選択すると、RAW XMLデータがWebブラウザに表示されます。

スタイルシートを使用してXMLデータの書式を設定できます。メッセージ・サービスを介してXMLデータを別のアプリケーションに渡すこともできます。

20.8.7 ビジネス・コンポーネント用XSQLサーブレット・クライアントの作成

XSQLサーブレットを使用して、ビジネス・コンポーネント用にXMLベースのクライアントを作成できます。次の手順では、 ViewObject Showタグを使用して作成したビジネス・コンポーネント・プロジェクトに、XSQLクライアントをバインドして、XML形式でビュー・オブジェクトのデータを表示する方法を説明します。ViewObject Updateタグを使用して、ビュー・オブジェクトを挿入、更新および削除することもできます。

ビジネス・コンポーネント用XSQLサーブレット・クライアントを作成するには、次のようにします。

  1. 「アプリケーション」ウィンドウでプロジェクトを選択し、「ファイル」「新規」→「ギャラリから」を選択して新規のギャラリを開きます。
  2. 「カテゴリ」ツリーで、「一般」を開いて「プロジェクト」を選択します。
  3. 「項目」リストで「空のプロジェクト」をダブルクリックし、「新規プロジェクト」ダイアログを開きます。
  4. 「新規プロジェクト」ダイアログを入力し、「OK」をクリックして空のプロジェクトをアプリケーションに追加します。
  5. 「アプリケーション」ウィンドウで新規プロジェクトを選択し、「ファイル」「新規」を選択します。
  6. 「カテゴリ」リストで、「一般」を選択し、「XML」を選択します。
  7. 「項目」リストでXSQLページをダブルクリックします。

    これにより、untitled#.xsqlという名前のスケルトンXSQLファイルがプロジェクトに追加されます。

  8. 「アプリケーション」ウィンドウで新規のXSQLファイルを右クリックし、「XMLエディタ」 を選択してソース・ファイルを開きます(ソース・ファイルが開いていない場合)。
  9. <page xmlns:xsql="urn:oracle-xsql">タグの後の空白行にカーソルを置きます。
  10. 「表示」「コンポーネント」ウィンドウを選択して、「コンポーネント」ウィンドウを開きます(表示されていない場合)。
  11. 「コンポーネント」ウィンドウのドロップダウン・リストからXSQLタグを選択します(表示されていない場合)。
  12. 「コンポーネント」ウィンドウからViewObject Showタグを選択します。

    ViewObject Showタグには、XML形式のビュー・オブジェクトのデータが表示されます。ViewObject Updateでは、オプションで変換されたXMLドキュメントに基づいたビュー・オブジェクトに対して、挿入、更新および削除の処理を行います。

  13. 「ビュー・オブジェクトの選択内容」ダイアログで適切なビュー・オブジェクトを選択し、「次へ」をクリックします。
  14. 属性のデフォルト値を変更するか、受け入れます。属性を入力した後、「次へ」をクリックします。
  15. 「終了」をクリックします。

    入力したタグと属性がXSQLページに表示されていることを確認します。

  16. 「ファイル」「すべて保存」の順に選択して、作業内容を保存します。
  17. 「アプリケーション」ウィンドウでXSQLファイルを右クリックして、「<filename>.xsqlの実行」を選択すると、RAW XMLデータがWebブラウザに表示されます。

スタイルシートを使用してXMLデータの書式を設定できます。メッセージ・サービスを介してXMLデータを別のアプリケーションに渡すこともできます。

注意:

XSQLページをビジネス・コンポーネントのXSQL処理ハンドラとともに使用するには、希望する接続モードを基にしたすべてのJBOライブラリに加えて、XSQLランタイムおよびJBO HTMLライブラリをプロジェクトのクラスパスに含める必要があります。これらは、JDeveloperによって自動的にクラスパスに含められます。

20.8.8 XSQLエラーJBO-27122に関する必知事項

循環ビュー・リンク・アクセッサを使用してビュー・オブジェクトを問い合せると、XSQLエラーJBO-27122が発生することがあります。

複数の表の間に外部キー関係がある場合を考えてみます。たとえば、Oracle10iリリース2のデータベース・サンプルのHRスキーマでは、国、部門、従業員および場所の表の間にこのような関係があります。これらの表に基づいて単純なビジネス・コンポーネント・プロジェクトを作成し、さらにCountriesView1というビュー・オブジェクトにアクセスするXSQLクライアントを作成すると、次の例のようなエラーが発生します。

<?xml version="1.0" encoding="windows-1252" ?> 
- <!-- 
| 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" ?>
 
 
--> 
- <page>
- <xsql-error action="xsql:action">
  <message>JBO-27122: SQL error during statement preparation. Statement: SELECT Employees.EMPLOYEE_ID, Employees.FIRST_NAME, Employees.LAST_NAME, Employees.EMAIL, Employees.PHONE_NUMBER, Employees.HIRE_DATE, Employees.JOB_ID, Employees.SALARY, Employees.COMMISSION_PCT, Employees.MANAGER_ID, Employees.DEPARTMENT_ID, Employees.DN FROM EMPLOYEES Employees WHERE (Employees.DEPARTMENT_ID = :1)</message> 
  </xsql-error>
  </page> 

このエラーは、max-levelsパラメータにデフォルト値を使用して、基礎となるwriteXML()メソッドを使用しているために発生します。このため、前述した外部キーによって作成される循環参照により無限ループが発生し、ORA-1000 MaxOpenCursors超過エラーが内部で発生します。

これを回避するには、コードを次のように変更します。

<xsql:action handler="oracle.jbo.xsql.ViewObject"
      name="YourViewUsageName"
      appmodule="a.b.c.YourModuleName"
      configname="YourModuleNameLocal">
   <view-attribute-list viewdefname="a.b.c.YourViewName"
         include-only"Attr1 Attr2 Attr3"
       :
</xsql:action>

属性リストを制御する各ビュー定義に複数の<view-attribute-list>要素を使用できます。1つの<view-attribute-list>要素を使用するとすぐに、<view-attribute-list>要素に含まれている属性のみをインクルードするwriteXML()の新しいAPIが使用されます。

ビュー・オブジェクトの詳細を表示するには、そのビュー定義のinclude-onlyリストにある属性名のリストに、ビュー・リンク・アクセッサ属性名を含める必要があります。次の例はCountriesViewに基づく使用例です。

<?xml version="1.0" encoding='windows-1252'?>
<!--
| 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" ?>
-->
<page xmlns:xsql="urn:oracle-xsql">
    <xsql:action 
    handler="oracle.jbo.xsql.ViewObject" 
    name="CountriesView1"
    configname="HrModuleLocal" 
    appmodule="hr.HrModule">
    <view-attribute-list viewdefname="hr.HrModule.CountriesView"
    include-only="CountryId CountryName CurrencyName" /> 
    </xsql:action>
 
</page>

20.8.9 XSQLのカスタム・アクション・ハンドラの作成方法

XSQLページのアクション・ハンドラは、特定のタスクを実行するために起動されるJavaクラスです。Cookieの設定、スタイルシートの適用、データベースに対する問合せの実行など、様々なタスクに対応した事前作成済アクション・ハンドラがあります。ただし、組込みのアクション・ハンドラで提供されていない操作を実行する場合、カスタム・アクション・ハンドラを作成できます。カスタム・アクション・ハンドラは、事前定義済のアクション・ハンドラと同じように簡単にXSQLページから起動できるJavaクラスです。

アクション・ハンドラを作成するには、次のようにします。

  1. プロジェクトにXSQL構成ファイルを追加します。
  2. XSQL構成ファイルで、要素名とハンドラ・クラスを指定して、新しいアクション・ハンドラを登録します。
  3. XSQLファイルで、新しい要素とその属性を追加します。
  4. XSQLファイルで、<page>タグに接続情報を追加します。
  5. プロジェクトにJavaファイルを追加します。
  6. Javaファイルで、XSQLActionHandlerImplクラスを拡張するクラスを作成します。

BC4JのXSQLアクション・ハンドラは、JDeveloperのJBO HTMLライブラリの一部としてパッケージ化されており、関連する<JdevHome>/BC4J/jlib/bc4jhtml.jarアーカイブがビルドに含まれます。

// 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()); 
    }
}

20.8.10 XSQLサーブレットのデプロイ方法

XSQLサーブレットは、データベースをサーブレット・クライアント環境にデプロイするために必要な情報とロジックが格納された実行可能パッケージを生成します。このデータベース・デプロイメント・パッケージをセットアップおよびデプロイメント・ソリューションに組み込んだり、別個のアプリケーションとしてクライアントに提供したりできます。XSQLサーブレットをデプロイするには、マスター・データベース、デプロイメント・シナリオを指定し、デプロイメントの準備が整った自己完結型の実行可能ファイルを生成する必要があります。

次に示すのはカスタム・アプリケーションです。カスタム・アプリケーションの作成時に、XSQLアプリケーションの開発に適した機能を追加します(アプリケーション作成の一部としてJavaとXSQLを選択する場合)。

XSQLサーブレットをデプロイするには、次のようにします。

  1. 必要に応じて、新規のアプリケーションとプロジェクトを作成します。
  2. XSQLファイルが「アプリケーション」ウィンドウのソース・エディタでまだ開いていない場合は、作成したXSQLファイルの名前をダブルクリックして開きます。
  3. 「ファイル」「新規」を選択して「新規ギャラリ」を開きます。
  4. 「新規ギャラリ」の「カテゴリ」ツリーの「一般」で、「XML」を選択します。
  5. 「項目」リストで「XSQLファイル」をダブルクリックします。
  6. 「コンポーネント」ウィンドウで、「問合せ(XSQL)」をページにドラッグ・アンド・ドロップします。これにより、「問合せ」ウィザードが開き、データベース接続に関する情報が表示されます。SQL問合せを入力します。ウィザードの終了時に<xsql:query>タグがXSQLファイルに追加されます。
  7. 「次へ」を選択します。ウィザードの第2ページで、データベース接続をまだ作成していない場合は、新しい接続を作成します。または、使用する既存のデータベース接続を選択します。

    問い合せる予定のスキーマや表がデータベースに存在することが必要です。データベース接続の設定の詳細は、「データベース接続の設定」を参照してください。「次へ」をクリックします。

  8. SQL問合せをファイルに追加します。問合せの例を次に示します。
    SELECT DISTINCT d.department_id as h_deptno, department_name as "Department_name"
    FROM departments d, employees e
    WHERE d.department_id = e.department_id
    ORDER BY d. department_name
    
  9. 「終了」をクリックします。問合せおよび関連するXSQLタグがXSQLファイルに入力されます。
  10. これで、XSQL問合せを統合WebLogic Serverで実行してテストできます。このサーバーには、IDE内でWebアプリケーションを開発、テストおよびデバッグするために必要な機能がすべて用意されています。詳細は、「統合アプリケーション・サーバーでのJava EEアプリケーションの実行」を参照してください。
  11. 「アプリケーション」ウィンドウまたはソース・エディタのXSQLファイルのポップアップ・メニューで、「実行」をクリックします。必要に応じて、統合WebLogic Serverはデフォルトのドメインを作成してから起動します。統合WebLogic Serverを初めて起動する場合、ダイアログが表示され、デフォルト・ドメイン上のデフォルト・ユーザーweblogicのパスワードを入力する必要があります。この手順は1回のみ実行する必要があります。

    ダイアログで「OK」をクリックすると、デフォルトのドメインが作成されます。これには数分かかることがあります。進行状況が「ログ」ウィンドウに表示されます。

    統合WebLogic ServerでXSQLファイルを実行すると、デフォルトのブラウザにSQL問合せの結果が表示されます。

  12. 統合WebLogic ServerでXSQLファイルのテストが正常に完了したら、次のステップとしてアプリケーションをアプリケーション・サーバーにデプロイして実行します。
  13. XSQLの実行に使用される構文はJDeveloperとOracle WebLogic Serverとで異なるため、XSQLソース・ファイルで接続情報を次のように変更する必要があります。
    connection="java:comp/env/jdbc/database-connection-nameDS"
    

    置換後

    connection="jdbc/database-connection-nameDS"
    

    注意:

    アプリケーションを統合WebLogic Serverで実行するには、接続情報を元に戻す必要があります。

  14. アプリケーションをデプロイするには、最初にデプロイメント・プロファイルを作成し、これにアプリケーションをデプロイする必要があります。「アプリケーション」ウィンドウで、XSQLサーブレットが含まれるプロジェクトを右クリックして、「新規」を選択します。「新規ギャラリ」で「General」を展開し、「デプロイメント・プロファイル」を選択します。
  15. WARデプロイメント・プロファイルなどのプロファイルを選択し、「OK」をクリックし、デプロイメント・プロファイルの作成を続行します。詳細は、「デプロイメント・プロファイルの作成および編集方法」を参照してください。
  16. アプリケーションをデプロイメント・プロファイルにデプロイするには、XSQLサーブレット・ファイルが含まれるプロジェクトを右クリックして、「デプロイ」「profile」を選択します。「profile」は、作成したデプロイメント・プロファイルの名前です。

    「デプロイ」ダイアログで、「WARにデプロイ」(または、別のタイプのデプロイメント・プロファイルを選択した場合は適切なオプション)を選択し、「終了」をクリックします。

  17. これで、Oracle WebLogic Serverなどのアプリケーション・サーバーにアプリケーションをデプロイできるようになります。実行する必要のある手順は次のとおりです。
    • XSQLファイル内の接続情報を使用してターゲット・アプリケーション・サーバー上でデータソースを作成します。詳細は、「JDBCデータソースの設定」を参照してください。

    • アプリケーション・サーバーへの接続を作成します。詳細は、「ターゲット・アプリケーション・サーバーへの接続の作成方法」を参照してください。

    • XSQLサーブレット・ファイルが含まれるプロジェクトを右クリックして、「デプロイ」「profile」を選択し、アプリケーションをデプロイします。「profile」は、作成したデプロイメント・プロファイルの名前です。

      「デプロイ」ダイアログで、「アプリケーション・サーバーへのデプロイ」を選択し、次のページでアプリケーション・サーバー接続を選択し、「終了」をクリックします。

    アプリケーションがデプロイされたら、http://targethost:port/web-context-root/filename.xsqlにナビゲートすることにより、ブラウザ・ウィンドウで問合せの結果を表示できます。

20.8.11 実行中のXSQLファイルからのRAW XMLデータとしての出力の表示方法

XSQLファイルを作成してタグを追加した後、RAW XMLデータを表示するか、スタイルシートを使用してXMLデータを書式設定します。

XSQLファイルをRAW XMLデータとして表示するには、次のようにします。

  • 「アプリケーション」ウィンドウでXSQLファイルを選択し、右クリックして「実行」を選択すると、ソース・ファイルがWebブラウザに表示されます。

    JDeveloperにより統合WebLogic Serverが開始され、デフォルトのWebブラウザが起動して、XSQLサーブレットがXSQLページを処理した後に生成されたRAW XMLデータが表示されます。

20.8.12 XSQLファイル用XSLスタイルシートの作成方法

JDeveloperでは、データをHTML、WMLまたは他の出力で書式設定するため、XSQLファイルに適用できるXSLスタイルシートを作成できます。XSLスタイルシートを作成すると、選択したXSQLプロジェクトに追加されます。

XSLスタイルシートを作成するには、次のようにします。

  1. 「アプリケーション」ウィンドウで、新しいXSLページを作成するプロジェクトを選択します。
  2. 「ファイル」「新規」「ギャラリから」を選択します。
  3. 「カテゴリ」ツリーで、「一般」を開いて「XML」を選択します。
  4. 「項目」リストで「XSLスタイル・シート」をダブルクリックします。
  5. 「ファイル名」フィールドに、生成するファイルの名前を入力します。
  6. 「ディレクトリ名」フィールドは変更せず、JDeveloperがWebアプリケーション・ファイルを検索するディレクトリに作業内容を保存します。

    スケルトンXSLファイルが生成され、アクティブなプロジェクトに表示されます。

    XMLエディタを編集して、独自のカスタム・スタイルシートを作成できます。XMLデータをワイヤレス・マークアップ・ランゲージ (WML)に変換するXSLスタイルシートの例は、後述します。完了すると、XSQLファイルのスタイルシート名を指定して、RAW XMLデータを書式設定できます。

    次の例のスタイルシートは、XMLからWMLへの変換を示しています。BC4JアプリケーションでデフォルトのDeptViewを使用します。

<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"/>&nbsp;</strong>
   xsl:value-of select="Dname"/>&nbsp;
   <xsl:value-of select="Loc"/>
   </p>
   </xsl:for-each>
   </card>
</wml>

</xsl:template>
</xsl:stylesheet>

20.8.13 スタイルシートを使用したXMLデータの書式設定方法

XSQLファイルを作成してタグを追加した後、XSLスタイルシートを使用してXMLデータの書式を設定したり、RAW XMLデータを表示できます。以前に作成したスタイルシートを使用することも、JDeveloperで新規のスタイルシートを作成して適用することもできます。スタイルシートを適用することで、HTML、またはWireless Markup Language (WML)などの他のマークアップ言語にXMLデータを変換できます。

スタイルシートを使用してXMLデータの書式を設定する手順は、次のとおりです。

  1. 「アプリケーション」ウィンドウで、スタイルシートを追加するXSQLファイルをダブルクリックします。
  2. ソース・ファイルで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" ?>
    -->
    
  3. <?xml-stylesheet?>行を -->閉じ大カッコの下に移動して、コメントを解除します。
  4. この行で、YourStyleSheet.xsl をスタイルシートの名前に置換します。たとえば、stylesheet1.xslという名前のスタイルシートを指定します。

    次に、このプロジェクトの外部で作成したファイルを使用する場合は、指定したファイルをプロジェクトに追加します。

  5. 「アプリケーション」ウィンドウでプロジェクトを選択し、「プロジェクト」「プロジェクト<プロジェクト名>に追加」を選択します。

    「プロジェクトに追加」ダイアログで、ディレクトリに移動し、指定したスタイルシート・ファイルを選択します。

  6. 「開く」をクリックします。
  7. 「ファイル」「すべて保存」の順に選択して、すべての変更を保存します。

    追加したファイルが「アプリケーション」ウィンドウに表示され、XMLエディタで開きます。開いているファイルを閉じることもできます。

  8. 「アプリケーション」ウィンドウでXSQLファイルを右クリックし、「実行」を選択すると、ファイルがWebブラウザに表示されます。

    書式設定されたXMLデータをブラウザで表示できます。

20.8.14 XSQL構成ファイルの変更方法

XSQL構成ファイルXSQLConfig.xmlは、クラスパス上に存在するため、XSQLページから常にアクセスできます。接続情報は、JDeveloperで新規接続を作成すると、XSQLConfig.xmlファイルに追加されます。XSQLConfig.xmlはシステム・ディレクトリにあり、XSQLファイルを含むプロジェクトがコンパイルされると、WEB-INFディレクトリにコピーされます。カスタム・アクション・ハンドラを登録するなどの変更が必要な場合は、プロジェクトにファイルを追加することもできます。

注意:

XSQLプロジェクトをJDeveloperに移行しても、XSQLConfig.xmlファイルは更新されません。プロジェクトの移行後、接続を再作成したり、JDeveloperで既存の接続を編集することで接続を更新できます。

プロジェクトのXSQL構成ファイルを変更するには、次のようにします。

  1. 「アプリケーション」ウィンドウでプロジェクトが選択された状態で、 「プロジェクト」「プロジェクト<プロジェクト名>に追加」を選択します。
  2. JDeveloperインストール・ディレクトリのシステム・ディレクトリにナビゲートしてXSQLConfig.xmlを選択し、「開く」をクリックします。
  3. XMLエディタで変更または追加します。
  4. 「ファイル」「保存」の順に選択して、修正したファイルを保存します。

20.8.15 XSQLファイルでのXMLメタデータ・プロパティの使用

表20-8に示すカスタム・プロパティは、ビュー・オブジェクトまたは行のwriteXMLメソッドを使用する際、XMLの生成に影響します。


表20-8 メタデータ・プロパティ

プロパティ名 有効な対象

XML_ELEMENT

有効な要素名

ビュー・オブジェクトおよびビュー属性

XML_ROW_ELEMENT

有効な要素名

ビュー・オブジェクト

XML_CDATA

任意の値(空でない)

ビュー属性

XML_EXPLICIT_NULL

任意の値(空でない)

ビュー・オブジェクトおよびビュー属性


20.8.15.1 XML_ELEMENTの使用

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>

20.8.15.2 XML_ROW_ELEMENTの使用

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>

20.8.15.3 XML_CDATAの使用

XML_CDATAカスタム・プロパティがビュー属性に対して空でない値に設定されると、その値はプレーン・テキストとしてではなく、CDATAセクションとして出力されます。

20.8.15.4 XML_EXPLICIT_NULLの使用

XML_EXPLICIT_NULLカスタム・プロパティがビュー属性に対して空でない値に設定されると、NULL値を持つすべての属性で、次のようなXML要素が生成されます。

<AttributeName null="true"/>

デフォルトの場合は、XML結果から<AttributeName>要素が省略されます。

XML_EXPLICIT_NULLがビュー属性に対して空でない値に設定されると、指定した属性がNULL値を持つ場合は、システムにより次のようなXML要素が生成されます。

<AttributeName null="true"/>

デフォルトの場合は、XML結果から<AttributeName>要素が省略されます。