ヘッダーをスキップ

Oracle Database Application Expressユーザーズ・ガイド リリース 3.0 E05267-02 |
| 目次 | 索引

前へ | 次へ |

# 7 ページ・レイアウトおよびユーザー・インタフェースの制御

このセクションでは、リージョンのカスタマイズ、アイテム属性の編集、テンプレートのカスタマイズ、カスケード・スタイルシートおよびイメージの組込みなど、アプリケーションのユーザー・インタフェースおよびページ・レイアウトをカスタマイズできる様々な方法について説明します。

このセクションの内容は次のとおりです。

- Oracle Application Expressでのページ・レイアウトの理解

- アプリケーションの各ページのコンポーネントの表示

- リージョンの理解

- 複数列レイアウトの作成

- アイテム属性がページ・レイアウトに与える影響

- 他のWebサイトからのコンテンツの統合

- テーマの管理

- テンプレートのカスタマイズ

- 印刷用ページの最適化

- カスタム・カスケード・スタイルシートの使用

- イメージの管理

- 静的ファイルの管理

- カスタムPL/SQLを使用したHTMLのレンダリング

参照: 「ナビゲーションの追加」および「ドラッグ・アンド・ドロップ・レイアウト・ページの使用」

## Oracle Application Expressでのページ・レイアウトの理解

Application Expressエンジンは、開発者によって定義されたアプリケーション・コンポーネントおよびデータベース内のデータをテンプレートと組み合せてページをレンダリングします。

全体的なフレームワーク（またはページの構造）は、ページ・テンプレートによって決まります。たとえば、ページ・テンプレートは、ページでタブおよびナビゲーション・バーを使用するかどうかを制御します。また、ページの左側にナビゲーションまたはセカンダリ・コンテンツ用のプレースホルダとして機能するバーを含めるかどうかを定義することもできます。さらに、ページ・テンプレートには、リージョン位置の定義を含めることができます。これによって、HTML表またはスタイルシート定義を使用してリージョンの位置を正確に制御できます。ページ・テンプレート自体は、置換文字列と組み合されたHTMLで構成されます。これらの置換文字列は、実行時に、適切なコンポーネントに置換されます。

開発者は、リージョンを作成することによってページにコンテンツを追加します。リージョンはページの領域で、コンテンツのコンテナとして機能します。各リージョンには、HTML、レポート、フォーム、チャート、リスト、ブレッドクラム、PL/SQL、ツリー、URL、カレンダなどの様々なコンテンツが含まれます。他のリージョンとの相対位置によって（順序番号および列に基づいて）、またはページ・テンプレートに定義されたリージョン位置を使用して、リージョンを配置します。リージョンのスタイルは、リージョン・テンプレートによっても制御されます。ページ・テンプレートと同様に、リージョン・テンプレートは、リージョンを表示するページ上の領域の構造を定義します。リージョン・テンプレートは、リージョン・タイトルを表示するかどうか、およびメイン・コンテンツ（ボディ）に対するリージョン・タイトルの相対的な表示位置を定義します。リージョンでは、ボタンの絶対位置を定義することもできます。

参照: 「リージョンの作成」

## アプリケーションの各ページのコンポーネントの表示

アプリケーションのページ0（ゼロ）は、マスター・ページとして機能します。ページ0に追加したすべてのコンポーネントは、Application Expressエンジンによってアプリケーション内の各ページにレンダリングされます。Application Expressエンジンでコンポーネントをレンダリングするか、または条件を定義することで計算、検証またはプロセスを実行するかを制御することもできます。

ページ0（ゼロ）を作成するには、次のステップを実行します。

1. 作業領域のホームページで、「アプリケーション・ビルダー」をクリックします。

2. アプリケーションを選択します。

   アプリケーションのホームページが表示されます。

3. 「ページの作成」ボタンをクリックします。

4. 「ページ・タイプの選択」では、「ページ0(ゼロ)」を選択します。

   アプリケーションにページ0（ゼロ）がない場合にのみ、「ページ0(ゼロ)」オプションが表示されることを確認してください。

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

参照: 「アプリケーション内のページの管理」、「条件付きのレンダリングおよびプロセスの理解」および「使用可能な条件」

## リージョンの理解

リージョンはページ上の領域で、コンテンツのコンテナとして機能します。各ページには任意の数のリージョンを設定できます。リージョンの外観は、特定のリージョン・テンプレートで制御します。リージョン・テンプレートでは、リージョンの外観およびサイズの制御、枠線または背景色を使用するかどうかの指定、表示するフォントの決定を行います。また、リージョン位置に配置されるボタンの標準配置も制御します。

リージョンを使用すると、ページ・コントロール（アイテムやボタン）をグループ化できます。追加のHTMLを生成しない単純なリージョンを作成したり、HTML表やイメージ内でコンテンツを形成する詳細なリージョンを作成できます。

リージョンは、HTML表の列内では順番に表示されます。ページ・テンプレートに定義された位置にリージョンを明示的に配置することもできます。条件付きでリージョンを表示するように選択することもできます。

このセクションの構成は次のとおりです。

- ページ定義の「リージョン」セクションについて

- 「リージョンの順序変更」アイコンの使用

- リージョンの作成

- リージョン・タイプについて

- リージョン属性の編集

- リージョンのコピー

### ページ定義の「リージョン」セクションについて

ページ定義でリージョンを作成および編集できます。リージョンは、「ページ・レンダリング」セクションの下に表示されます。詳細は、「ページ定義へのアクセス」を参照してください。

pg_def_regions.gifの説明

「リージョン」アイコンをクリックすると、その他のサブセクションが一時的に非表示になります。表示を元に戻すには、「すべて表示」をクリックします。「すべて表示」アイコンは、下向き三角形の形をしています。

セクション・タイトルの横に次のアイコンが表示されます。

- すべての編集: 「すべての編集」アイコンは、鉛筆が置かれた小さいグリッドの形をしています。このアイコンを使用して、すべてのリージョンを一度に編集できます。

- コピー: 「コピー」アイコンは、小さいページが2つ重なった形をしています。このアイコンを使用して、既存のリージョンのコピーを作成します。

- 作成: 「作成」アイコンは、プラス（+）記号が置かれた小さいページの形をしています。

リージョンは、位置（表示ポイント）で構成されます。リージョンで使用可能なリンクは、リージョンのタイプによって異なります。

参照: 「リージョン属性の編集」および「「リージョンの順序変更」アイコンの使用」

### 「リージョンの順序変更」アイコンの使用

ページ定義で「リージョンの順序変更」アイコンをクリックすると、リージョンの表示順序の変更、リージョン・タイトルの編集、またはリージョン・テンプレートの変更を簡単に行えます。「リージョンの順序変更」アイコンは、ライトグリーンの下矢印および上矢印として、表示ポイントの右側に表示されます。

reorder_regions.gifの説明

「リージョンの順序変更」アイコンを使用してリージョンを編集するには、次のステップを実行します。

1. 該当するページ定義にナビゲートします。「ページ定義へのアクセス」を参照してください。

2. 「リージョン」で「リージョンの順序変更」アイコンをクリックします。

   リージョンの順序変更ページが表示されます。このページを使用して、リージョン・タイトルの編集や新しいテンプレートの選択を行います。

3. 「リージョン」で新しいタイトルを入力します。

4. 「テンプレート」から新しいテンプレートを選択します。

5. リージョンの表示順序を変更するには、右端の列で上矢印および下矢印をクリックします。

6. 「変更の適用」をクリックします。

### リージョン属性の編集

「リージョン定義」で属性を編集することで、ページの外観を変更できます。

このセクションの構成は次のとおりです。

- リージョン定義の編集

- リージョン属性がページ・レイアウトに与える影響

- 「リージョンの順序変更」アイコンの使用

- リージョン位置の制御

- リージョンのヘッダーおよびフッターの指定

- ユーザーによるページのカスタマイズの可能化

- リージョン・キャッシュの使用

- 静的リージョンIDの指定

#### リージョン定義の編集

リージョン属性を編集するには、次のステップを実行します。

1. 該当するページ定義にナビゲートします。「ページ定義へのアクセス」を参照してください。

2. 「リージョン」で、リージョン名を選択します。

   リージョン定義が表示されます。

3. 対象となる属性を編集します。

4. ページ上の特定のアイテムの詳細を表示するには、アイテム・ラベルをクリックします。

   ヘルプが使用できる場合、アイテム・ラベルの上にカーソルを置くとアイテム・ラベルは赤に変わり、カーソルは矢印と疑問符マークに変わります。「フィールドレベル・ヘルプ」を参照してください。

5. 「変更の適用」をクリックします。

参照: 「リージョン属性がページ・レイアウトに与える影響」、「リージョン位置の制御」、「「リージョンの順序変更」アイコンの使用」および「リージョンのヘッダーおよびフッターの指定」

##### ナビゲーションの選択肢

リージョン定義ページは、「指定」、「ユーザー・インタフェース」、「ソース」、「条件」、「キャッシュ」、「ヘッダーおよびフッター」、「認可」、「カスタマイズ」、「構成」および「コメント」の各セクションに分かれています。

これらのセクションにはページをスクロール・ダウンするか、ページ上部のナビゲーション・ボタンをクリックすることでアクセスできます。ページ上部のボタンを選択すると、選択されたセクションが表示され、その他のセクションはすべて一時的に非表示になります。ページのすべてのセクションを表示するには、「すべて表示」をクリックします。

#### リージョン属性がページ・レイアウトに与える影響

表7-1に、ページ・レイアウトに影響を与えるリージョン属性を示します。

表7-1 ページ・レイアウトに影響を与えるリージョン属性

属性 | 説明
--- | ---
ユーザー・インタフェース、テンプレート | リージョンの外観を決定します。アプリケーションで定義されたリージョン・テンプレートから選択します。テンプレート属性を表示するには、ページ定義でテンプレート名をクリックします。 参照: 「テンプレートのカスタマイズ」および「リージョン・テンプレート」
ユーザー・インタフェース、順序 | ページ内のリージョンの表示順を指定します。
ユーザー・インタフェース、表示ポイント | ページ内でリージョンを表示する位置を指定します。リージョンは、「表示ポイント」の順序番号順にレンダリングされます。ページ・レイアウトを表示するには、「ビュー」アイコンをクリックして、位置を選択します。 選択可能な表示ポイントは、ページ・レベル・テンプレート（ページ属性）によって決定されます。ページ・レベル・テンプレートを選択しなかった場合は、「アプリケーションの定義」で定義されたデフォルトのページ・レベル・テンプレートが使用されます。
ユーザー・インタフェース、リージョンHTML表のセル属性 | リージョンが複数の列に表示される場合にHTML表セルで使用される追加の属性を定義します。この属性は、複数の列でのリージョンの配置に使用される表のセルを制御します。
ユーザー・インタフェース、列 | リージョンを表示する列を決定します。同じ表示ポイントに 2つのリージョンがある場合は、2番目のリージョンを列2に表示するように設定することによって、2つのリージョンを並べて配置できます。多数のリージョンはそれぞれの列に表示でき、リージョン表示ポイントおよび列内でのリージョンの表示順は、リージョン表示順序番号によって制御されます。
ヘッダーおよびフッター | リージョンの最上部（`#BODY#`コンテンツの直前）に表示されるHTMLテキストを指定します。
条件付き表示 | リージョンを表示するかどうかを決定する条件および適切な式を定義します。条件では、セッション・ステート、現在ログインしているユーザーまたは環境設定（ページが印刷用ビュー・モードかどうかなど）を参照できます。 参照: 「条件付きのレンダリングおよびプロセスの理解」および「印刷用ページの最適化」
カスタマイズ | エンド・ユーザーによるカスタマイズを可能にします。この機能を使用するには、ページ・テンプレートのヘッダー、ボディまたはフッター・セクションに`#CUSTOMIZE#`置換文字列を含める必要があります。 参照: 「ユーザーによるページのカスタマイズの可能化」

##### リージョン位置の制御

リージョンを作成する際に、ページでのそのリージョンの位置（「表示ポイント」）を指定する必要があります。デフォルト位置（ページ・テンプレート・ボディなど）またはテンプレートにユーザーが定義した位置（「ページ・テンプレートのリージョン位置1」など）のいずれかを選択できます。

表示ポイントに加えて、リージョンを配置する列を指定できます。複数の列にリージョンを配置する場合は、Oracle Application Expressによって必要なHTMLが自動的にレンダリングされ、複数列のレイアウトが生成されます。

#### リージョンのヘッダーおよびフッターの指定

リージョンのボディ・コンテンツ（レポート、チャートまたはフォーム要素付きのHTML）に加えて、追加のHTMLをリージョンの上下（ヘッダーおよびフッター）に配置できます。

リージョン・フッターでは次の置換文字列がサポートされています。

- `#TIMING#:` リージョンのレンダリングにかかる経過時間（秒）を表示できます。この置換文字列はデバッグに使用できます。

- `#ROWS_FETCHED#`: Oracle Application Expressレポート・エンジンによってフェッチされた行数（ページ・サイズ）を表示できます。これらの置換文字列を使用して、カスタマイズされたメッセージをユーザーに表示できます。次に例を示します。

      Fetched #ROWS_FETCHED# rows in #TIMING# seconds.

- `#TOTAL_ROWS#`: レポートに使用されたSQL問合せを満たす行の合計数を表示できます。

- `#FIRST_ROW_FETCHED#` および`#LAST_ROW_FETCHED#:` 表示される行の範囲を表示できます。次に例を示します。

      Row(s) #FIRST_ROW_FETCHED# through #LAST_ROW_FETCHED# of #ROWS_FETCHED# displayed

#### ユーザーによるページのカスタマイズの可能化

カスタマイズ属性を使用すると、実行中のアプリケーションでユーザーがリージョンのオン/オフを切り替えることができるようになります。

エンド・ユーザーは次のステップでカスタマイズできます。

1. 該当するページ定義にナビゲートします。「ページ定義へのアクセス」を参照してください。

2. 「リージョン」で、リージョン名をクリックします。

   リージョン定義が表示されます。

3. 「カスタマイズ」までスクロールして、次のいずれかを選択します。

   - デフォルトでカスタマイズ可能および非表示

   - デフォルトでカスタマイズ可能および表示

4. 「カスタマイズ・オプション名」に、ページのこのリージョンをユーザーに示すラベルを入力します。

5. ページ・テンプレートの「ヘッダー」、「ボディ」または「フッター」セクションに`#CUSTOMIZE#`置換文字列を含めます。

この機能を使用するには、ページ・テンプレートのヘッダー、ボディまたはフッター・セクションに`#CUSTOMIZE#`置換文字列を含める必要があります。

エンド・ユーザーによるカスタマイズが1つ以上のリージョンでサポートされる場合、「カスタマイズ」というリンクがページ・テンプレートで`#CUSTOMIZE#`置換文字列を含めた場所に表示されます。このリンクをクリックするとウィンドウが表示され、ユーザーは、ページのリージョンのオン/オフを切り替えることができるようになります。

参照: 「テンプレートのカスタマイズ」

#### リージョン・キャッシュの使用

リージョン・キャッシュの有効化は、静的HTMLを含む条件またはリージョンが使用されていないリストが含まれるリージョンなどの静的リージョンのパフォーマンスの向上に効果的な方法です。

リージョン・キャッシュを有効化すると、Application Expressエンジンによって、リージョンを動的にレンダリングするかわりにキャッシュされた（または格納された）リポジトリからリージョンをレンダリングします。実際のセッション識別子はキャッシュされないことに注意してください。かわりに、Application Expressエンジンでは、`&SESSION.`置換文字列がキャッシュされ、キャッシュされたリージョンをレンダリングしたカレント・セッションが表示時に代入されます。たとえば、リージョンにリンクが含まれ、リンクにセッションが含まれる場合、リンクがすべてのセッションで動作するようにするため、完全なセッションはキャッシュされません。

Application Expressエンジンは、リージョンが定義した条件を満たす場合にのみキャッシュからレンダリングします。また、リージョンは、ユーザーまたはキャッシュされた独立したユーザーに対してのみキャッシュできます。

参照: 「キャッシュ」

##### リージョン・キャッシュの有効化

リージョン・キャッシュを有効化するには、次のステップを実行します。

1. 該当するページ定義にナビゲートします。「ページ定義へのアクセス」を参照してください。

2. 「リージョン」で、リージョン名をクリックします。

   リージョン定義が表示されます。

3. 「キャッシュ」までスクロールして、次の項目を指定します。

   1. キャッシュ: 「キャッシュ」を選択して、ユーザーから独立したリージョンをキャッシュします。「ユーザー別のキャッシュ」を選択して、指定したユーザー固有のリージョンをキャッシュします。

   2. 次の後にキャッシュをタイムアウト: キャッシュされたリージョンが有効な期間を指定します。

   3. キャッシュ条件タイプ: リストから条件タイプを選択します。条件がFalseを戻す場合、リージョンは動的にレンダリングされ、キャッシュされません。条件がTrueを戻す場合、リージョンはキャッシュされます。

   4. 式1および式2: 選択した特定の条件タイプに基づいて値を入力します。

