3.10.1 置換文字列の使用について

置換文字列の使用について学習します。

ヒント:

アプリケーション・ビルダーでは、多くの組込み置換文字列がサポートされています。これらの置換文字列を参照して、特定のタイプの機能を実現できます。さらに学習するには、「組込み置換文字列の使用」を参照してください。

3.10.1.1 テンプレート内のプレースホルダ置換文字列

コンポーネント値を参照するためにプレースホルダ置換文字列をテンプレート内に含めます。

テンプレート内で使用可能なプレースホルダ置換文字列は、番号記号(#)で表されます。たとえば:

#ABC#

ヒント:

また、JavaScript API apex.util.applyTemplateを使用してクライアント側でテンプレートを評価できます。Oracle APEX JavaScript APIリファレンスapplyTemplateを参照してください。

3.10.1.2 ページまたはアプリケーション・アイテムのセッション・ステート置換構文

セッション・ステート置換構文(&ITEM.構文とも呼ばれる)を使用して、ページまたはアプリケーション・アイテムを参照します。

セッション・ステート置換文字列構文(&ITEM.構文とも呼ばれる)を使用してページまたはアプリケーション・アイテムを参照するには:

  1. すべて大文字でページまたはアプリケーション・アイテムを参照します。
  2. アイテム名の先頭にアンパサンド(&)を追加します。
  3. アイテム名の末尾にピリオド(.)を追加します。

セッション・ステート置換文字列構文は、リージョン、リージョン・タイトル、アイテム・ラベルで、または静的テキストが使用されている他の多数のコンテキストで使用できます。

次の例では、F101_Xという名前のアプリケーション・アイテムを参照します:

&F101_X.

アイテム名の末尾にピリオドが続く必要があることに注意してください。ページがレンダリングされると、APEXエンジンは置換文字列の値をアイテムF101_Xの値に置き換えます。

3.10.1.3 対話グリッド、カードおよびマップ列の置換文字列

置換変数を使用して、対話グリッド、カード・ページまたはマップ・ページの列を参照します。

置換変数を使用して対話グリッド、カード・ページまたはマップ・ページにある列を参照するには:

  1. すべて大文字で列名を参照します。
  2. 列名の先頭にアンパサンド(&)を追加します。
  3. アイテム名の末尾にピリオド(.)を追加します。

次の例では、対話グリッドの列ENAMEを参照します:

&ENAME.

列名の末尾にピリオドが続く必要があることに注意してください。

3.10.1.4 他のレポート列の置換文字列

置換変数を使用して他のレポート内の列を参照します。

置換変数を使用して他のレポート内の列を参照するには:

  1. すべて大文字で列名を参照します。
  2. 列名の先頭にポンド記号(#)を追加します。
  3. アイテム名の末尾にポンド記号(#)を追加します。

次の例では、対話モード・レポートまたはクラシック・レポートの列ENAMEを参照します:

#ENAME#

3.10.1.5 特殊文字または大/小文字の区別のための二重引用符の使用

アイテム名または列名で特殊文字が使用されている場合や大/小文字を区別する場合は、その名前を二重引用符で囲みます。

名前で特殊文字が使用されているか大/小文字を区別する場合は、アイテムまたは列を二重引用符で囲みます。たとえば:

&"ITEM-OR-COLUMN-NAME".

次の構文を使用します。

&"<name>"[!<format>].

内容は次のとおりです。

  • "<name>"は、アプリケーション・アイテム、ページ・アイテムまたは列名です。引用符で囲まない場合は、A-Z–0-9_$#のセットのみを使用する必要があります
  • "<name>"APP_TEXT$<message-name>

    ここで、<message-name>APEXテキスト・メッセージ名です。

  • <format>は、「置換文字列での出力のエスケープの制御」で説明されているとおり、事前定義済フィルタ名(HTMLATTRJSRAWSTRIPHTML)です。

3.10.1.6 テキスト・メッセージでの置換(24.2以降)

互換性モードが24.2以降のアプリケーションの場合は、メッセージ名を中括弧({})で囲むことでテキスト・メッセージを参照できます。

ヒント:

この項で説明する短い置換構文は、アプリケーションの互換性モードが24.2以降である場合のみ使用できます。「アプリケーション定義の編集」を参照してください。

テキスト・メッセージを参照するには、メッセージ名を中括弧({})で囲みます。次の例では、TEXT.MSGという名前のテキスト・メッセージを参照します:

&{TEXT.MSG}.

メッセージ名(たとえば、TEXT.MSG)には特殊文字を含めることができます。ただし、空白と右中括弧はサポートされていません。

テキスト・メッセージの置換では、パラメータもサポートされています。右中括弧の前に、空白で区切ってname=value pairsを追加します。$langという名前は、それによってメッセージ言語を制御するため、特殊であることに注意してください。名前には、空白と"="を除き、どの文字でも含めることができます。

値として、次のいずれかを指定できます。

  • 引用符で囲まれていない置換。デフォルトでは、HTMLでエスケープされます。たとえば:

    &P1_NAME.

  • 引用符で囲まれた置換。デフォルトでは、HTMLでエスケープされます。たとえば:

    &"X-1".

  • 引用符で囲まれていないリテラル値。二重引用符を除くすべて。たとえば:

    he&she+it?

    空白と右中括弧はサポートされていません。

  • 引用符で囲まれたリテラル値。その値を二重引用符で囲みます。二重引用符を挿入するには、それを2回入力します。たとえば:

    "Hello ""APEX"" world"

パラメータが使用されている複雑なテキスト・メッセージの例を次に示します:

&{TEXT->MSG
Unquoted_Substitution=&P1_NAME!RAW.
Quoted_Substitution=&"Quoted name"!RAW.
Unquoted_Literal=how/do.you!do?
Quoted_Literal="Jerry Garcia
Ron ""Pigpen"" McKerhan"
$lang=FR}!HTML.