リテラル値
値をターゲット・プロパティに代入するときに、リテラル値を指定することがよくあります。リテラル値は、trace アクション内の値のような他の場所にも適している場合があります。
リテラル値は次のどちらかです。
XML 予約文字
DTL 変換は XML ドキュメントとして保存されるため、XML 予約文字の代わりに XML エンティティを使用する必要があります。
この文字を含めるには... |
次の XML エンティティを使用します... |
> |
> |
< |
< |
& |
& |
' |
' |
" |
" |
例えば、値の Joe’s "Good Time" Bar & Grill をターゲット・プロパティに代入するには、[値] を次のように設定します。
"Joe's "Good Time" Bar & Grill"
InterSystems IRIS® では、エディタに入力されたテキストの周りに自動的に CData ブロックが配置されるため、この制限は code アクションと sql アクションの内部に適用されません(XML 標準では、CData ブロックの間に XML と解釈すべきではないテキストが入ります。そのため、そのブロックに予約文字を含めることができます)。
仮想ドキュメント内のセパレータ文字
ほとんどの仮想ドキュメント形式で、セグメント間、フィールド間、サブフィールド間などで特定の文字がセパレータとして使用されます。メッセージ内に値を設定するときにこれらの文字をリテラル・テキストとして含める必要がある場合は、代わりに、そのドキュメント形式に適切なエスケープ・シーケンス (存在する場合) を使用する必要があります。
これらの文字は該当するドキュメント内で文書化されます。詳細は、以下を参照してください。
Important:
データ変換では、セパレータ文字とエスケープ・シーケンスをソース・メッセージとターゲット・メッセージで分けることができます。InterSystems IRIS が、自動的に、変換の実行後に必要に応じて値を調整します。これは、ソース・メッセージに適用されるセパレータ文字とエスケープ・シーケンスだけを考慮すればいいことを意味します。
XML 予約文字がセパレータでもある場合
数字のコード
リテラル文字列には、10 進表現または 16 進表現を含めることができます。
文字列 &#n; は Unicode 文字を表します (n は Unicode 文字の 10 進数)。例えば、é は、揚音アクセント符号付きのラテン文字 e (é) を表します。
また、文字列 &#xh; も Unicode 文字を表します (h は 16 進の Unicode 文字番号)。例えば、¿ は逆さの疑問符 (¿) を表します。