4. 「変更の適用」をクリックします。

#### 静的リージョンIDの指定

カスタムJavaScriptまたはカスケード・スタイルシートの作成時に静的リージョンIDを指定すると有効です。リージョンの編集ページの「静的ID」属性を使用して、リージョンを一意に識別できます。リージョン・テンプレート、ヘッダー、フッターまたはボディの`#REGION_STATIC_ID#`置換文字列を使用してリージョンを参照できます。

静的リージョンIDを指定するには、次のステップを実行します。

1. 該当するページ定義にナビゲートします。「ページ定義へのアクセス」を参照してください。

   リージョン定義が表示されます。

2. 「指定」で、「静的ID」に値を入力します。

3. 「変更の適用」をクリックします。

### リージョンの作成

「リージョンの作成」ウィザードを実行して、新しいリージョンを作成します。

新しいリージョンを作成するには、次のステップを実行します。

1. 該当するページ定義にナビゲートします。「ページ定義へのアクセス」を参照してください。

2. 「リージョン」で、「作成」アイコンをクリックします。

   「リージョンの作成」ウィザードが表示されます。

3. リージョン・タイプを選択します。詳細は、「リージョン・タイプについて」を参照してください。

4. 画面に表示されるステップに従います。

### リージョン・タイプについて

リージョンの作成時には、リージョン・タイプを選択します。Application Expressエンジンは、選択したタイプに応じてリージョンを解釈します。表7-2に、使用可能なリージョン・タイプを示します。

表7-2 リージョン・タイプ

リージョン・タイプ | 説明
--- | ---
HTML | HTMLを選択すると、次のいずれかを選択するプロンプトが表示されます。 HTML: アイテムのコンテナとして機能し、指定したHTMLが含まれます。入力するHTMLには、置換文字列を含めることができます。 HTMLテキスト(特殊文字をエスケープ): HTMLリージョンと同じですが、Application Expressエンジンによって、特殊文字がレンダリング前にエスケープされます。 HTMLテキスト(ショートカットあり): HTMLリージョンと同じですが、ショートカットがサポートされます。 参照: 「ショートカットの使用」
レポート | レポート・リージョンは、SQL問合せを記述するか、またはウィザードを使用して問合せの記述に必要なステップを実行することによって定義できます。 参照: 「レポートの作成」
フォーム | フォーム・リージョンは、フォームを含めるために使用されます。 参照: 「フォームの作成」
チャート | チャート・リージョンには、SQL問合せに基づく線グラフ、棒グラフまたは円グラフが含まれます。 参照: 「チャートの作成」
リスト | リスト・リージョンには、リストと呼ばれるリンクの共有コレクションが含まれます。 参照: 「リストの作成」
ブレッドクラム | ブレッドクラム・リージョンには、ブレッドクラムと呼ばれるリンクの階層的なリストが含まれます。 参照: 「ブレッドクラムの作成」
PL/SQL動的コンテンツ | PL/SQLに基づくリージョンでは、PL/SQL Webツールキットを使用してHTMLまたはテキストをレンダリングできます。
ツリー | ツリーは、実行時に実行されるSQL問合せに基づく、階層的なナビゲーション・コントロールです。ユーザーは、これを使用してノードを展開および縮小できます。 参照: 「ツリーの作成」
URL | URLに基づくリージョンでは、事前定義されたURLを使用してWebサーバーをコールすることによって、コンテンツが取得されます。 参照: 「他のWebサイトからのコンテンツの統合」
カレンダ | カレンダ・リージョンは、カレンダを含めるために使用されます。 参照: 「カレンダの作成」
複数のHTML | 複数のHTMLリージョンを一度に作成するには、このオプションを使用します。表示されるフィールドで、各リージョンの順序、タイトル、表示ポイント、レポート・テンプレートおよび列を指定します。
ヘルプ・テキスト | ヘルプ・テキスト・リージョンでは、ページ・レベルのヘルプを指定できます。 参照: 「ヘルプ・ページの作成」

参照: PL/SQLを使用したWebアプリケーションの開発の詳細は、『Oracle Databaseアドバンスト・アプリケーション開発者ガイド』を参照してください。 htpパッケージの詳細は、『Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス』を参照してください。

### リージョンのコピー

「ページ定義」の「コピー」アイコンをクリックして、リージョンを迅速にコピーできます。「コピー」アイコンは、小さいページが2つ重なった形をしています。

pg_def_copy_ico.gifの説明

リージョンをコピーすると、リージョン内のボタンおよびアイテムもコピーできます。

注意: 「ツリー」タイプのリージョンには複数のリージョンが含まれるため、コピーできません。

リージョンをコピーするには、次のステップを実行します。

1. 「ページ定義」にナビゲートします。「ページ定義へのアクセス」を参照してください。

2. 「リージョン」で「コピー」アイコンをクリックします。

   リージョンの作成ウィザードが表示されます。

3. 「コピーするリージョン」で、コピーするリージョンを選択します。

4. 「コピー先ページ」で次を実行します。

   1. コピー先ページ: リージョンのコピー先のページを選択します。

   2. リージョン・アイテムのコピー: 「はい」または「いいえ」を選択し、このリージョン内のアイテムをコピーするかどうかを決定します。

   3. ボタンのコピー: 「はい」または「いいえ」を選択し、このリージョン内のボタンをコピーするかどうかを決定します。

   4. 「次へ」をクリックします。

5. 「リージョンのコピー」をクリックします。

## 複数列レイアウトの作成

リージョンは、特定のテンプレートを使用してHTMLコンテンツの書式を設定するページ領域です。リージョンを使用すると、ページ・コントロールをグループ化できます。複数列レイアウトを作成するには、同じ表の隣接するセルに表示される2つのリージョンを作成します。

複数列レイアウトは、次のいずれかの方法で作成できます。

- 2つの隣接するリージョンを手動で作成します。

- 複数列の表を含むページ・テンプレートを定義します。

このセクションの構成は次のとおりです。

- 複数列のリージョンの作成

- 複数列のページ・テンプレートの作成

### 複数列のリージョンの作成

リージョンの作成ウィザードを使用して、新しいリージョンを作成します。2列のページを作成するには、2つのリージョンを作成します。Oracle Application Expressによって、2列の表内の置換文字列`#BOX_BODY#`が置換され、2つの個別のセルにリージョンが表示されます。

リージョンを作成することによって2列のページを作成するには、次のステップを実行します。

1. 「ページ定義」にナビゲートします。「ページ定義へのアクセス」を参照してください。

2. 1つ目のリージョンを作成します。

   1. 「リージョン」で、「作成」をクリックします。

      「リージョンの作成」ウィザードが表示されます。

   2. リージョン・タイプを選択します。

   3. 「列」フィールドから、「1」を選択します。

   4. 画面に表示されるステップに従います。

3. 2つ目のリージョンを作成します。

   1. 「リージョン」で、「作成」をクリックします。

      「リージョンの作成」ウィザードが表示されます。

   2. リージョン・タイプを選択します。

   3. 「列」フィールドから、「2」を選択します。

   4. 画面に表示されるステップに従います。

### 複数列のページ・テンプレートの作成

ページ・テンプレートは、ページ・コントロールおよびページ・コンポーネントの配置など、個々のページの外観を定義します。各ページ・テンプレートは、ヘッダー、ボディおよびフッターの3つのセクションに分かれています。最も基本的なテンプレートのボディ属性には置換文字列`#BOX_BODY#`が含まれている必要があります。ページのレンダリング時、Application Expressエンジンによって`#BOX_BODY#`がHTMLで置換され、そのページにリージョンが表示されます。

複数列のページを作成するには、複数列の表を含むページ・テンプレートを定義します。次に、特定の表のセル内にリージョンを明示的に配置します。

次の例では、2列のページを作成し、各列で置換文字列`#REGION_POSITION_XX#`を使用してリージョンの位置を指定する方法を示します。ページ・レベル・テンプレートのボディ・セクションに次のコードを入力します。

    <body #ONLOAD#>
      #FORM_OPEN#
      <table style="width:100%">
        <tr>
          <td style="width:50%;padding:5px;">#REGION_POSITION_01#</td>
          <td style="width:50%; border-left:2px #bbbbbb dashed; padding:5px;">#REGION_POSITION_02#</td>
        </tr>
      <br />
      #BOX_BODY#
      #FORM_CLOSE#
    </body>

このページ・レベル・テンプレートを作成すると、リージョンの作成ウィザードの実行時に、新しく定義した位置が「表示ポイント」オプションとして選択可能になります。

## アイテム属性がページ・レイアウトに与える影響

アイテムはHTMLフォームの一部であり、テキスト・フィールド、テキスト領域、パスワード、選択リスト、チェック・ボックスなどを示します。アイテム属性を変更することで、ページの外観を変更できます。たとえば、これらの属性は、ラベルの表示位置、アイテムの大きさおよびアイテムの表示位置（左右、上下）に影響します。

参照: 「ページ・レベル・アイテムの理解」および「ドラッグ・アンド・ドロップ・レイアウト・ページの使用」

アイテム属性を編集するには、次のステップを実行します。

1. 「ページ定義」にナビゲートします。「ページ定義へのアクセス」を参照してください。

2. 「アイテム」で、アイテム名をクリックします。

   ページ・アイテムの編集ページが表示されます。

表7-3に、アイテム属性がページ・レイアウトに与える影響を示します。

表7-3 ページ・レイアウトに影響を与えるアイテム属性

ヘッダー | 属性 | 説明
--- | --- | ---
表示 | 順序 | リージョン内に表示されるアイテムの順序を決定します。
表示 | リージョン | アイテムを表示するリージョンを定義します。すべてのアイテムは、リージョンに存在します。
表示 | 新しい行で開始 | このアイテムを以前のアイテムと同じ行に表示するか、または次の行に表示するかを決定します。
表示 | ...フィールド | このアイテムを、次の列に表示するか前のアイテムと同じ列に表示するかを決定します。
表示 | 列スパン | アイテムは、HTML表に配置されます。アイテムを含む表セルのCOLSPAN属性に使用される値を定義します。
表示 | 行スパン | アイテムは、HTML表に配置されます。アイテムを表示する表セルのROWSPAN属性に使用される値を定義します。
ラベル | ラベル | このアイテムのラベルを定義します。HTML、JavaScriptおよびショートカットを含めることができます。置換文字列`#CURRENT_ITEM_NAME#`を使用して、このラベルに関連する名前を取得することもできます。
ラベル | 横/縦の位置合せ | ラベルの配置および縦横の位置合せを制御します。ラベルは、アイテムの上、下または左に表示できます。
ラベル | テンプレート | ラベル・テンプレートを指定します。ラベル・テンプレートを使用して、アプリケーション内のラベルに一貫性のある外観を適用します。
ラベル | HTML表のセル属性 | このアイテムのラベルを含むセルに、追加の属性（`nowrap="nowrap"`など）を定義します。
要素 | 要素の前のテキスト | ラジオ・グループまたは一連のチェック・ボックスの個々のオプションの表示に使用されるHTML表セルに、追加の属性を指定します。HTML、JavaScriptおよびショートカットを含めることができます。次の置換文字列を参照できます。 `#CURRENT_FORM_ELEMENT#`: この要素の後のテキストが関連付けられるHTMLフォーム要素の名前を取得します。 `#CURRENT_ITEM_NAME#`: この要素の後のテキストが関連付けられるアイテムの名前を取得します。
要素 | 要素の後のテキスト | ラジオ・グループまたは一連のチェック・ボックスの個々のオプションの表示に使用されるHTML表セルに、追加の属性を指定します。HTML、JavaScriptおよびショートカットを含めることができます。次の置換文字列を参照できます。 `#CURRENT_FORM_ELEMENT#`: この要素の後のテキストが関連付けられるHTMLフォーム要素の名前を取得します。 `#CURRENT_ITEM_NAME#`: この要素の後のテキストが関連付けられるアイテムの名前を取得します。
LOV | 列 | ラジオ・グループおよびチェック・ボックスに使用します。LOVに定義された値を表示するために使用する列の数を定義します。デフォルトでは、1つの列にすべての値を表示します。
条件 | 条件タイプと式 | アイテムを表示するかどうかを決定する条件および適切な式を定義します。 参照: 「条件付きのレンダリングおよびプロセスの理解」
読取り専用の表示設定 | 読取り専用条件タイプ | アイテムを読取り専用で表示するかどうかを決定する条件および式を定義します。この属性を使用すると、一連のユーザーに対する特定のアイテムを更新可能として表示し、その同じアイテムを他のユーザーに対しては更新不可として表示します。異なるユーザーでコードが重複するインタフェースの必要性を低減します。

## 他のWeb サイトからのコンテンツの統合

通常、アプリケーションのページは、Oracle Databaseに格納されたデータに基づきます。他のサーバーからコンテンツを組み込むには、コンテンツを表示するURLに基づくリージョンを作成できます。たとえば、現在のオラクル社の株価を参照すると想定します。次のようなURLに基づく、URLタイプのリージョンを作成します。

    http://quote.yahoo.com/q?d=b&s=ORCL

次に、STOCK_SYMBOLというアイテムを作成して、ユーザーが入力した株価をリージョンの基にします。次に例を示します。

    http://quote.yahoo.com/q?d=b&s=&STOCK_SYMBOL.

リージョンに対して必要以上に多くのHTMLが戻される場合があります（前述の例の場合など）。表示されるHTMLを制限するには、次のリージョン属性を使用できます。

- URL（破棄の終了、このテキストを含まず）

- URL（破棄の開始、このテキストを含む）

前述の例では、プロキシ・サーバー・アプリケーション属性の設定が必要な場合があることに注意してください。プロキシ・サーバー・アプリケーション属性を指定しない場合、エラー・メッセージが表示されます。Oracle Application Expressは、Oracleの`utl_http.request_pieces`ファンクションを使用して、指定したURLから生成されたHTMLを取得します。「アプリケーション定義の構成」を参照してください。

SSL有効URLでの作業

SSL有効URL（Webサービスの起動など）をコールする場合、またはSSL有効URLタイプのリージョンを作成する場合、ウォレットを作成する必要があります。ウォレットは、SSLに必要な認証および署名された資格証明（秘密鍵、証明書および信頼できる証明書）の格納に使用されるパスワード保護されたコンテナです。

ヒント: 「ウォレット情報の構成」を参照してください。

## テーマの管理

テーマは、アプリケーション全体のレイアウトおよびスタイルの定義に使用できるテンプレートのコレクションです。テーマにはテンプレートの完全なセットが用意され、アプリケーションに必要となる可能性があるすべてのUIパターンが提供されます。テンプレートは、まずタイプ別（ブレッドクラム、ボタン、カレンダ、ラベル、リスト、ページ、ポップアップLOV、リージョンおよびレポート）に分類され、次に、そのタイプ内の各テンプレートの用途を示すテンプレート・クラスごとに分類されます。各テンプレート・タイプには、標準クラスのグループおよび8つのカスタム・クラスが用意されています。このような分類によって、Oracle Application Expressではテーマ間でのテンプレートのマッピングが可能になり、アプリケーション全体のルック・アンド・フィールを簡単に変更できます。

このセクションの構成は次のとおりです。

- 「テーマ」ページへのアクセス

- テーマのデフォルトのテンプレートの変更

- 新しいテーマの作成

- アクティブなテーマの切替え

- テーマのコピー

- テーマの削除

- テーマのエクスポートおよびインポートについて

- テーマ識別番号の変更

- テーマ・レポートの表示

参照: 「テンプレートのカスタマイズ」

### 「テーマ」ページへのアクセス

テーマ・ページでテーマを管理します。共有コンポーネント・ページまたは「ページ定義」からテーマ・ページにアクセスできます。

このセクションの構成は次のとおりです。

- 「共有コンポーネント」からのテーマ・ページへのアクセス

- 「ページ定義」からのテーマ・ページへのアクセス

- テーマ・ページについて

#### 「共有コンポーネント」からのテーマ・ページへのアクセス

「共有コンポーネント」からテーマ・ページにアクセスするには、次のステップを実行します。

1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

2. アプリケーションを選択します。

3. 「共有コンポーネント」をクリックします。

4. 「ユーザー・インタフェース」で、「テーマ」を選択します。

   テーマ・ページが表示されます。

5. 「ビュー」リストから「詳細」を選択して、「実行」をクリックします。

   現在の列のチェック・マークはどのテーマが選択されたかを示します。

6. テーマ名をクリックします。

   テーマの作成/編集ページが表示されます。

#### 「ページ定義」からのテーマ・ページへのアクセス

ページ定義からテーマ・ページにアクセスするには、次のステップを実行します。

1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

2. アプリケーションを選択します。

3. ページを選択します。

   ページ定義が表示されます。

4. 「共有コンポーネント」で、「テーマ」セクションを特定します。

5. テーマ名をクリックします。

   テーマの作成/編集ページが表示されます。

### テーマのデフォルトのテンプレートの変更

標準テーマには、すべてのタイプのアプリケーション・コンポーネントおよびリージョン・タイプのテンプレートが含まれます。テーマに選択したデフォルトのテンプレートを、テーマの作成/編集ページで変更できます。

テーマのデフォルトのテンプレートは、新しいコンポーネントやリージョンの作成時に別のテンプレートを選択するか、またコンポーネントやリージョンの属性ページでテンプレートを変更することによって、オーバーライドできます。

テーマのデフォルトのテンプレーを確認または変更するには、次のステップを実行します。

1. テーマ・ページにナビゲートします。

   1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

   2. アプリケーションを選択します。

   3. 「共有コンポーネント」をクリックします。

   4. 「ユーザー・インタフェース」で、「テーマ」を選択します。

      テーマ・ページが表示されます。

2. テーマを編集するには、次のステップを実行します。

   1. 「ビュー」リストから「詳細」を選択し、「実行」をクリックします。

   2. テーマ名をクリックします。

   テーマの作成/編集ページが表示されます。

   テーマの作成/編集ページはいくつかのセクションに分かれています。これらのセクションにアクセスするには、ページをスクロール・ダウンするか、ページ上部のナビゲーション・ボタンをクリックします。ページの上部でボタンを選択すると、選択したセクションが表示され、その他すべてのセクションは一時的に非表示になります。ページの全セクションを表示するには、「すべての表示」をクリックします。

   アプリケーションIDおよびテーマ識別番号は、ページの上部に表示されます。

3. テーマ名を変更するには、「名前」フィールドに新しい名前を入力します。

4. デフォルトのテンプレートを変更するには、該当するリストから新しく選択します。

   表7-4に、 「コンポーネントのデフォルト値」で使用可能なデフォルトのテンプレートを示します。

   表7-4 コンポーネントのデフォルトのテンプレート

   属性 | 説明
   --- | ---
   ページ | ページを表示するためのデフォルトのテンプレートを指定します。開発者が明示的にテンプレートを選択しない場合、Application Expressエンジンは、ここで指定されたテンプレートを使用します。 デフォルトのテンプレートを定義すると、定義の編集ページのヘッダー「デフォルトのアプリケーション・テンプレート」に、このテンプレートが表示されます。 参照: 「ページ属性」ページでのページ・テンプレートの上書きについては、「表示属性」を参照してください。
   エラー・ページ | インライン表示されるエラーではなく、個別のページに表示されるエラーに使用するページ・テンプレートを指定します。エラーを表示するように設計されたテンプレートを使用しない場合、この属性は、空白のままにします。 デフォルトのテンプレートを定義すると、定義の編集ページのヘッダー「デフォルトのアプリケーション・テンプレート」に、このテンプレートが表示されます。
   印刷用ページ | Application Expressエンジンが印刷用モードの場合に使用するテンプレートを指定します。 参照: 「印刷用ページの最適化」
   ブレッドクラム | ブレッドクラムを作成する場合に使用するデフォルトのブレッドクラム・テンプレートを指定します。
   ボタン | ボタンを作成する場合に使用するデフォルトのボタン・テンプレートを指定します。
   カレンダ | カレンダを作成する場合に使用するデフォルトのカレンダ・テンプレートを指定します。
   ラベル | ラベルを作成する場合に使用するデフォルトのラベル・テンプレートを指定します。
   リスト | リストを作成する場合に使用するデフォルトのリスト・テンプレートを指定します。
   リージョン | リージョンを作成する場合に使用するデフォルトのリージョン・テンプレートを指定します。
   レポート | レポートを作成する場合に使用するデフォルトのリージョン・テンプレートを指定します。

   表7-5に、「リージョンのデフォルト値」セクションで使用可能なデフォルトのテンプレートを示します。

   表7-5 リージョンのデフォルト値

   属性 | 説明
   --- | ---
   ブレッドクラム | ブレッドクラムを作成する場合に使用するデフォルトのリージョン・テンプレートです。
   チャート | チャートを作成する場合に使用するデフォルトのチャート・テンプレートです。
   フォーム | フォームを作成する場合に使用するデフォルトのフォーム・テンプレートです。
   リスト | リストを作成する場合に使用するデフォルトのリージョン・テンプレートです。
   レポート | レポートを作成する場合に使用するデフォルトのリージョン・テンプレートです。
   表形式フォーム | 表形式フォームを作成する場合に使用するデフォルトのリージョン・テンプレートです。
   ウィザード | ウィザード・コンポーネントを作成する場合に使用するデフォルトのリージョン・テンプレートです。

### 新しいテーマの作成

新しく作成するか、またはリポジトリから既存のテーマを選択することによって、新しいテーマを作成できます。

新しいテーマを作成するには、次のステップを実行します。

1. テーマ・ページにナビゲートします。

   1. 作業領域のホームページで、「アプリケーション・ビルダー」をクリックします。

   2. アプリケーションを選択します。

   3. 「共有コンポーネント」をクリックします。

   4. 「ユーザー・インタフェース」で、「テーマ」を選択します。

2. 「作成」をクリックします。

3. 次のいずれかの作成方法を選択します。

   - リポジトリから

   - 最初から

   - エクスポートから

4. 画面に表示されるステップに従います。

5. 特定のフィールドの詳細を表示するには、フィールド・ラベルをクリックします。

   ヘルプが使用できる場合、アイテム・ラベルの上にカーソルを置くとアイテム・ラベルは赤に変わり、カーソルは矢印と疑問符マークに変わります。「フィールドレベル・ヘルプ」を参照してください。

#### テーマ・ページについて

テーマを作成すると、テーマ・ページに表示されます。ナビゲーション・バーはページの上部に表示され、次のコントロールが含まれています。

- テーマ: テーマ名に対し大/小文字を区別しない問合せを入力して、「実行」をクリックします。すべてのテーマを表示するには、このフィールドを空白のままにして「実行」をクリックします。

- ビュー: ページの表示方法を制御できます。オプションは次のとおりです。

  - アイコン（デフォルト）: 各テーマを大きいアイコンとして表示します。テーマを編集するには、該当するアイコンをクリックします。

  - 詳細: 各テーマをレポートで1行に表示します。テーマ名またはデフォルトのテンプレートを変更するには、テーマ名をクリックします。「詳細」ビューで、「表示」リストから次のオプションを選択できます。

    - サマリー・ビュー: テーマ番号、名前および現在のステータスが表示されます。

    - 詳細ビュー: テーマ番号、名前、現在のステータス、および各テンプレート・タイプのテンプレート数が表示されます。

- 表示: テーマの表示方法を指定します。数の増減を行うには、「表示」リストで選択を行ってから「実行」をクリックします。

### アクティブなテーマの切替え

新しいテーマに切り替えると、テンプレートに割り当てられたすべてのコンポーネントは、新しいテーマの対応するテンプレートに割り当てられます。アプリケーション・ビルダーは、テンプレート・クラス識別子の割当てによってテンプレート・マッピングを行います。

注意: テーマがすでに存在する場合にのみ、新しいテーマに切り替えられます。たとえば、リポジトリで使用可能なテーマに切り替える前に、最初にテーマを作成する必要があります。「新しいテーマの作成」を参照してください。

アプリケーションにテーマを使用するには、次のステップを実行します。

1. テーマ・ページにナビゲートします。

   1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

   2. アプリケーションを選択します。

   3. 「共有コンポーネント」をクリックします。

   4. 「ユーザー・インタフェース」で、「テーマ」を選択します。

2. 「テーマの切替え」をクリックします。

   「テーマの切替え」ページが表示されます。

3. 「次のテーマに切替え」から新しいテーマを選択し、「次へ」をクリックします。

4. 「ステータス」列を確認し、マッピング上の問題を特定します。

   - チェック: マッピングが成功したことを示します。

   - 警告: 切替え先のテーマに、指定されたクラスを持つ複数のテンプレートがあることを示します。この警告では、適切なテンプレートを選択するための選択リストが提供されます。

   - エラー: アプリケーション・ビルダーがテーマ間でクラスをマップできなかったことを示します。クラスが両方のテーマのテンプレートで指定されていることを確認します。

5. 「次へ」をクリックして続行します。

6. 「テーマの切替え」をクリックします。

参照: 「新しいテーマの作成」

### テーマのコピー

すべてのテーマは、数値による識別番号（ID）で識別されます。テーマをコピーする場合は、新しいテーマIDを指定します。テーマのコピーは、テーマの編集を試行したり、テーマに異なるIDを付けてエクスポートする場合に便利です。

テーマをコピーするには、次のステップを実行します。

1. テーマ・ページにナビゲートします。

   1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

   2. アプリケーションを選択します。

   3. 「共有コンポーネント」をクリックします。

   4. 「ユーザー・インタフェース」で、「テーマ」を選択します。

2. 「タスク」リストで、「テーマのコピー」をクリックします。

3. 「テーマのコピー」で、次の操作を実行します。

   1. 次のテーマからコピー: コピーするテーマを選択します。

   2. このテーマ識別番号にコピー: そのテーマの新しいIDを入力します。

   3. 「次へ」をクリックします。

4. 「テーマIDをコピー」をクリックします。

### テーマの削除

アクティブではないテーマのみ削除できます。テーマを削除すると、アプリケーション・ビルダーによって、アクティブではないテンプレートのみ削除されます。

テーマを削除するには、次のステップを実行します。

1. テーマ・ページにナビゲートします。

   1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

   2. アプリケーションを選択します。

   3. 「共有コンポーネント」をクリックします。

   4. 「ユーザー・インタフェース」で、「テーマ」を選択します。

2. 「タスク」リストで、「テーマの削除」をクリックします。

3. 「テーマの削除」で、削除するテーマを選択し、「次へ」をクリックします。

4. 「テーマの削除」をクリックします。

### テーマのエクスポートおよびインポートについて

関連するアプリケーション・ファイルのエクスポートと同様の方法でテーマをエクスポートします。1つの開発インスタンスから別のインスタンスへテーマをエクスポートするには、次のステップを実行します。

1. 「テーマのエクスポート」ユーティリティを使用してテーマをエクスポートします。詳細は、「テーマのエクスポート」を参照してください。

2. エクスポートされたファイルをターゲットのOracle Application Expressインスタンスにインポートします。詳細は、「エクスポート・ファイルのインポート」を参照してください。

3. エクスポートされたファイルをエクスポート・リポジトリからインストールします。詳細は、「エクスポート・ファイルのインストール」を参照してください。

### テーマ識別番号の変更

すべてのテーマには、識別番号（ID）があります。テーマIDの変更ユーティリティを使用して、テーマIDを別の識別番号に変更できます。テーマIDの変更は、テーマに異なる番号を付けてエクスポートし、別のアプリケーションにインポートする場合に便利です。

テーマ識別番号を変更するには、次のステップを実行します。

1. テーマ・ページにナビゲートします。

   1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

   2. アプリケーションを選択します。

   3. 「共有コンポーネント」をクリックします。

   4. 「ユーザー・インタフェース」で、「テーマ」を選択します。

2. 「タスク」リストで、「指定番号の変更」をクリックします。

3. テーマ番号の場合は、次のステップを実行します。

   1. テーマの指定: テーマを選択します。

   2. このテーマ指定番号に変更

   3. 「次へ」をクリックします。

   4. 変更内容を確認して、「テーマIDの変更」をクリックします。

### テーマ・レポートの表示

アプリケーション・ビルダーには、テーマおよびテンプレートの管理に役立つ多くのレポートが含まれています。

このセクションの構成は次のとおりです。

- テーマのすべてのテンプレートの表示

- テーマ・テンプレート数の表示

- ファイル参照の表示

- クラス参照の表示

- テンプレートの置換文字列の表示

#### テーマのすべてのテンプレートの表示

テーマを構成しているすべてのテンプレートを表示するには、次のステップを実行します。

1. テーマ・ページにナビゲートします。

   1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

   2. アプリケーションを選択します。

   3. 「共有コンポーネント」をクリックします。

   4. 「ユーザー・インタフェース」で、「テーマ」を選択します。

2. 「レポート」をクリックします。

3. 「テーマ・レポート」ページで、次のステップを実行します。

   1. 「レポート」から「アプリケーション・テンプレート」を選択します。

   2. 「テーマ」からテーマを選択します。

   3. 「実行」をクリックします。

   テンプレートのリストには、テンプレート・タイプ、テンプレート名、対応するテーマおよびテンプレート・クラスの一覧が表示されます。

4. テンプレートを編集するには、テンプレート名を選択します。

#### テーマ・テンプレート数の表示

「テーマ・テンプレート数」レポートには、現在、テンプレート・クラス用に作成されたテンプレートがあるテンプレート・クラスが表示されます。

テーマ・テンプレート数レポートを表示するには、次のステップを実行します。

1. テーマ・ページにナビゲートします。

   1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

   2. アプリケーションを選択します。

   3. 「共有コンポーネント」をクリックします。

   4. 「ユーザー・インタフェース」で、「テーマ」を選択します。

2. 「レポート」をクリックします。

3. 「テーマ・レポート」ページで、次のステップを実行します。

   1. 「レポート」から「テーマ・テンプレート数」を選択します。

   2. 「テーマ」からテーマを選択します。

   3. 「実行」をクリックします。

4. カスタムの分類を使用する場合は、「カスタムの表示」を選択し、「実行」をクリックします。

#### ファイル参照の表示

ファイル参照のレポートには、テンプレートに関連付けられたすべてのファイル、共有コンポーネント、カレント・アプリケーションのページ・コンポーネントの一覧が表示されます。

「ファイル参照」のレポートを表示するには、次のステップを実行します。

1. テーマ・ページにナビゲートします。

   1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

   2. アプリケーションを選択します。

   3. 「共有コンポーネント」をクリックします。

   4. 「ユーザー・インタフェース」で、「テーマ」を選択します。

2. テーマ・ページで「レポート」をクリックします。

3. 「テーマ・レポート」ページで、次のステップを実行します。

   1. 「レポート」から「ファイル参照」を選択します。

   2. 「テーマ」からテーマを選択します。

   3. 「実行」をクリックします。

4. 「ファイル参照」ページで、次のステップを実行します。

   1. 「表示」から、レポートに含めるコンポーネントのタイプを選択します。選択しない場合は、結果が戻されません。

   2. 「ファイルの表示」から次のいずれかの項目を選択します。

      - コンテキスト付き: コンポーネント、テーマ識別番号、コンポーネント名、イメージ（使用可能な場合）、およびページ番号を表示します。ページ定義にリンクするには、ページ番号を選択します。

      - コンテキストなし: ファイル名およびイメージ（使用可能な場合）のみ表示します。

   3. 「ファイル拡張子」から検索する拡張子のタイプを選択します。

   4. 「実行」をクリックします。

5. このレポートのカンマ区切りファイル（.csv）をダウンロードするには、ページ下部の「ダウンロード」をクリックします。

#### クラス参照の表示

クラス参照のレポートにアクセスすると、テンプレートに関連付けられたクラス、共有コンポーネント、カレント・アプリケーションのページ・コンポーネントの一覧が表示されます。

クラス参照のレポートを表示するには、次のステップを実行します。

1. テーマ・ページにナビゲートします。

   1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

   2. アプリケーションを選択します。

   3. 「共有コンポーネント」をクリックします。

   4. 「ユーザー・インタフェース」で、「テーマ」を選択します。

2. 「レポート」をクリックします。

3. 「テーマ・レポート」ページで、次のステップを実行します。

   1. 「レポート」から「クラス参照」を選択します。

   2. 「テーマ」からテーマを選択します。

   3. 「実行」をクリックします。

4. 「クラス参照」ページで、次のステップを実行します。

   1. 「表示」から、クラス参照を確認するコンポーネントを選択します。選択しない場合は、結果が戻されません。

   2. 「クラス名の表示」から、次のいずれかを選択します。

      - コンテキスト付き: コンポーネント、テーマ識別番号、コンポーネント名、イメージ（使用可能な場合）、およびページ番号を表示します。

      - コンテキストなし: 参照されるクラスのみを表示します。

   3. 「実行」をクリックします。

5. このレポートのカンマ区切りファイル（.csv）をダウンロードするには、ページ下部の「ダウンロード」をクリックします。

#### テンプレートの置換文字列の表示

「テンプレート置換文字列」レポートを使用すると、コンポーネントがサポートする置換文字列がすべて表示されます。

「置換文字列」レポートを表示するには、次のステップを実行します。

1. テーマ・ページにナビゲートします。

   1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

   2. アプリケーションを選択します。

   3. 「共有コンポーネント」をクリックします。

   4. 「ユーザー・インタフェース」で、「テーマ」を選択します。

2. 「レポート」をクリックします。

3. 「テーマ・レポート」ページで、次のステップを実行します。

   1. 「レポート」リストから、「テンプレート置換文字列」を選択します。

   2. 「テーマ」リストから、レポートに含めるテーマを選択します。

   3. 「実行」をクリックします。

4. テンプレート定義にリンクするには、コンポーネント名を選択します。

参照: 「置換文字列の理解」

## テンプレートのカスタマイズ

Application Expressエンジンは、テーマと呼ばれるテンプレートのコレクションに基づいて、アプリケーションのユーザー・インタフェースを作成します。テンプレートは、アプリケーション内のコンポーネントのルック・アンド・フィールを制御します。カスタム・テンプレートを作成するには、既存のテンプレートを変更する方法がより簡単です。作成した1つ以上のデフォルト・テンプレートは、必要に応じて変更できます。

このセクションの構成は次のとおりです。

- カスケード・スタイルシートについて

- デフォルトのページ・テンプレートの選択

- 新しいテンプレートの作成

- テンプレート・レポートの表示

- テンプレートの編集

- ブレッドクラム・テンプレート

- ボタン・テンプレート

- カレンダ・テンプレート

- ラベル・テンプレート

- リスト・テンプレート

- ページ・テンプレート

- ポップアップLOVテンプレート

- リージョン・テンプレート

- レポート・テンプレート

参照: テーマの管理

### カスケード・スタイルシートについて

カスケード・スタイルシート（CSS）によって、構造を変更せずにWebページのスタイルを制御できます。CSSを適切に使用すると、カラー、余白、フォントなどの視覚属性がHTMLドキュメントの構造から切り離されます。Oracle Application Expressのテーマには、独自のCSSを参照するテンプレートを含めることができます。特定のテーマの各CSSで定義されたスタイル・ルールによって、レポートおよびリージョンの表示も指定されます。

参照: 「CSSファインダの使用」および「カスタム・カスケード・スタイルシートの使用」

### デフォルトのページ・テンプレートの選択

デフォルトのページ・テンプレートは、2つの方法で指定できます。

- 特定のテーマ内のデフォルトのページ・テンプレートを選択します。

- ページごとに特定のページ・テンプレートを選択します。

デフォルトでは、Application Expressエンジンは、テーマ・ページで指定されたページ・テンプレートを使用します。

このセクションの構成は次のとおりです。

- テーマ内のページ・レベル・テンプレートの選択

- 特定のページのページ・レベル・テンプレートの選択

#### テーマ内のページ・レベル・テンプレートの選択

テーマ内のデフォルトのページ・テンプレートを指定するには、次のステップを実行します。

1. テーマ・ページにナビゲートします。

   1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

   2. アプリケーションを選択します。

   3. 「共有コンポーネント」をクリックします。

   4. 「ユーザー・インタフェース」で、「テーマ」を選択します。

      テーマ・ページが表示されます。

2. 「ビュー」から「詳細」を選択し、「実行」をクリックします。

3. 「テーマ」リストで、テーマ名を選択します。

   テーマの作成/編集ページが表示されます。

4. 「コンポーネントのデフォルト値」で、「ページ」リストから選択します。

5. ページ上部の「変更の適用」をクリックします。

参照: 「テーマのデフォルトのテンプレートの変更」

#### 特定のページのページ・レベル・テンプレートの選択

特定のページにページ・レベル・テンプレートを指定するには、次のステップを実行します。

1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

2. アプリケーションを選択します。

3. ページを選択します。

4. 「ページ」で、「ページ属性の編集」アイコンをクリックします。

5. 「表示属性」セクションを探します。

6. 「ページ・テンプレート」リストから選択します。

7. ページ上部の「変更の適用」をクリックします。

### 新しいテンプレートの作成

カスタム・テンプレートを作成するには、まず既存のテンプレートを変更する方法が最も簡単です。作成した1つ以上のデフォルト・テンプレートは、必要に応じて変更できます。

カスタム・テンプレートを作成するには、次のステップを実行します。

1. 「テンプレート」ページにナビゲートします。

   1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

   2. アプリケーションを選択します。

   3. 「共有コンポーネント」をクリックします。

   4. 「ユーザー・インタフェース」で、「テンプレート」を選択します。

2. 「作成」をクリックします。

3. 作成するテンプレートのタイプを選択します。

4. 次のいずれかの作成方法を選択します。

   - 最初から

   - 既存のテンプレートのコピーとして

5. 画面に表示されるステップに従います。

ヒント: テンプレートが適切なテーマに関連付けられていることを確認します。

### テンプレート・レポートの表示

アプリケーション・ビルダーには、テンプレートの使用状況、サブスクリプションおよび編集履歴を示すレポートがあります。

カレント・アプリケーションについてのテンプレート・レポートを表示するには、次のステップを実行します。

1. テーマ・ページにナビゲートします。

   1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

   2. アプリケーションを選択します。

   3. 「共有コンポーネント」をクリックします。

   4. 「ユーザー・インタフェース」で、「テンプレート」を選択します。

2. 次のリストから選択し、「実行」をクリックして、表示を絞り込むことができます。

   - テーマ: 特定のテーマのテンプレートだけを表示します。

   - 表示: 特定のタイプのテンプレートを表示します。

   - ビュー: 現在参照されているもの、参照されていないものを含め、すべてのテンプレートを表示します。

3. テンプレート・レポートを表示するには、次のいずれかのボタンをクリックします。

   - 使用状況: カレント・アプリケーションのすべてのテンプレート・タイプ（ページ、レポート、リージョン、レベルおよびリスト）についてテンプレートの使用状況を表示します。

   - サブスクリプション: アプリケーションでサブスクライブされたテンプレートを表示します。

   - 履歴: 開発者によるテンプレートへの最近の変更および最終更新日を表示します。

### テンプレートの編集

テンプレート・ページで、すべての使用可能なテンプレートを表示できます。また、ページ定義で、特定のページに関連付けられているテンプレートにアクセスできます。

このセクションの構成は次のとおりです。

- テンプレート・ページでのテンプレートの表示

- 特定のページに関連付けられているテンプレートの表示

参照: 「テーマのすべてのテンプレートの表示」、「ブレッドクラム・テンプレート」、「ボタン・テンプレート」、「カレンダ・テンプレート」、「ラベル・テンプレート」、「リスト・テンプレート」、「ページ・テンプレート」、「ポップアップLOVテンプレート」、「リージョン・テンプレート」および「レポート・テンプレート」

#### テンプレート・ページでのテンプレートの表示

既存のテンプレートを表示するには、次のステップを実行します。

1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

2. アプリケーションを選択します。

3. 「共有コンポーネント」をクリックします。

4. 「ユーザー・インタフェース」で、「テンプレート」を選択します。

   「テンプレート」ページが表示されます。

5. 次のリストから選択し、「実行」をクリックして、表示を絞り込むことができます。

   - テーマ: 特定のテーマのテンプレートだけを表示します。

   - 表示: 特定のタイプのテンプレートを表示します。

   - ビュー: 現在参照されているもの、参照されていないものを含め、すべてのテンプレートを表示します。

6. テンプレートのプレビューを確認するには、「プレビュー」列で「実行」アイコンをクリックします。

   一部のテンプレート・タイプには、プレビュー機能はありません。

7. テンプレート定義を表示または編集するには、テンプレート名をクリックします。

   テンプレート定義が表示されます。

   各テンプレート定義は複数のセクションに分かれています。これらのセクションにアクセスするには、手動でスクロールするか、ページ上部のナビゲーション・ボタンをクリックします。ページの上部でボタンを選択すると、選択したセクションが表示され、その他すべてのセクションは一時的に非表示になります。ページの全セクションを表示するには、「すべて表示」をクリックします。

8. 対象となる属性を編集します。

   テンプレートを編集する場合、1つのウィンドウで変更を行い、テンプレート定義ページの右側で「ページに戻る」チェック・ボックスを選択することで、別のウィンドウでアプリケーションを実行できます。このチェック・ボックスを選択すると、「変更の適用」をクリックした後、現在編集中のページが維持されます。

9. 「変更の適用」をクリックします。

#### 特定のページに関連付けられているテンプレートの表示

特定のページに関連付けられているテンプレートを表示するには、次のステップを実行します。

1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

2. アプリケーションを選択します。

3. ページを選択します。

   ページ定義が表示されます。右端の列の「テンプレート」ヘッダーの下に、カレント・ページに関連付けられたテンプレートが表示されます。

4. テンプレート定義を表示または編集するには、テンプレート名をクリックします。

   テンプレート定義が表示されます。

   各テンプレート定義は複数のセクションに分かれています。これらのセクションにアクセスするには、手動でスクロールするか、ページ上部のナビゲーション・ボタンをクリックします。ページの上部でボタンを選択すると、選択したセクションが表示され、その他すべてのセクションは一時的に非表示になります。ページの全セクションを表示するには、「すべて表示」をクリックします。

5. 対象となる属性を編集します。

   テンプレートを編集する場合、1つのウィンドウで変更を行い、テンプレート定義ページの右側で「ページに戻る」チェック・ボックスを選択することで、別のウィンドウでアプリケーションを実行できます。このチェック・ボックスを選択すると、「変更の適用」をクリックした後、現在編集中のページが維持されます。

6. 「変更の適用」をクリックします。

### ブレッドクラム・テンプレート

ブレッドクラム・テンプレートは、ブレッドクラム・エントリの表示方法を制御します。このテンプレートは、リージョンの作成時に選択します。

関連項目: 「テンプレートのカスタマイズ」および「テーマの管理」

#### ブレッドクラム・スタイルのナビゲーションについて

ブレッドクラムは通常、現在のページが、アプリケーション内の他のページに対してどの位置にあるかを示します。また、ユーザーは特定のページをクリックするだけで、そのページを表示することができます。たとえば、Oracle Application Expressのユーザー・インタフェースでは、各ページの上部にブレッドクラム・パスが表示されます。

図bc_menu.gifの説明

参照: 「ブレッドクラム・テンプレートの編集」ページ固有のセクションを使用する方法については、オンライン・ヘルプを参照してください。 「ブレッドクラムの作成」

#### ブレッドクラム・テンプレート属性

ここでは、ブレッドクラム・テンプレートの編集ページの特定のセクションについて説明します。ページの各セクションにアクセスするには、ページをスクロール・ダウンするか、ページ上部のナビゲーション・ボタンをクリックします。ページの上部でボタンを選択すると、選択したセクションが表示され、その他すべてのセクションは一時的に非表示になります。ページの全セクションを表示するには、「すべて表示」をクリックします。

##### 名前

「名前」は、テンプレートの名前を示します。テンプレートに翻訳が必要なテキスト文字列が含まれていることを示すには、「翻訳可能」チェック・ボックスを使用します。「テーマ」は、テンプレートが関連付けられているテーマを示します。

「テンプレート・クラス」は、そのテンプレートに固有の用途を示します。新しいテーマに切り替えると、あるテーマのすべてのテンプレートは、別のテーマの対応するテンプレートにマップされます。アプリケーション・ビルダーは、テンプレート・クラスの割当てによってこのテンプレート・マッピングを行います。

##### サブスクリプション

カレント・アプリケーションに既存のテンプレートを適用するには、「サブスクリプション」を使用します。既存のテンプレートを選択すると、ユーザーはそのテンプレートのサブスクライバになります。

マスター・テンプレートの新しいコピーをロードするには、「リフレッシュ」をクリックします。

##### テンプレート・タイプ

次のいずれかのテンプレート・スタイルを選択します。

- 子ブレッドクラム・エントリ: カレント・ページの親ブレッドクラムの子（現在のブレッドクラムと同等）であるすべてのブレッドクラム・エントリを表示します。

- カレント・ブレッドクラム: 共通の親を持つすべてのブレッドクラム・エントリを順番に表示します。

- 親ブレッドクラム・エントリ: カレント・ページの親ブレッドクラム（現在のブレッドクラム・エントリよりも1階層上のブレッドクラム）のすべてのブラッドクラム・エントリを表示します。

- 親からリーフ(ブレッドクラム・スタイル): カレント・ページのブレッドクラム・エントリと、その左側にルート・ノードまでの親エントリを表示します。

##### 定義

表7-6に、使用可能なブレッドクラム・エントリの属性を示します。

表7-6 ブレッドクラム・エントリの制御属性

属性 | 説明
--- | ---
最初の前 | 最初のブレッドクラム・エントリの前に表示するテキストを定義します。
カレント・ページのブレッドクラム・エントリ | カレント・ページに対応するブレッドクラム・エントリの外観を定義します。この属性は、次の置換文字列をサポートします。 `#NAME#`: ブレッドクラム・エントリの短縮名を指定します。 `#LINK#`: ブレッドクラム・エントリのアンカー・ターゲットを指定します。 `#LONG_NAME#`: ブレッドクラム・エントリの詳細名を指定します。
カレント・ページ以外のブレッドクラム・エントリ | カレント・ページに対応していないブレッドクラム・エントリの外観を定義します。この属性は、次の置換文字列をサポートします。 `#NAME#`: ブレッドクラム・エントリの短縮名を指定します。 `#LINK#`: ブレッドクラム・エントリのアンカー・ターゲットを指定します。 `#LONG_NAME#`: ブレッドクラム・エントリの詳細名を指定します。
最後の後 | 最後のブレッドクラム・エントリの後に表示するテキストを定義します。
レベル間 | ブレッドクラム・エントリのレベル間に表示するテキストを定義します。たとえば、ブレッドクラムに3つのレベルがある場合、このテキストは、次の例の「X」の位置に表示されます。
    main X cars X porsche X 911
最大レベル | ブレッドクラムをブレッドクラム・スタイルで表示する際に使用するレベル数を指定します。

##### リンク属性

「ブレッドクラム・リンク属性」を使用して、ブレッドクラム・エントリのハイパーテキスト・リンク属性を指定します。

##### コメント

この属性を使用して、このコンポーネントに関するコメントを記録します。

##### 置換文字列

このテンプレートの置換文字列の用途を一覧します。置換文字列は、サブテンプレート内でコンポーネント値を参照するために使用されます。

### ボタン・テンプレート

ボタン・テンプレートを使用すると、アプリケーション開発者は、ボタンのルック・アンド・フィールをカスタマイズできます。ボタンを作成する場合、複数のイメージまたはHTMLタグを使用できます。ボタン・テンプレートの使用はオプションです。

関連項目: 「テンプレートのカスタマイズ」および「テーマの管理」

#### ボタン・テンプレート属性

ここでは、ボタン・テンプレートの編集ページの特定のセクションについて説明します。ページの各セクションにアクセスするには、ページをスクロール・ダウンするか、ページ上部のナビゲーション・ボタンをクリックします。ページの上部でボタンを選択すると、選択したセクションが表示され、その他すべてのセクションは一時的に非表示になります。ページの全セクションを表示するには、「すべて表示」をクリックします。

##### 名前

「テンプレート名」は、テンプレートの名前を示します。テンプレートに変換が必要なテキスト文字列が含まれているかどうかを示すには、「翻訳可能」チェック・ボックスを使用します。「テーマ」は、テンプレートが関連付けられているテーマを示します。

「テンプレート・クラス」は、そのテンプレートに固有の用途を示します。新しいテーマに切り替えると、あるテーマのすべてのテンプレートは、別のテーマの対応するテンプレートにマップされます。アプリケーション・ビルダーは、テンプレート・クラスの割当てによってこのテンプレート・マッピングを行います。

##### サブスクリプション

カレント・アプリケーションに既存のテンプレートを適用するには、「サブスクリプション」を使用します。既存のテンプレートを選択すると、ユーザーはそのテンプレートのサブスクライバになります。

マスター・テンプレートの新しいコピーをロードするには、「テンプレートのリフレッシュ」をクリックします。

##### 定義

表示するボタン・テンプレートを定義するには、テンプレートを使用します。標準のアプリケーション置換文字列を含めることもできます。たとえば、`&ITEM_NAME`値はレンダリング時に置換できます。ボタン・テンプレートは、次の置換文字列をサポートします。

- `#LABEL#`: ボタン・ラベルで置換されます。

- `#LINK#`: URLで置換されます。置換された後、URLは、`#dosubmit#`、またはページを送信（リクエスト値を設定）するリダイレクトJavaScriptをコールするか、あるいは指定されたURLに単純にページをリダイレクトします。

##### コメント

この属性を使用して、このコンポーネントに関するコメントを記録します。

##### 置換文字列

このテンプレートの置換文字列の用途を一覧します。置換文字列は、サブテンプレート内でコンポーネント値を参照するために使用されます。

### カレンダ・テンプレート

カレンダ・テンプレートは、カレンダの外観と配置を制御します。このテンプレートは、頻繁にHTML表を使用して日付を配置します。`#DD#`や`#MONTH#`などの置換文字列を使用してカレンダ属性を配置します。サポートされている置換文字列のリストは、カレンダ・テンプレートの編集ページの右側に表示されます。テンプレートの置換文字列は大文字で指定し、シャープ記号（#）で囲む必要があることに注意してください。

参照: 「カレンダの作成」、「テンプレートのカスタマイズ」および「テーマの管理」

#### カレンダ・テンプレート属性

ここでは、カレンダ・テンプレートの編集ページの特定のセクションについて説明します。ページの各セクションにアクセスするには、ページをスクロール・ダウンするか、ページ上部のナビゲーション・ボタンをクリックします。ページの上部でボタンを選択すると、選択したセクションが表示され、その他すべてのセクションは一時的に非表示になります。ページの全セクションを表示するには、「すべて表示」をクリックします。

カレンダ定義

##### 名前

「名前」は、テンプレートの名前を示します。「テーマ」は、テンプレートが関連付けられているテーマを示します。

「テンプレート・クラス」は、そのテンプレートに固有の用途を示します。新しいテーマに切り替えると、あるテーマのすべてのテンプレートは、別のテーマの対応するテンプレートにマップされます。アプリケーション・ビルダーは、テンプレート・クラスの割当てによってこのテンプレート・マッピングを行います。

##### テンプレート・サブスクリプション

カレント・アプリケーションに既存のテンプレートを適用するには、「テンプレートのサブスクリプション」を使用します。既存のテンプレートを選択すると、ユーザーはそのテンプレートのサブスクライバになります。

マスター・テンプレートの新しいコピーをロードするには、「リフレッシュ」をクリックします。

##### コメント

この属性を使用して、このコンポーネントに関するコメントを記録します。

月別カレンダ、週間カレンダおよび日次カレンダ

「月別カレンダ」、「週間カレンダ」および「日次カレンダ」属性を使用して、特定のカレンダの外観および配置を制御します。

特定の属性の詳細を表示するには、属性ラベルをクリックします。ヘルプが使用できる場合、アイテム・ラベルの上にカーソルを置くとアイテム・ラベルは赤に変わり、カーソルは矢印と疑問符マークに変わります。「フィールドレベル・ヘルプ」を参照してください。

### ラベル・テンプレート

ラベル・テンプレートは、ページ・アイテム・ラベルのHTMLマークアップを集中管理することを目的としています。各アイテムにはオプションのラベルがあります。ラベル・テンプレートを使用して、これらのラベルの表示方法を制御できます。たとえば、ユーザーに必須であることを示すイメージ（アスタリスクなど）を参照する「必須フィールド」というラベル・テンプレートを作成できます。

ラベル・テンプレートを使用すると、アイテムの先頭と末尾に追加するテキスト文字列を定義できます。

参照: 「テンプレートのカスタマイズ」および「テーマの管理」

#### ラベル・テンプレート属性

ここでは、ラベル・テンプレートの編集ページの特定のセクションについて説明します。ページの各セクションにアクセスするには、ページをスクロール・ダウンするか、ページ上部のナビゲーション・ボタンをクリックします。ページの上部でボタンを選択すると、選択したセクションが表示され、その他すべてのセクションは一時的に非表示になります。ページの全セクションを表示するには、「すべて表示」をクリックします。

##### 名前

「テンプレート名」は、テンプレートの名前を示します。テンプレートに翻訳が必要なテキスト文字列が含まれていることを示すには、「翻訳可能」チェック・ボックスを使用します。「テーマ」は、テンプレートが関連付けられているテーマを示します。

「テンプレート・クラス」は、そのテンプレートに固有の用途を示します。新しいテーマに切り替えると、あるテーマのすべてのテンプレートは、別のテーマの対応するテンプレートにマップされます。アプリケーション・ビルダーは、テンプレート・クラスの割当てによってこのテンプレート・マッピングを行います。

##### サブスクリプション

カレント・アプリケーションに既存のテンプレートを適用するには、「テンプレートのサブスクリプション」を使用します。既存のテンプレートを選択すると、ユーザーはそのテンプレートのサブスクライバになります。

マスター・テンプレートの新しいコピーをロードするには、「テンプレートのリフレッシュ」をクリックします。

##### 定義

「ラベルの前」では、アイテム・ラベルの前に表示するHTMLを入力します。「ラベルの前」では、置換文字列`#CURRENT_FORM_ELEMENT#`; `#CURRENT_FORM_ID#`および`#CURRENT_ITEM_NAME#`をサポートします。次に例を示します。

    <label for="#CURRENT_ITEM_NAME#">
    <a href="javascript:popupFieldHelp('#CURRENT_ITEM_ID#',
      '&APP_SESSION.','&CLOSE.')" >

「ラベルの後」では、アイテム・ラベルの後に表示するHTMLを入力します。このラベルはこのリージョンのHTMLの前に自動的に表示されるため、「ラベルの前」リージョンの開始タグをここで閉じる必要があります。次に例を示します。

    </a></label>

##### エラー表示

「ラベルの前のエラー発生時」では、アプリケーションがアイテムのインライン検証エラー・メッセージを表示する場合に、そのアイテム・ラベルの前に表示するHTMLを入力します。次に例を示します。

    <font class="fieldtitleleft">#ERROR_MESSAGE#

「ラベルの後のエラー発生時」では、アプリケーションがアイテムのインライン検証エラー・メッセージを表示する場合に、そのアイテム・ラベルの後に表示されるHTMLを入力します。この属性では、置換文字列`#CURRENT_FORM_ELEMENT#`、`#CURRENT_FORM_ID#`および`#CURRENT_ITEM_NAME#`をサポートします。次の例では、表示されている、エラーの存在するアイテム・ラベルに空白と閉じカッコを追加します。

    &nbsp;]</font>

##### コメント

この属性を使用して、このオブジェクトに関するコメントを記録します。

##### 置換文字列

このテンプレートの置換文字列の用途を一覧します。置換文字列は、サブテンプレート内でコンポーネント値を参照するために使用されます。

### リスト・テンプレート

リストは、リンクの共有コレクションです。リストの外観は、リスト・テンプレートで制御します。テンプレート属性を使用すると、特定のページのカレントまたは非カレントとしてリスト要素を定義できます。

参照: 「リストの作成」、「テンプレートのカスタマイズ」および「テーマの管理」

#### 階層リストについて

Oracle Application Expressでは、階層的なリストをサポートしています。階層的なリストを作成するには、次のことを行う必要があります。

- 階層的なリストをサポートするリスト・テンプレートを選択します。階層的なリストをサポートするリスト・テンプレートを判別するには、サブリスト付きというネーミング規則のあるテンプレートを検索します。

- 各リスト・エントリの作成時には親リスト・エントリを選択します。

参照: 「リスト・テンプレートの編集」ページ固有のセクションを使用する方法については、オンライン・ヘルプを参照してください。 「リストの作成」

#### リスト・テンプレート属性

ここでは、リスト・テンプレートの編集ページの特定のセクションについて説明します。ページの各セクションにアクセスするには、ページをスクロール・ダウンするか、ページ上部のナビゲーション・ボタンをクリックします。ページの上部でボタンを選択すると、選択したセクションが表示され、その他すべてのセクションは一時的に非表示になります。ページの全セクションを表示するには、「すべて表示」をクリックします。

##### 名前

「名前」は、テンプレートの名前を示します。テンプレートに翻訳が必要なテキスト文字列が含まれていることを示すには、「翻訳可能」チェック・ボックスを使用します。「テーマ」は、テンプレートが関連付けられているテーマを示します。

「テンプレート・クラス」は、そのテンプレートに固有の用途を示します。新しいテーマに切り替えると、あるテーマのすべてのテンプレートは、別のテーマの対応するテンプレートにマップされます。アプリケーション・ビルダーは、テンプレート・クラスの割当てによってこのテンプレート・マッピングを行います。

##### サブスクリプション

カレント・アプリケーションに既存のテンプレートを適用するには、「サブスクリプション」を使用します。既存のテンプレートを選択すると、ユーザーはそのテンプレートのサブスクライバになります。

マスター・テンプレートの新しいコピーをロードするには、「テンプレートのリフレッシュ」をクリックします。

##### リスト前のエントリ

リスト要素の前に表示するHTMLを入力します。この属性は、HTML表またはHTML表の行を開始するために使用できます。

##### テンプレート定義

カレントおよび非カレントのリスト・テンプレートを定義します。サポートされる置換文字列は、`#LINK#`、`#TEXT#`、`#IMAGE_PREFIX#`、`#IMAGE#`、`#IMAGE_ATTR#`および`#A01#`から`#A10#`です。

- カレント・リスト・テンプレート: 選択された（カレントの）リスト・テンプレートに置換されるHTMLまたはテキストを入力します。

- サブリスト・アイテムが含まれているカレント・リスト・テンプレート: アイテムにサブリスト・アイテムが含まれる場合は、選択された（カレントの）リスト・テンプレートに置換されるHTMLまたはテキストを入力します。このテキストを指定しないと、現在のリスト・アイテム・テンプレートが使用されます。

- 非カレント・リスト・テンプレート:選択されていない（非カレントの）リスト・テンプレートに置換されるHTMLまたはテキストを入力します。

- サブリスト・アイテムが含まれている非カレント・リスト・テンプレート: アイテムにサブリスト・アイテムが含まれる場合は、選択されていない（非カレントの）リスト・テンプレートに置換されるHTMLまたはテキストを入力します。このテキストを指定しないと、現在のリスト・アイテム・テンプレートが使用されます。

- リスト要素間: リスト要素の間に表示するHTMLを入力します。HTMLを指定しないと、この属性が無視されます。

##### サブリスト前のエントリ

サブリスト要素の前に表示するHTMLを入力します。

##### サブリスト・エントリ

カレントおよび非カレントのリスト・テンプレートを定義します。サポートされる置換文字列は、`#LINK#`、`#TEXT#`、`#IMAGE_PREFIX#`、`#IMAGE#`、`#IMAGE_ATTR#`および`#A01#`から`#A10#`です。

- カレント・サブリスト・テンプレート: 選択された（カレントの）リスト・テンプレートに置換されるHTMLまたはテキストを入力します。

- サブリスト・アイテムが含まれているカレント・サブリスト・テンプレート: アイテムにサブリスト・アイテムが含まれる場合は、選択された（カレントの）リスト・テンプレートに置換されるHTMLまたはテキストを入力します。このテキストを指定しないと、現在のリスト・アイテム・テンプレートが使用されます。

- 非カレント・サブリスト・テンプレート: 選択されていない（非カレントの）リスト・テンプレートに置換されるHTMLまたはテキストを入力します。

- サブリスト・アイテムが含まれている非カレント・サブリスト・テンプレート: アイテムにサブリスト・アイテムが含まれる場合は、選択されていない（非カレントの）リスト・テンプレートに置換されるHTMLまたはテキストを入力します。このテキストを指定しないと、現在のリスト・アイテム・テンプレートが使用されます。

- サブリスト・アイテム間: リスト要素の間に表示するHTMLを入力します。HTMLを指定しないと、この属性が無視されます。

##### サブリスト後のエントリ

サブリスト要素を表示した後に表示するHTMLを入力します。

##### リスト後のエントリ

すべてのリスト要素を表示した後に表示するHTMLを入力します。この属性を使用して、リスト前の要素属性で開始したHTML表を閉じることができます。

##### コメント

この属性を使用して、このオブジェクトに関するコメントを記録します。

##### 置換文字列

このテンプレートの置換文字列の用途を一覧します。置換文字列は、サブテンプレート内でコンポーネント値を参照するために使用されます。

### ページ・テンプレート

ページ・テンプレートは、ページの外観を定義します。各テンプレートは、ヘッダー・テンプレート、ボディ・テンプレート、フッター・テンプレートおよび多くのサブテンプレートで構成されます。ページ・レベル属性でページ・テンプレートを指定しない場合、Application Expressエンジンは、テーマの作成/編集ページで定義したデフォルトのページ・テンプレートを使用します。

ページ・テンプレートは、静的HTMLと実行時に置換される置換文字列を組み合せたものです。置換文字列を使用して、ページ・テンプレート内のコンポーネントの存在と配置を指定します。さらに、サブテンプレートを使用して、コンポーネントの表示方法を指定できます。

参照: 「テンプレートのカスタマイズ」および「テーマの管理」

このセクションの構成は次のとおりです。

- サポートされるページ・テンプレートの置換文字列

- ページ・テンプレート属性

#### サポートされるページ・テンプレートの置換文字列

表7-7に、使用可能なページ・テンプレートの置換文字列を示します。テンプレートのすべての置換文字列は、大文字で指定し、シャープ記号（#）で囲む必要があることに注意してください。

特定のテンプレートでサポートされる置換文字列のレポートを表示するには、ページ・テンプレートの編集ページの「置換文字列」セクションを参照します。詳細は、「ページ・テンプレート属性」を参照してください。

表7-7 ページ・テンプレートの置換文字列

置換文字列 | 説明
--- | ---
`#APP_VERSION#` | ページ・テンプレートの「ヘッダー」または「フッター」セクションで使用できます。`#APP_VERSION#`の値は、定義の編集ページのバージョン属性で定義します。 参照: 「名前」
`#BOX_BODY#` | ボディを表示する位置を指定します。ボディがNULLの場合、かわりに`#BOX_BODY#`が使用されます。
`#CUSTOMIZE#` | ページ・テンプレートの「ヘッダー」、「ボディ」セクションで使用できます。 「リージョン定義」の「カスタマイズ」セクションを使用すると、エンド・ユーザーによるカスタマイズを可能にできます。この機能を使用するには、ページ・テンプレートに`#CUSTOMIZE#`置換文字列も含める必要があります。 エンド・ユーザーによるカスタマイズが1つ以上のリージョンでサポートされる場合、「カスタマイズ」というリンクがページ・テンプレートの`#CUSTOMIZE#`置換文字列が表示される場所に表示されます。このリンクをクリックするとウィンドウが表示され、ユーザーは、ページのリージョンのオン/オフを切り替えることができるようになります。 参照: 「リージョン属性の編集」
`#FORM_CLOSE#` | `#FORM_OPEN#`を含める場合は、ヘッダー、ボディまたはフッターのテンプレートに`#FORM_CLOSE#`を含める必要があります。`#FORM_OPEN#`は`#BOX_BODY#`の前、#`FORM_CLOSE#`は`#BOX_BODY#`置換文字列の後に指定する必要があります。
`#FORM_OPEN#` | HTMLのフォームの開始タグ`<form>`を配置する位置を指定します。フォームを送信するには、この置換文字列を含める必要があります。 ユーザー独自のフォームをオープン状態にコーディングする必要はありません。この操作はApplication Expressエンジンが行います。
`#GLOBAL_NOTIFICATION#` | グローバル通知属性を表示します。グローバル通知は、システム・ステータス（保留中のシステム停止時間など）との通信に使用します。`APEX_APPLICATION`.`G_GLOBAL_NOTIFICATION`を使用すると、この値をプログラムによって設定できます。 参照: グローバル通知属性については、「グローバル通知属性」を参照してください。
`#HEAD#` | `<head>`開始タグと`</head>`閉じタグの間に使用します。オプションで、各ページの`#HEAD#`のコンテンツを定義できます（たとえば、追加のスタイルシートまたはJavaScriptライブラリを参照するように定義できます）。
`#LOGO#` | アプリケーションのロゴを指定します。 定義の編集ページの「ロゴ」セクションで、アプリケーションのロゴのイメージおよびイメージ属性を指定できます。この機能を使用するには、「ヘッダー」または「ボディ」ページ・テンプレートに置換文字列`#LOGO#`も含める必要があります。 参照: 「ロゴ」
`#NAVIGATION_BAR#` | ナビゲーション・バー・エントリの存在を定義します。ナビゲーション・バーは、この置換文字列を含むテンプレートを使用したアプリケーション内の各ページに表示されます。「ナビゲーション・バー」サブテンプレートを使用すると、この置換文字列を拡張できます。 参照: 「ナビゲーション・バー」サブテンプレートは、サブテンプレートを参照してください。
`#NOTIFICATION_MESSAGE#` | 開発者がユーザーにメッセージを送信できます。インライン・エラー・メッセージのサマリーが表示される位置を定義します。インライン・エラー・メッセージは、フィールドの横または通知領域にインライン（あるいはその両方）で表示できます。
`#ONLOAD#` | ページ・テンプレートのヘッダーおよびフッターで使用できます。HTMLの<bodyタグ内に含める必要があります。次に例を示します。
    <body #ONLOAD#>
JavaScriptコールでこの文字列を置換文字列として使用すると、Webブラウザでページがロードされたときにそのコールが実行されます。コールするJavaScriptは、ページごとに変更できます。
`#PARENT_TAB_CELLS#` | 親タブの表示を指定します。親タブには標準タブが必要です。アプリケーションにタブの1つのレベルのみが含まれている場合は、この置換文字列は不要です。 参照: 親タブの属性の定義については、「標準タブ属性」を参照してください。
`#REGION_POSITION_NN#` | ページ内のリージョンの正確な位置を指定します。リージョンが指定されていない場合は、たとえば`#REGION_POSITION_01#`があるとすると、この`#REGION_POSITION_01#`は置換されません。
`#SUCCESS_MESSAGE#` | 成功メッセージおよびエラー・メッセージを表示するページ内の位置を定義します。エラーなしでページ・プロセスが実行されると、このテキストが表示されます。 成功メッセージの前後にHTMLを追加すると、各テンプレートの成功メッセージの表示をカスタマイズできます。
`#TAB_CELLS#` | 標準タブの表示を指定します。 参照: 「標準タブ属性」
`#TITLE#` | ページ・タイトルを定義します。通常、HTMLのtitleタグ内に含まれます。

参照: 「置換文字列の理解」および「アプリケーション内のページの管理」

#### ページ・テンプレート属性

ここでは、ページ・テンプレートの編集ページの特定のセクションについて説明します。ページの各セクションにアクセスするには、ページをスクロール・ダウンするか、ページ上部のナビゲーション・ボタンをクリックします。ページの上部でボタンを選択すると、選択したセクションが表示され、その他すべてのセクションは一時的に非表示になります。ページの全セクションを表示するには、「すべて表示」をクリックします。

##### 名前

「名前」は、テンプレートの名前を示します。「テーマ」は、テンプレートが関連付けられているテーマを示します。

「テンプレート・クラス」は、そのテンプレートに固有の用途を示します。新しいテーマに切り替えると、あるテーマのすべてのテンプレートは、別のテーマの対応するテンプレートにマップされます。アプリケーション・ビルダーは、テンプレート・クラスの割当てによってこのテンプレート・マッピングを行います。テンプレートに翻訳が必要なテキスト文字列が含まれていることを示すには、「翻訳可能」チェック・ボックスを使用します。

##### サブスクリプション

カレント・アプリケーションに既存のテンプレートを適用するには、「サブスクリプション」を使用します。既存のテンプレートを選択すると、ユーザーはそのテンプレートのサブスクライバになります。

マスター・テンプレートの新しいコピーをロードするには、「テンプレートのリフレッシュ」を選択します。

##### 定義

各テンプレートは、ヘッダー、ボディ、フッターおよびサブテンプレートで構成されます。動的コンテンツを含めるには、置換文字列を使用します。テンプレートのすべての置換文字列は、大文字で指定し、シャープ記号（#）で囲む必要があります。サポートされる置換文字列の詳細は、アイテム・ヘルプを参照してください。

「ヘッダー」は、ページ・テンプレートの最初のセクションです。HTMLドキュメントの`<Head>`セクションを定義するHTMLを入力します。表示するリージョンまたはAFTER HEADERを実行するプロセスおよび計算は、テンプレートのこのセクションがレンダリングされた直後に表示または実行されます。次に例を示します。

    <html>
     <head>
       <title>#TITLE#</title>
       #HEAD#
     </head>

「ボディ」はページ・テンプレートの2番目のセクションで、ヘッダー・セクションとフッター・セクションの間にレンダリングされます。HTMLドキュメントの`<Body>`セクションを定義するHTMLを入力します。少なくとも`#BOX_BODY#`置換文字列を含める必要があります。`#FORM_OPEN#`および`#FORM_CLOSE#`置換文字列も含めることをお薦めします。次に例を示します。

       <body #ONLOAD#>
          #FORM_OPEN#
          #BOX_BODY#
          #FORM_CLOSE#
       </body>

「フッター」は、ボディの後に表示する、ページ・テンプレートの3番目のセクションです。

##### 表示ポイント

「ブレッドクラム表示ポイント」は、ブレッドクラムを使用する生成済コンポーネントに適用され、ブレッドクラムが配置されるページ上の位置を定義します。「サイドバー表示ポイント」は、サイドバーを使用する生成済コンポーネントに適用され、サイドバーが配置されるページ上の位置を定義します。

##### サブテンプレート

「サブテンプレート」を使用すると、コンポーネントの表示方法を指定できます。選択可能なサブテンプレートは次のとおりです。

- 成功メッセージ: `#SUCCESS_MESSAGE#`置換文字列を拡張します。プログラムによって、またはプロセスの属性として、成功メッセージを定義できます。成功メッセージが存在し、ページ・テンプレートが`#SUCCESS_MESSAGE#`置換文字列を含んでいる場合は、このサブテンプレートを使用して、メッセージをレンダリングします。

- ナビゲーション・バー: ナビゲーション・バー・エントリの表示を制御します。`#NAVIGATION_BAR#`置換文字列がテンプレートのヘッダー、ボディまたはフッターで参照される際に置換されるHTMLまたはテキストを入力します。`#BAR_BODY#`置換文字列を使用して、各ナビゲーション・バー・アイコンが表示される位置を指定してください。

- ナビゲーション・バー・エントリ: 各ナビゲーション・バー・エントリのナビゲーション・バー`#BAR_BODY#`置換文字列に置換されるHTMLまたはテキストを入力します。次の置換文字列を使用して、ナビゲーション・バー・エントリのサブテンプレートを作成します。

- 通知: `#NOTIFICATION_message#`置換文字列が、テンプレートのヘッダー、ボディまたはフッターで参照される際に置換されるHTMLまたはテキストを入力します。置換文字列`#MESSAGE#`を使用して、通知メッセージにメッセージ本体が表示される位置を指定します。

##### 標準タブ属性

アプリケーションに標準タブが含まれている場合は、この属性を移入する必要があります。`#TAB_CELLS#`置換文字列を使用して、ページ・テンプレートのヘッダー、ボディまたはフッターに標準タブを配置できます。ページ・テンプレートのヘッダー、ボディ、フッターは、HTML表および行を定義します。このサブテンプレートは、特定のセルを定義することによって、これらのタブの表示方法を定義します。選択可能な属性は次のとおりです。

- カレント・タブ: 現在選択されている標準タブに置換されるHTMLまたはテキストを入力します。タブがカレントであるかどうかは、標準タブ属性によって判別されます。次に例を示します。

      <td>#TAB_LABEL#</td>

- 非カレント標準タブ: 選択されていない標準タブに置換されるHTMLまたはテキストを入力します。`#TAB_TEXT#`置換文字列を使用して、テンプレート内のタブ・ラベルおよびリンクの位置を指定してください。次に例を示します。

      <td><a href="#TAB_LINK#">#TAB_LABEL#</a></td>

参照: 「タブの作成」

##### 親タブ属性

アプリケーションに2つのレベルのタブが含まれている場合は、この属性を移入する必要があります。選択された親タブに置換されるHTMLまたはテキストを入力します。`#PARENT_TAB_CELLS#`置換文字列を使用して、ページ・テンプレートのヘッダー、ボディまたはフッターに親タブを配置できます。親タブは、標準タブと組み合せた場合にのみ表示されます。選択可能な属性は次のとおりです。

- カレント親タブ: 選択された親タブに置換されるHTMLまたはテキストを入力します。タブがカレントかどうかは、表示されるページと、ページで使用している標準タブ・セットで判断します。`#TAB_TEXT#`置換文字列を使用して、テンプレート内のタブ・ラベルおよびリンクの位置を指定してください。次に例を示します。

      <td><a href="#TAB_LINK#">#TAB_LABEL#</a></td>

- 非カレント親タブ: 選択されていない親タブに置換されるHTMLまたはテキストを入力します。`#TAB_TEXT#`置換文字列を使用して、テンプレート内のタブ・ラベルおよびリンクの位置を指定してください。次に例を示します。

      <td><a href="#TAB_LINK#">#TAB_LABEL#</a></td>

参照: 「タブの作成」

##### イメージ・ベースのタブ属性

このサブテンプレートは、完全にイメージに基づくタブに使用します。選択可能な属性は次のとおりです。

- カレント・イメージ・タブ: イメージベースのタブが現在選択されていることを示すために使用するHTMLを入力します。タブに表示される名前を示す`#TAB_TEXT#`置換文字列を含めます。

- 非カレント・イメージ・タブ: イメージ・タブは現在選択されていないことを示すために使用するHTMLを入力します。タブに表示される名前を示す`#TAB_TEXT#`置換文字列を含めます。

##### 複数列リージョンの表属性

Application Expressエンジンが同じリージョン位置の複数の列にリージョンを表示する場合、Oracle Application ExpressはHTML表をレンダリングします。この属性によって、`<table>`タグの属性を制御できます。

##### エラー・ページ・テンプレートの制御

ページ・テンプレートをエラー・テンプレートとして指定する場合にのみ、この属性を使用します。`#MESSAGE#`置換文字列を使用してエラー・メッセージを配置し、`#BACK_LINK#`置換文字列を使用して前のページに戻るリンクを表示します。アプリケーション属性を編集すると、テンプレートをエラー・テンプレートとして指定できます。次に例を示します。

    #MESSAGE#

    <br>

    <a href="#BACK_LINK#">back</a>

##### コメント

この属性を使用して、このコンポーネントに関するコメントを記録します。

##### 置換文字列

このテンプレートの置換文字列の用途を一覧します。置換文字列は、サブテンプレート内でコンポーネント値を参照するために使用されます。

### ポップアップLOV テンプレート

ポップアップLOVテンプレートは、`POPUP`として定義したすべてのアイテムに対するポップアップ・リストの表示方法を制御します。ポップアップLOVテンプレートは、各テーマに1つのみ指定できます。

参照: 「LOVの作成」、「テンプレートのカスタマイズ」および「テーマの管理」

#### ポップアップLOVテンプレート属性

ここでは、ポップアップLOVテンプレートの編集ページの特定のセクションについて説明します。ページの各セクションにアクセスするには、ページをスクロールするか、ページ上部のナビゲーション・ボタンをクリックします。ページの上部でボタンを選択すると、選択したセクションが表示され、その他すべてのセクションは一時的に非表示になります。ページの全セクションを表示するには、「すべての表示」をクリックします。

##### アプリケーション

テーマは、テンプレートが関連付けられているテーマを示します。「テンプレート・クラス」は、そのテンプレートに固有の用途を示します。新しいテーマに切り替えると、あるテーマのすべてのテンプレートは、別のテーマの対応するテンプレートにマップされます。アプリケーション・ビルダーは、テンプレート・クラスの割当てによってこのテンプレート・マッピングを行います。テンプレートに翻訳が必要なテキスト文字列が含まれていることを示すには、「翻訳可能」チェック・ボックスを使用します。

##### サブスクリプション

カレント・アプリケーションに既存のテンプレートを適用するには、「サブスクリプション」を使用します。既存のテンプレートを選択すると、ユーザーはそのテンプレートのサブスクライバになります。

マスター・テンプレートの新しいコピーをロードするには、「テンプレートのリフレッシュ」をクリックします。

##### アイコン

「ポップアップ・アイコン」を使用して、`POPUP`タイプのアイテムのフォーム・フィールドの右側に表示するアイコンを指定します。デフォルトでは、Application Expressエンジンは`list.gif`イメージを使用します。「ポップアップ・アイコン属性」を使用して、ポップアップ・アイコンのイメージ属性（高さや幅など）を定義します。

##### 検索フィールド

これらの属性を使用して、「検索」フィールドの表示方法を指定します。表7-8に、使用可能な検索フィールドの属性を示します。

表7-8 検索フィールドの属性

属性 | 説明
--- | ---
フィールド・テキストの前 | ポップアップLOVの検索フィールドを表示する前に表示するテキストを定義します。
フィルタ幅 | テキスト・フィールドをこの幅で表示します。
フィルタ最大幅 | この最大幅でテキスト・フィールドを表示します。
フィルタ・テキスト属性 | これらの属性でテキスト・フィールドを表示します。これはHTMLのinputタグ内に含まれます。
フィールド・テキストの後 | 検索フィールド、検索ボタンおよび閉じるボタンを表示した後にこのテキストを表示します。

##### ボタン

これらの属性を使用して、ボタン名および「検索」、「閉じる」、「次へ」および「戻る」ボタンの属性を定義します。

##### ウィンドウ

JavaScriptを使用してポップアップLOVが実行されます。これらの属性を使用して、`scrollbars=`、`resizable=`、`width=`および`height=`の値を制御します。デフォルトの値の詳細は、アイテム・ヘルプを参照してください。

##### ページ区切り

行カウント結果の表示方法を定義します。

##### 結果セット

これらの属性を使用して、結果セットの前後に表示するテキストまたはHTMLを定義します。

##### ページ属性

これらの属性を使用してポップアップ・ページを定義します。詳細は、アイテム・ヘルプを参照してください。

### リージョン・テンプレート

リージョン・テンプレートは、リージョン属性の外観と配置を制御します。このテンプレートは、頻繁にHTML表を使用してコンテンツを配置します。

リージョン・テンプレートはリージョンにスタイル要素を適用します。また、置換文字列を表示します。`#BODY#`は必須の置換文字列であり、リージョン・ソースが配置される位置を指定します。他のすべての置換文字列はオプションです。これらの置換文字列を使用すると、リージョン内のページ・コントロール（ボタンなど）の存在と配置を指定できます。

参照: 「リージョンの理解」、「テンプレートのカスタマイズ」および「テーマの管理」

#### リージョン・テンプレート属性

ここでは、リージョン・テンプレートの編集ページの特定のセクションについて説明します。ページの各セクションにアクセスするには、ページをスクロールするか、ページ上部のナビゲーション・ボタンをクリックします。ページの上部でボタンを選択すると、選択したセクションが表示され、その他すべてのセクションは一時的に非表示になります。ページの全セクションを表示するには、「すべての表示」をクリックします。

##### 名前

「名前」は、テンプレートの名前を示します。「テーマ」は、テンプレートが関連付けられているテーマを示します。

「テンプレート・クラス」は、そのテンプレートに固有の用途を示します。新しいテーマに切り替えると、あるテーマのすべてのテンプレートは、別のテーマの対応するテンプレートにマップされます。アプリケーション・ビルダーは、テンプレート・クラスの割当てによってこのテンプレート・マッピングを行います。テンプレートに翻訳が必要なテキスト文字列が含まれていることを示すには、「翻訳可能」チェック・ボックスを使用します。

##### サブスクリプション

カレント・アプリケーションに既存のテンプレートを適用するには、「テンプレートのサブスクリプション」を使用します。既存のテンプレートを選択すると、ユーザーはそのテンプレートのサブスクライバになります。

マスター・テンプレートの新しいコピーをロードするには、「テンプレートのリフレッシュ」をクリックします。

##### 定義

リージョン・テンプレートにより、リージョンと呼ばれるページ部分の外観が決まります。置換文字列を使用して、リージョン内のコンポーネントの存在と配置を指定します。必要な置換文字列は`#BODY#`のみです。これにより、リージョンのソースを配置する位置が指定されます。その他すべての置換文字列はオプションです。有効な置換文字列は次のとおりです。

- `#TITLE#`

- `#EXPAND#`

- `#CHANGE#`

- `#BODY#`

- `#FORM_OPEN#`

- `#FORM_CLOSE#`

リージョン位置にボタンを作成すると、定義した位置が選択リストに表示されます。次の置換文字列を使用して、リージョンにボタンを配置する位置を定義してください。

- `#EDIT#`

- `#CLOSE#`

- `#CREATE#`

- `#EXPAND#`

- `#HELP#`

- `#DELETE#`

- `#COPY#`

- `#NEXT#`

- `#PREVIOUS#`

参照: 「置換文字列の理解」

##### フォーム表属性

ページ・アイテムは、リージョン内で表示されます。アイテムは、HTML表のHTMLフォームの要素としてレンダリングされます。このテンプレートのプロパティで、`<table>`タグに配置する属性を定義できます。次に例を示します。

    class="instructiontext"

##### コメント

この属性を使用して、このコンポーネントに関するコメントを記録します。

##### 置換文字列

このテンプレートの置換文字列の用途を一覧します。置換文字列は、サブテンプレート内でコンポーネント値を参照するために使用されます。

### レポート・テンプレート

レポート列テンプレートによって、SQL問合せによって戻される1行の結果を制御できます。このタイプのテンプレートは、行全体ではなく、セルを定義します。

各レポート・テンプレートでは、`#1#、#2#、#3#`などの構文を使用して列名を識別します。`#ENAME#`や`#EMPNO#`などの列名の置換構文を使用して、列に名前を付けることもできます。 アプリケーションのどのアイテムもテンプレート内で参照できます。 たとえば、テンプレートの`ABC.`というアイテムを参照するには、置換文字列`&ABC.`を正確に含めます。ABC.の実際の値は、`ABC`という名前のアプリケーションのアイテムを編集するエンド・ユーザーによって提供されます。

参照: 「レポートの作成」、「テンプレートのカスタマイズ」および「テーマの管理」

このセクションの構成は次のとおりです。

- 汎用列テンプレートおよび名前付き列テンプレートについて

- 汎用列テンプレートのレポート列テンプレート属性

- 名前付き列テンプレートのレポート列テンプレート属性

- 列テンプレートでのJavaScriptの使用について

#### 汎用列テンプレートおよび名前付き列テンプレートについて

Oracle Application Expressには、次の2種類のレポート・テンプレートが含まれています。

- 汎用列テンプレート

- 名前付き列テンプレート

##### 汎用列テンプレート

汎用列テンプレートは、列の外観を1回定義することによって、レポートの外観を決定します。その後、この外観は、レポート定義に指定された列の数に基づいて、必要なだけ繰り返されます。このタイプのテンプレートを使用できるのは、行および列が標準的な構造のレポートに限られます。条件を使用すると、このタイプのテンプレートでレポートに追加のスタイルを適用できます。

次の例では、各列で特定のスタイルを使用する方法を示します。

    <td class="tabledata" align="#ALIGN#">#COLUMN_VALUE#</td>

この例では、ページ・テンプレートにクラス`tabledata`を含むCSSが存在することを想定しています。また、この例では、置換文字列`#ALIGN#`および`#COLUMN_VALUE#`を使用しています。実際にこのレポートを実行すると、これらの置換文字列は、SQL問合せの結果によって生成された値に置換されます。

問合せの選択リストに式を使用する場合は、列の別名を作成して実行時エラーを回避することをお薦めします。たとえば、次のような問合せを考えてみます。

    SELECT ename, (sal + comm) * 12 FROM emp

問合せをリライトして、次のように列に別名を付けることができます。

    SELECT ename, (sal + comm) * 12 yearly_comp FROM emp

##### 名前付き列テンプレート

名前付き列テンプレートを使用すると、より柔軟にレポートを設計できます。ただし、名前付きテンプレートは名前で列を参照するため、それらの列を基にしたレポートでのみ使用されます。次に例を示します。

    <tr><td>#ENAME#</td><td>#SAL#</td></tr>

名前付き列テンプレートは自由度の高いものですが、問合せごとに新しいテンプレートを作成する必要がある場合があります。位置表記を含めることもできます。次の例では、HTMLおよび置換文字列を使用する方法を示します。

    <tr><td>#ENAME#</td><td>#SAL#</td></tr>

    <tr><td>#1#</td><td>#2#</td></tr>

#### 汎用列テンプレートのレポート列テンプレート属性

ここでは、汎用列テンプレートのレポート・テンプレートの編集・ページの特定のセクションについて説明します。ページの各セクションにアクセスするには、ページをスクロール・ダウンするか、ページ上部のナビゲーション・ボタンをクリックします。ページの上部でボタンを選択すると、選択したセクションが表示され、その他すべてのセクションは一時的に非表示になります。ページの全セクションを表示するには、「すべて表示」をクリックします。

##### レポート・テンプレート

「テンプレート名」は、テンプレートの名前を示します。「テンプレート・タイプ」には、テンプレートのタイプを指定します。名前付き列テンプレートは、テンプレートの列名を参照します。汎用列テンプレートは、テンプレートの`#COLUMN_VALUE#`置換文字列を参照します。

「テーマ」は、テンプレートが関連付けられているテーマを示します。「テンプレート・クラス」は、そのテンプレートに固有の用途を示します。新しいテーマに切り替えると、あるテーマのすべてのテンプレートは、別のテーマの対応するテンプレートにマップされます。アプリケーション・ビルダーは、テンプレート・クラスの割当てによってこのテンプレート・マッピングを行います。テンプレートに翻訳が必要なテキスト文字列が含まれていることを示すには、「翻訳可能」チェック・ボックスを使用します。

##### テンプレート・サブスクリプション

カレント・アプリケーションに既存のテンプレートを適用するには、「テンプレートのサブスクリプション」を使用します。既存のテンプレートを選択すると、ユーザーはそのテンプレートのサブスクライバになります。

マスター・テンプレートの新しいコピーをロードするには、「テンプレートのリフレッシュ」をクリックします。

##### 行の前

「行の前」では、レポート・テンプレートの最初に1回表示するHTMLを入力します。HTML表は、一般的に、次のようにこの属性を使用して開始します。

    <table>

構文`#1#`、`#2#`、`#3#`を使用して列ヘッダーを指定できます。次に例を示します。

    <th>#1#</th><th>#2#</th><th>#3#</th>

置換文字列`#top_pagination#`を含めることによって、レポートの上部にページ区切りを含めることができます。この置換文字列は、開始タグ`<tr>`で始まり、閉じタグ`</tr>`で終わるHTMLを生成します。たとえば、表の開始タグと`#TOP_PAGINATION#`置換文字列を含めるには、次のように入力します。

    <table>#TOP_PAGINATION#

また、置換文字列`` #CSV_LINK#を使用すると、ほぼすべてのスプレッドシート・プログラムと互換性があるカンマ区切り値（CSV）形式にレポートをエクスポートできるようになります。

##### 列ヘッダー

「列ヘッダー・テンプレート」を使用して、各列ヘッダーのセルに色を追加します。この属性のテキストには、セルのヘッダー・テキストをカラー化する位置を指定する必要があります。次に例を示します。

     <th #ALIGNMENT#>#COLUMN_HEADER#</th>

列ヘッダーを使用しない場合は、次のように入力します。

    OMIT

この属性を使用しない場合は、Application Expressエンジンによって、デフォルトの列ヘッダー・テンプレートが適用されます。

##### 各行の前

「各行の前」では、レポートのすべての列の前に表示するテキストを入力します。この属性は、新しいHTML行を開始するために使用します。「各行の前」では、次の置換文字列をサポートします。

- `#ROWNUM#`

  この置換文字列は、現行の行を指定するために使用します。

- `#COLCOUNT#`

  この置換文字列は、列の数を指定するために使用します。

- `#HIGHLIGHT_ROW#`

  この置換文字列は、ハイライトされた行の数を指定するために使用します。

##### 列テンプレート

列テンプレートは、各列の外観を定義します。最大4つの列テンプレートを定義できます。各テンプレートは、条件付きにできます。たとえば、偶数行と奇数行に異なる背景色を指定したり、PL/SQLで定義した条件に一致する行をハイライトできます。

各列テンプレートでは、各列の外観を定義します。表7-9に、列テンプレートでサポートされる置換文字列を示します。

表7-9 列テンプレートの置換文字列

置換文字列 | 説明
--- | ---
`#ALIGNMENT#` | 列の位置合せを指定します。ユーザーが指定します。
`#COLCOUNT#` | 列数のカウントを定義します。
`#COLNUM#` | 現在の列番号を定義します。
`#COLUMN_HEADER#` | 列ヘッダーを定義します。
`#COLUMN_VALUE#` | 列の値に置換されます。
`#ROWNUM#` | 現在の行番号を指定します。

次に例を示します。

    <td> #ALIGNMENT#>#COLUMN_VALUE#</td>

実際にこのレポートを実行すると、これらの置換文字列は、SQL問合せの結果によって生成された値に置換されます。

条件を作成すると、指定した条件に一致するかどうかによって列の表示が異なるレポートを作成できます。条件付きで使用される列テンプレートを指定するには、列テンプレートの条件リストから条件タイプを選択します。有効な値は、次のとおりです。

- PL/SQL式に基づく使用: その行のデータに基づき、条件付きで列を書式化します。

- 偶数行で使用: 偶数行を条件付きで書式化します。

- 奇数行で使用: 奇数行を条件付きで書式化します。

「PL/SQL式に基づく使用」を選択する場合は、次に列テンプレートの式フィールドでPL/SQL式を入力します。たとえば、次の式で値が2000より大きい場合、その値を太字で表示します。

    #SAL# > 2000

置換文字列`#ROWNUM#`を使用することもできます。次に例を示します。

    #ROWNUM# > 2000

##### 各行の後

「各行の後」には、レポートを表示する際にすべての列の後に表示するHTMLを入力します。多くの場合、この属性は、HTML表の行を閉じるために使用されます。次に例を示します。

    </tr>

##### 行の後

「行の後」を使用して、最後の行の後に表示するテキストを指定します。HTML表のタグは、一般的に、この属性を使用して閉じます。次に例を示します。

    </table>

「行の後」属性は、次の置換文字列をサポートします。

- `#PAGINATION#`

  ページ区切り属性で置換されます。

- `#COLCOUNT#`

  実行時に、レポートで定義された列数に置換されます。

##### 行選択

「チェックした行のバックグラウンド・カラー」を使用して、行セレクタが選択されている場合のレポート行の背景色を制御します。「カレント行のバックグラウンド・カラー」を使用して、ユーザーがその行の上にマウスを移動した場合のレポート行の背景色を制御します。

##### ページ区切りのサブテンプレート

「ページ区切りのサブテンプレート」セクションには、「ページ区切りテンプレート」、「次のページ・テンプレート」、「前のページ・テンプレート」、「次のセット・テンプレート」および「前のセット・テンプレート」を編集する属性が含まれています。「ページ区切りのサブテンプレート」は、置換文字列`#PAGINATION_NEXT#`、`#PAGINATION_NEXT_SET#`、`#PAGINATION_PREVIOUS#`および`#PAGINATION_PREVIOUS_SET#`をサポートしています。表7-12に、これらのテンプレートについて示します。

表7-10 ページ区切りのサブテンプレート属性

ページ区切りサブテンプレート属性 | 説明
--- | ---
ページ区切りテンプレート | ページ区切りサブテンプレート全体に適用します。次に例を示します。
    <span class="instructiontext">#TEXT#</span>
置換文字列`#TEXT#`を使用して、ページ区切りサブテンプレートを表示する場所を指定します。 個々のアイテムを変更するには、その他のページ区切りサブテンプレート属性を使用します。
次のページ・テンプレート | ページ区切りサブテンプレートの「次のページ」部分を表示する方法を変更するHTMLを入力します。次に例を示します。
    <a href="#LINK#">next</a>
前のページ・テンプレート | ページ区切りサブテンプレートの「前のページ」部分を表示する方法を変更するHTMLを入力します。次に例を示します。
    <a href="#LINK#">previous</a>
次のセット・テンプレート | ページ区切りサブテンプレートの「次のセット」部分を表示する方法を変更するHTMLを入力します。次に例を示します。
    <a href="#LINK#">next set</a>
前のセット・テンプレート | ページ区切りサブテンプレートの「前の設定」部分を表示する方法を変更するHTMLを入力します。次に例を示します。
    <a href="#LINK#">previous set</a>

##### コメント

この属性を使用して、このコンポーネントに関するコメントを記録します。

#### 名前付き列テンプレートのレポート列テンプレート属性

ここでは、名前付き列テンプレートのレポート・テンプレートの編集ページの特定のセクションについて説明します。ページの各セクションにアクセスするには、ページをスクロール・ダウンするか、ページ上部のナビゲーション・ボタンをクリックします。ページの上部でボタンを選択すると、選択したセクションが表示され、その他すべてのセクションは一時的に非表示になります。ページの全セクションを表示するには、「すべて表示」をクリックします。

##### 名前

「テンプレート名」は、テンプレートの名前を示します。「テンプレート・タイプ」には、テンプレートのタイプを指定します。名前付き列テンプレートは、テンプレートの列名を参照します。汎用列テンプレートは、テンプレートの`#COLUMN_VALUE#`置換文字列を参照します。

「テーマ」は、テンプレートが関連付けられているテーマを示します。テンプレートに翻訳が必要なテキスト文字列が含まれていることを示すには、「翻訳可能」チェック・ボックスを使用します。「テンプレート・クラス」は、そのテンプレートに固有の用途を示します。新しいテーマに切り替えると、あるテーマのすべてのテンプレートは、別のテーマの対応するテンプレートにマップされます。アプリケーション・ビルダーは、テンプレート・クラスの割当てによってこのテンプレート・マッピングを行います。

##### サブスクリプション

カレント・アプリケーションに既存のテンプレートを適用するには、「サブスクリプション」を使用します。既存のテンプレートを選択すると、ユーザーはそのテンプレートのサブスクライバになります。

マスター・テンプレートの新しいコピーをロードするには、「リフレッシュ」をクリックします。

##### 行テンプレート

行テンプレートは、各行の外観を定義します。最大4つの行テンプレートを定義できます。各テンプレートは、条件付きにできます。

各行テンプレートでは、各行の外観を定義します。表7-11に、行テンプレートでサポートされる置換文字列を示します。

表7-11 行テンプレートの置換文字列

置換文字列 | 説明
--- | ---
`#ALIGNMENT#` | 行の位置合せを指定します。ユーザーが指定します。
`#COLCOUNT#` | 列数のカウントを定義します。
`#COLNUM#` | 現在の列番号を定義します。
`#COLUMN_HEADER#` | 列ヘッダーを定義します。
`#COLUMN_VALUE#` | 列の値に置換されます。
`#ROWNUM#` | 現在の行番号を指定します。

条件を作成すると、指定した条件に一致するかどうかによって行の表示が異なるレポートを作成できます。条件付きで使用される行テンプレートを指定するには、行テンプレートの条件リストから条件タイプを選択します。有効な値は、次のとおりです。

- PL/SQL式に基づく使用: その行のデータに基づき、条件付きで列を書式化します。

- 偶数行で使用: 偶数行を条件付きで書式化します。

- 奇数行で使用: 奇数行を条件付きで書式化します。

「PL/SQL式に基づく使用」を選択する場合は、次に列テンプレートの式フィールドでPL/SQL式を入力します。たとえば、次の式で値が2000より大きい場合、その値を太字で表示します。

    #SAL# > 2000

置換文字列`#ROWNUM#`を使用することもできます。次に例を示します。

    #ROWNUM# > 2000

##### 列ヘッダー

各列ヘッダーのセルに色を追加するには、このテンプレートを使用します。この属性のテキストには、セルのヘッダー・テキストをカラー化する位置を指定する必要があります。「列ヘッダー・テンプレート」を入力しない場合は、デフォルトの列ヘッダー・テンプレートが適用されます。列ヘッダーを使用しない場合は、`OMIT`を入力します。次に例を示します。

     <th #ALIGNMENT#>#COLUMN_HEADER#</th>

##### 最初の前および最後の後のテキスト

「行の前」では、レポート・テンプレートの最初に1回表示するHTMLを入力します。HTML表は、一般的に、次のようにこの属性を使用して開始します。

    <table>

構文`#1#`、`#2#`、`#3#`を使用して列ヘッダーを指定できます。次に例を示します。

    <th>#1#</th><th>#2#</th><th>#3#</th>

置換文字列`#top_pagination#`を含めることによって、レポートの上部にページ区切りを含めることができます。この置換文字列は、開始タグ`<tr>`で始まり、閉じタグ`</tr>`で終わるHTMLを生成します。たとえば、表の開始タグと`#TOP_PAGINATION#`置換文字列を含めるには、次のように入力します。

    <table>#TOP_PAGINATION#

また、置換文字列`#CSV_LINK#`を使用すると、ほぼすべてのスプレッドシート・プログラムと互換性があるCSVフォーマットにレポートをエクスポートできるようになります。

「行の後」を使用して、最後の行の後に表示するテキストを指定します。HTML表のタグは、一般的に、この属性を使用して閉じます。次に例を示します。

    </table>

「行の後」属性は、次の置換文字列をサポートします。

- `#PAGINATION#`

  ページ区切り属性で置換されます。

- `#COLCOUNT#`

  実行時に、レポートで定義された列数に置換されます。

##### ページ区切り

「ページ区切り」セクションには、「ページ区切りテンプレート」、「次のページ・テンプレート」、「前のページ・テンプレート」、「次のセット・テンプレート」および「前のセット・テンプレート」を編集する属性が含まれています。「ページ区切りのサブテンプレート」は、置換文字列`#PAGINATION_NEXT#`、`#PAGINATION_NEXT_SET#`、`#PAGINATION_PREVIOUS#`および`#PAGINATION_PREVIOUS_SET#`をサポートしています。表7-12に、これらのテンプレートについて示します。

表7-12 ページ区切りのサブテンプレート属性

ページ区切りサブテンプレート属性 | 説明
--- | ---
ページ区切りテンプレート | ページ区切りサブテンプレート全体に適用します。次に例を示します。
    <span class="instructiontext">#TEXT#</span>
置換文字列`#TEXT#`を使用して、ページ区切りサブテンプレートを表示する場所を指定します。 個々のアイテムを変更するには、その他のページ区切りサブテンプレート属性を使用します。
次のページ・テンプレート | ページ区切りサブテンプレートの「次のページ」部分を表示する方法を変更するHTMLを入力します。次に例を示します。
    <a href="#LINK#">next</a>
前のページ・テンプレート | ページ区切りサブテンプレートの「前のページ」部分を表示する方法を変更するHTMLを入力します。次に例を示します。
    <a href="#LINK#">previous</a>
次のセット・テンプレート | ページ区切りサブテンプレートの「次のセット」部分を表示する方法を変更するHTMLを入力します。次に例を示します。
    <a href="#LINK#">next set</a>
前のセット・テンプレート | ページ区切りサブテンプレートの「前の設定」部分を表示する方法を変更するHTMLを入力します。次に例を示します。
    <a href="#LINK#">previous set</a>

##### コメント

この属性を使用して、このコンポーネントに関するコメントを記録します。

#### 列テンプレートでのJavaScriptの使用について

JavaScriptを使用すると、データベース内の値に応じてHTMLを条件付きで表示できます。次の例では、`GROUP_DESC`問合せ列がNULLでない場合にのみHTML行が表示されます。

    <script language="javascript">
    IF ( "#GROUP_DESC#" != "" )
    document.writeln( "<TR>;
    <TD BGCOLOR=#336699>;</TD>
    </TR>
    </TR>
    <TD>#GROUP_DESC#</TD>
                    </TR>" );
            </TR>" );

参照: レポート・テンプレートの編集ページ固有のセクションを使用する方法については、オンライン・ヘルプを参照してください。 「リージョンの理解」

## 印刷用ページの最適化

特定の印刷用テンプレートを作成し、テーマの作成/編集ページでそのテンプレートを選択することで、印刷用のページを最適化できます。詳細は、「テーマのデフォルトのテンプレートの変更」を参照してください。

一般に、印刷用テンプレートは、印刷用のページを最適化します。たとえば、印刷用テンプレートは、次のことを行います。

- タブまたはナビゲーション・バーを非表示にします。

- アイテムをフォーム要素ではなくテキストとして表示します

選択したテーマに印刷用テンプレートが含まれていない場合、新しいページ・テンプレートを作成することによって印刷用テンプレートを作成できます。

参照: 「テーマのデフォルトのテンプレートの変更」、「新しいテンプレートの作成」および「レポート・リージョンの出力」

このセクションの構成は次のとおりです。

- アプリケーションの印刷用テンプレートの選択

- f?p構文を使用した印刷用モードへの切替え

### アプリケーションの印刷用テンプレートの選択

印刷用テンプレートを選択するには、次のステップを実行します。

1. テーマ・ページにナビゲートします。

   1. 作業領域のホームページで、「アプリケーション・ビルダー」をクリックします。

   2. アプリケーションを選択します。

   3. 「共有コンポーネント」をクリックします。

   4. 「ユーザー・インタフェース」で、「テーマ」を選択します。

2. 「テーマ」リストで、テーマ名をクリックします。

   テーマの作成/編集ページが表示されます。

3. 「コンポーネントのデフォルト値」までスクロールして、「「印刷用」ページ」リストを探します。

4. 「「印刷用」ページ」リストから新しく選択します。

5. 「変更の適用」をクリックします。

参照: 「テーマのデフォルトのテンプレートの変更」

### f?p構文を使用した印刷用モードへの切替え

印刷用テンプレートを作成して選択した後、`f?p`構文を使用して印刷用モードに切り替えることができます。`f?p`構文の9番目の引数（`PrinterFriendly`）を指定すると、ページが印刷用（印刷用に最適化された）モードでレンダリングされます。たとえば、リンクのコーディング時、またはナビゲーション・バー・アイコンの作成時に、この引数を含めることができます。

参照: 「f?p構文を使用したページのリンク」

## カスタム・カスケード・スタイルシートの使用

カスケード・スタイルシート（CSS）によって、構造を変更せずにWebページのスタイルを制御できます。CSSを適切に使用すると、カラー、余白、フォントなどの視覚属性がHTMLドキュメントの構造から切り離されます。Oracle Application Expressのテーマには、独自のCSSを参照するテンプレートを含めることができます。特定のテーマの各CSSで定義されたスタイル・ルールによって、レポートおよびリージョンの表示も指定されます。

このセクションの構成は次のとおりです。

- カスケード・スタイルシートのアップロード

- ページ・テンプレートのアップロードされたカスケード・スタイルシートの参照

参照: 「CSSファインダの使用」

### カスケード・スタイルシートのアップロード

カスケード・スタイルシートを作業領域にアップロードするには、カスケード・スタイルシート・リポジトリを使用します。アップロードされたカスケード・スタイルシート（CSS）は、作業領域に作成されたすべてのアプリケーションで使用できます。カスケード・スタイルシートは、ファイル・システムに書き込まれるため、HTMLソース・コードで参照できます。

カスケード・スタイルシートをアップロードするには、次のステップを実行します。

1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

2. アプリケーションを選択します。

3. 「共有コンポーネント」をクリックします。

   共有コンポーネント・ページが表示されます。

4. 「ファイル」で、「カスケード・スタイルシート」を選択します。

   カスケード・スタイルシート・ページが表示されます。

5. 「ビュー」リストから「詳細」を選択します。詳細は、「カスケード・スタイルシート・ページについて」を参照してください。

6. 新しいCSSをアップロードするには、「作成」をクリックして、画面に表示されるステップに従います。

7. 既存のCSSを編集するには、CSSの名前を選択します。

8. 既存のCSSをダウンロードするには、「ダウンロード」アイコンをクリックします。

#### 「カスケード・スタイルシート」ページ

CSSを CSSリポジトリにアップロードした後、「ビュー」リストで選択して、ページの表示方法を制御します。使用可能なオプションは次のとおりです。

- アイコン（デフォルト）: 各CSSを大きいアイコンとして表示します。CSSを編集するには、該当するアイコンをクリックします。

- 詳細: 各CSSをレポートで1行に表示します。CSSを編集するには、該当する名前をクリックします。

### ページ・テンプレートのアップロードされたカスケード・スタイルシートの参照

ページ・テンプレートのヘッダー・セクション内でアップロードされたカスケード・スタイルシートを参照できます。ヘッダー・セクションを使用して、HTMLドキュメントの<HEAD>セクションを構成するHTMLを入力します。

アップロードされたカスケード・スタイルシートを参照するには、次のステップを実行します。

1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

2. アプリケーションを選択します。

3. 「共有コンポーネント」をクリックします。

4. 「ユーザー・インタフェース」で、「テーマ」を選択します。

   テーマ・ページが表示されます。

5. 「タスク」リストで、「テンプレートの表示」をクリックします。

6. 編集するページ・テンプレートの名前を選択します。

7. Headセクション内の`<link>`タグを使用して、適切なスタイルシートを参照します。

   特定のアプリケーションに関連付けられたアップロード済ファイルを参照するには、置換文字列`#APP_IMAGES#`を使用します。次に例を示します。

       <html>
       <head>
           <title>#TITLE#</title>
           #HEAD#
           <link rel="stylesheet" href="#APP_IMAGES#sample2.css" type="text/css">
       </head>
       ...

   特定の作業領域に関連付けられたアップロード済ファイルを参照するには、置換文字列`#WORKSPACE_IMAGES#`を使用します。次に例を示します。

       <html>
       <head>
           <title>#TITLE#</title>
           #HEAD#
           <link rel="stylesheet" href="#WORKSPACE_IMAGES#sample3.css" type="text/css">
       </head>
       ...

参照: 「カスケード・スタイルシートのアップロード」、「新しいテンプレートの作成」、「テンプレートの編集」、「ページ・テンプレート」、「APP_IMAGES」および「WORKSPACE_IMAGES」

## イメージの管理

アプリケーション内のイメージは、イメージ・リポジトリにアップロードすることで参照できます。イメージをアップロードする際、そのイメージをすべてのアプリケーションで使用可能にするか、特定のアプリケーションで使用可能にするかを指定できます。

このセクションの構成は次のとおりです。

- イメージのアップロード

- イメージの参照

- イメージ属性の編集

- イメージの削除

ヒント: イメージ・ファインダを使用して、使用可能なイメージを現在のアプリケーションに指定できます。「イメージ・ファインダの使用」を参照してください。

### イメージのアップロード

イメージ・リポジトリを使用して、イメージを作業領域にアップロードします。

イメージを作業領域にアップロードするには、次のステップを実行します。

1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

2. アプリケーションを選択します。

3. 「共有コンポーネント」をクリックします。

   共有コンポーネント・ページが表示されます。

4. 「ファイル」で、「イメージ」を選択します。

   イメージ・ページが表示されます。

5. 新しいイメージをアップロードするには、「作成」をクリックします。

6. イメージの作成ページで、次の項目を指定します。

   1. アプリケーション: 「関連付けられたアプリケーションなし」を選択して、作業領域内のすべてのアプリケーションでイメージを使用できるようにするか、特定のアプリケーションIDを選択します。

   2. 新しいイメージをアップロード: 「参照」をクリックして、アップロードするファイルを指定します。

   3. ノート: イメージについて説明する詳細を入力します。

7. 「アップロード」をクリックします。

### イメージの参照

置換文字列`#IMAGE_PREFIX#`を参照するか、完全修飾されたURLをイメージに含めることで、アプリケーション内のイメージを参照できます。

このセクションの構成は次のとおりです。

- 仮想イメージ・ディレクトリの接頭辞の確認

- #IMAGE_PREFIX#を使用したイメージの参照

- 完全修飾URLを使用したイメージの参照

#### 仮想イメージ・ディレクトリの接頭辞の確認

アプリケーション・ビルダーのインストール時に、イメージ用の仮想ディレクトリがインストーラによって作成されます。この仮想ディレクトリは、アップロードされたイメージを含むファイル・システム上の実際のパスを指します。デフォルトでは、接頭辞を使用してこの仮想ディレクトリを参照します。

    /i/

アプリケーションを最初に作成する際、定義の編集ページでこの接頭辞を検証する必要があります。

アプリケーションのイメージ接頭辞を検証するには、次のステップを実行します。

1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

2. アプリケーションを選択します。

3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。

4. 「アプリケーション」で、「定義」を選択します。

5. アプリケーション定義の編集ページが表示された後、「イメージ接頭辞」フィールドを検索します。

   デフォルトでは、この属性は`/i/`と定義されています。ご使用の環境でのこの仮想ディレクトリの名前については、管理者に問い合せてください。

#### #IMAGE_PREFIX#を使用したイメージの参照

静的テキスト（ページ・ヘッダー、リージョン・ヘッダー、リージョン・フッターなど）にイメージを埋め込む場合は、置換文字列`#IMAGE_PREFIX#`を使用してイメージを参照できます。たとえば、イメージ`go.gif`を参照するには、次の構文を使用します。

    <img src="#IMAGE_PREFIX#go.gif">

参照: 「組込み置換文字列について」、「IMAGE_PREFIX」、「APP_IMAGES」および「WORKSPACE_IMAGES」

#### 完全修飾URLを使用したイメージの参照

また、完全修飾されたURLを使用してイメージを参照することもできます。次に例を示します。

    <img src="http://g-images.amazon.com/images/G/01/associates/navbar2000/logo-no-border(1).gif">

### イメージ属性の編集

イメージ属性の編集では、イメージについて説明する注意の追加、または関連付けられたアプリケーションの変更ができます。しかし、実際のイメージは変更できません。イメージを変更するには、イメージを削除して再度アップロードします。

参照: 「イメージの削除」および「イメージのアップロード」

イメージ属性を編集するには、次のステップを実行します。

1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

2. アプリケーションを選択します。

3. 「共有コンポーネント」をクリックします。

   共有コンポーネント・ページが表示されます。

4. 「ファイル」で、「イメージ」を選択します。

   イメージ・ページが表示されます。

5. 次のコントロールを選択してビューにフィルタを適用します。

   1. イメージ: テキストを入力して、イメージ名またはイメージの説明テキストを検索します。検索対象として、「すべてのイメージ」、「作業領域イメージ」または「アプリケーション・イメージ」を選択します。

   2. ビュー: 次のいずれかを選択します。

      - アイコン（デフォルト）: 各イメージを大きいアイコンとして表示します。

      - 詳細: 各イメージをレポートで1行に表示します。

   3. 表示: 表示するイメージの数を決定します。

   4. 「実行」をクリックします。

6. イメージを選択します。

   イメージ属性の編集ページが表示されます。

7. 「アプリケーション」から、イメージの可用性を指定します。

   「関連付けられたアプリケーションなし」を選択して、作業領域内のすべてのアプリケーションでイメージを使用できるようにするか、特定のアプリケーションIDを選択します。

8. ノートで、イメージについて説明する詳細を入力します。

9. 「変更の適用」をクリックします。

### イメージの削除

イメージを削除するには、次のステップを実行します。

1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

2. アプリケーションを選択します。

3. 「共有コンポーネント」をクリックします。

   共有コンポーネント・ページが表示されます。

4. 「ファイル」で、「イメージ」を選択します。

   イメージ・ページが表示されます。

5. 次のいずれかを選択してビューにフィルタを適用します。

   1. イメージ: テキストを入力して、イメージ名またはイメージの説明テキストを検索します。検索対象として、「すべてのイメージ」、「作業領域イメージ」または「アプリケーション・イメージ」を選択します。

   2. ビュー: 次のいずれかを選択します。

      - アイコン（デフォルト）: 各イメージを大きいアイコンとして表示します。

      - 詳細: 各イメージをレポートで1行に表示します。

   3. 「実行」をクリックします。

6. イメージを選択します。

7. 「削除」をクリックします。

## 静的ファイルの管理

静的ファイル・リポジトリを使用して、静的ファイルを作業領域にアップロードできます。

このセクションの構成は次のとおりです。

- 静的ファイルのアップロード

- アップロードしたファイルの編集

- アップロードしたファイルのダウンロード

- アップロードしたファイルの削除

### 静的ファイルのアップロード

静的ファイルをアップロードするには、次のステップを実行します。

1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

2. アプリケーションを選択します。

3. 「共有コンポーネント」をクリックします。

   共有コンポーネント・ページが表示されます。

4. 「ファイル」で、「静的ファイル」を選択します。

   静的ファイル・ページが表示されます。

5. ファイルをアップロードするには、「作成」をクリックします。

6. 画面に表示されるステップに従います。

### アップロードしたファイルの編集

30,000バイト未満の静的ファイルは、ファイル名を選択して編集できます。それ以外の場合は、ファイルをオフラインで編集し、再度アップロードする必要があります。

30,000バイト未満の静的ファイルを編集するには、次のステップを実行します。

1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

2. アプリケーションを選択します。

3. 「共有コンポーネント」をクリックします。

   共有コンポーネント・ページが表示されます。

4. 「ファイル」で、「静的ファイル」を選択します。

   静的ファイル・ページが表示されます。

5. 次のコントロールを選択してビューにフィルタを適用します。

   1. 静的ファイル: テキストを入力して、ファイル名またはファイルの説明テキストを検索します。

   2. アプリケーション: 次のいずれかの項目を選択して、ビューを絞り込むか範囲を広げます。

      - すべての静的ファイル

      - 関連付けられたアプリケーションなし

      - 特定のアプリケーション

   3. ビュー: 次のいずれかを選択します。

      - アイコン（デフォルト）: を選択すると、各ファイルを大きいアイコンとして表示します。

      - 詳細: 各ファイルをレポートで1行に表示します。

   4. 表示: 表示するファイルの数を決定します。

   5. 「実行」をクリックします。

6. ファイルを選択します。

7. ファイルが30,000バイトより小さい場合、ファイルを編集します。

8. 「注意」で、ファイルの説明のテキストを編集または入力します。

9. 「変更の適用」をクリックします。

### アップロードしたファイルのダウンロード

アップロードしたファイルをダウンロードするには、次のステップを実行します。

1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

2. アプリケーションを選択します。

3. 「共有コンポーネント」をクリックします。

   共有コンポーネント・ページが表示されます。

4. 「ファイル」で、「静的ファイル」を選択します。

   静的ファイル・リポジトリが表示されます。

5. 「ビュー」から「詳細」を選択し、「実行」をクリックします。

   各ファイルをレポートで1行に表示します。

6. 該当するファイルの横にある「ダウンロード」アイコンを選択します。

### アップロードしたファイルの削除

アップロードした静的ファイルを削除するには、次のステップを実行します。

1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

2. アプリケーションを選択します。

3. 「共有コンポーネント」をクリックします。

   共有コンポーネント・ページが表示されます。

4. 「ファイル」で、「静的ファイル」を選択します。

   静的ファイル・リポジトリが表示されます。

5. 次のコントロールを選択してビューにフィルタを適用します。

   1. 静的ファイル: テキストを入力して、ファイル名またはファイルの説明テキストを検索します。

   2. アプリケーション: 次のいずれかの項目を選択して、ビューを絞り込むか範囲を広げます。

      - すべての静的ファイル

      - 関連付けられたアプリケーションなし

      - 特定のアプリケーション

   3. ビュー: 次のいずれかを選択します。

      - アイコン（デフォルト）: を選択すると、各ファイルを大きいアイコンとして表示します。

      - 詳細: 各ファイルをレポートで1行に表示します。

   4. 表示: 表示するファイルの数を決定します。

   5. 「実行」をクリックします。

6. ファイルを選択します。

7. 「削除」をクリックします。

## カスタム PL/SQLを使用したHTMLのレンダリング

Oracle Application Expressのフォーム、レポートおよびチャートによって処理されない特定のHTMLコンテンツを生成する必要がある場合、PL/SQLタイプのリージョンを使用できます。このタイプのリージョンにHTMLを生成するには、PL/SQL Webツールキットを使用する必要があります。バインド変数構文を使用して、セッション・ステートを参照できます。この方法でHTMLを生成する場合、テンプレートの場合と同じ一貫性および制御は得られないことに注意してください。

参照: PL/SQLを使用したWebアプリケーションの開発の詳細は、『Oracle Databaseアドバンスト・アプリケーション開発者ガイド』を参照してください。 htpパッケージの詳細は、『Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス』を参照してください。

リージョン内に生成されるHTMLをより動的に制御するには、PL/SQLを使用できます。たとえば、現在の日付を出力するには、次のソースを持つリージョンを作成できます。

    htp.p(TO_CHAR(SYSDATE,'Day Month DD, YYYY'));

次の例では、表にアクセスします。

    DECLARE
       l_max_sal NUMBER;
    BEGIN
       SELECT max(sal) INTO l_max_sal FROM emp;
       htp.p('The maximum salary is: '||TO_CHAR(l_max_sal,'999,999.00'));
    END;