source-config.xml¶
項目
概要¶
source-config.xmlは、スクリプト開発モデルのプログラムソースおよび実行に関する設定情報が定義されています。この設定ファイルは、ディレクトリに対して有効であり、そのディレクトリのサブディレクトリについても再帰的に影響を及ぼします。つまり、最も浅い階層に設定ファイルを配置する事により、そのディレクトリ以下のすべてのプログラムソースに対して設定内容を適用する事ができます。
モジュール スクリプト開発モデル フォーマットファイル(xsd) なし 設定場所 スクリプト開発モデルのプログラムが配置されている任意のディレクトリ <resource-file> <charset>UTF-8</charset> <javascript> <compiler enable="true" /> <!-- enable:true = Auto compiler to Java class --> <!-- enable:false = Interpreter --> <optimize level="0" /> <!-- level:0 to 9 = Optimize level of Compile --> </javascript> <view> <compiler enable="true" /> <!-- enable:true = Auto compiler --> <!-- enable:false = Interpreter --> </view> </resource-file>
リファレンス¶
文字エンコーディングの設定¶
タグ名 charset プログラムソースの文字エンコーディングの指定です。intra-mart Accel Platform は、ここで指定された文字エンコーディングでプログラムソースを読み込み実行します。【設定項目】
<resource-file> <charset>UTF-8</charset> </resource-file>
必須項目 × 複数設定 × 設定値・設定する内容 文字エンコーディング名 単位・型 なし 省略時のデフォルト値 上位ディレクトリに配置された source-config.xml の設定値 親タグ resource-file 注意
intra-mart Accel Platform および関連するアプリケーション製品の文字エンコーディングは全て「UTF-8」で提供されています。この設定には必ず「UTF-8」を指定してください。
JavaScriptの設定¶
タグ名 javascript スクリプト開発モデルのJavaScriptに関する設定を行います。【設定項目】
<resource-file> <javascript> </javascript> </resource-file>
必須項目 × 複数設定 × 設定値・設定する内容 JavaScriptの各種設定を指定します。 単位・型 なし 省略時のデフォルト値 なし 親タグ resource-file
JavaScriptコンパイラの設定¶
タグ名 compiler JavaScriptコンパイラに関する設定を行います。【設定項目】
<resource-file> <javascript> <compiler enable="true" /> </javascript> </resource-file>
必須項目 × 複数設定 × 設定値・設定する内容 JavaScriptコンパイラの設定を指定します。 単位・型 なし 省略時のデフォルト値 なし 親タグ javascript 【属性】
属性名 説明 必須 デフォルト値 enable JavaScriptコンパイラの有効・無効を指定します。
- true を設定した場合、JavaScriptをJavaクラスへコンパイルして実行します。コンパイル後は、Javaクラスがメモリ上にキャッシュされ、以後のプログラム実行ではすべてJavaクラスを利用します。パフォーマンスは向上しますが、ソースの変更が一切反映されなくなります(ソースの変更を反映するにはサーバを再起動しなければいけません)。この設定は、運用環境向き設定です。
- false を設定した場合、JavaScriptをインタプリタモードで実行します。ソースの変更は、直後の実行に反映されます。開発をスムーズに進めることができますが、常にソースをリード→解析するため、実行パフォーマンスは期待できません。この設定は、開発環境向き設定です。
IM-JugglingのビルドウィザードからWARファイルを生成するときに、実行環境が 「単体テスト環境」 または 「結合テスト環境」 を選択していると、souorce-config.xmlの設定値に関わらず全てのスクリプト開発モデルのプログラムがインタプリタモードで実行されます。× 上位ディレクトリに配置された source-config.xml の設定値
最適化レベルの設定¶
タグ名 optimize JavaScriptコンパイラの最適化に関する設定を行います。【設定項目】
<resource-file> <javascript> <optimize level="0" /> </javascript> </resource-file>
必須項目 × 複数設定 × 設定値・設定する内容 JavaScriptコンパイラの最適化レベルを指定します。 単位・型 なし 省略時のデフォルト値 なし 親タグ javascript 【属性】
属性名 説明 必須 デフォルト値 level JavaScriptコンパイラのプログラム解析における最適化レベルの設定です。数値が大きいほど最適化の適用範囲が大きくなります。0を設定した場合は、最適化はされません。プログラムを最適化して実行する事は、パフォーマンスの向上を期待できますが、半面、最適化そのものがデリケートかつ複雑な機能な為、プログラムの内容によって通常では発生しないエラーとなる場合があります。最適化レベルを適用する場合は、その適用範囲を必要最低限とし、十分に動作検証を行ってください。× 上位ディレクトリに配置された source-config.xml の設定値 注意
intra-mart Accel Platform および関連するアプリケーション製品は全て最適化レベル「0」で動作確認を行っています。この設定には必ず「0」を指定してください。
Viewの設定¶
タグ名 view スクリプト開発モデルのHTMLに関する設定を行います。【設定項目】
<resource-file> <view> </view> </resource-file>
必須項目 × 複数設定 × 設定値・設定する内容 HTMLの各種設定を指定します。 単位・型 なし 省略時のデフォルト値 なし 親タグ resource-file
Viewコンパイラの設定¶
タグ名 compiler Viewコンパイラに関する設定を行います。【設定項目】
<resource-file> <view> <compiler enable="true" /> </view> </resource-file>
必須項目 × 複数設定 × 設定値・設定する内容 Viewコンパイラの設定を指定します。 単位・型 なし 省略時のデフォルト値 なし 親タグ view 【属性】
属性名 説明 必須 デフォルト値 enable Viewコンパイラの有効・無効を指定します。
- true を設定した場合、HTMLをコンパイルして実行します。コンパイル後は、中間ファイル(バイナリ)がメモリ上にキャッシュされ、以後のプログラム実行ではすべて中間ファイルを利用します。パフォーマンスは向上しますが、ソースの変更が一切反映されなくなります(ソースの変更を反映するにはサーバを再起動しなければいけません)。この設定は、運用環境向き設定です。
- false を設定した場合、HTMLをインタプリタモードで実行します。ソースの変更は、直後の実行に反映されます。開発をスムーズに進めることができますが、常にソースを読み込み、解析するため、実行パフォーマンスは期待できません。この設定は、開発環境向き設定です。
IM-JugglingのビルドウィザードからWARファイルを生成するときに、実行環境が 「単体テスト環境」 または 「結合テスト環境」 を選択していると、souorce-config.xmlの設定値に関わらず全てのスクリプト開発モデルのプログラムがインタプリタモードで実行されます。× 上位ディレクトリに配置された source-config.xml の設定値
XMLエスケープの設定¶
タグ名 escapeXml XMLエスケープに関する設定を行います。<imart> タグの属性に指定された文字列に対してXMLエスケープを行う設定です。詳しい説明はAPIリストの エスケープ処理に関して を参照してください。コラム
全ての<imart>タグがエスケープ機能に対応しているわけではありません。 エスケープ機能に対応している<imart>タグ、および、エスケープ対象となる属性に関しては、各<imart>タグのAPIドキュメントを参照してください。【設定項目】
<resource-file> <view> <escapeXml enable="true" /> </view> </resource-file>
必須項目 × 複数設定 × 設定値・設定する内容 XMLエスケープの各種設定を指定します。 単位・型 なし 省略時のデフォルト値 なし 親タグ view 【属性】
属性名 説明 必須 デフォルト値 enable XMLエスケープの有効・無効を指定します。 × 上位ディレクトリに配置された source-config.xml の設定値 exclusion XMLエスケープ処理の対象外とする文字列を指定します。 × 上位ディレクトリに配置された source-config.xml の設定値 delimiter4exclusion XMLエスケープ処理の対象外とする文字列のデリミタ指定します。 × 上位ディレクトリに配置された source-config.xml の設定値
JavaScriptエスケープの設定¶
タグ名 escapeJs JavaScriptエスケープに関する設定を行います。<imart> タグの属性に指定された文字列に対してJavaScriptエスケープを行う設定です。詳しい説明はAPIリストの エスケープ処理に関して を参照してください。コラム
全ての<imart>タグがエスケープ機能に対応しているわけではありません。 エスケープ機能に対応している<imart>タグ、および、エスケープ対象となる属性に関しては、各<imart>タグのAPIドキュメントを参照してください。【設定項目】
<resource-file> <view> <escapeJs enable="true" /> </view> </resource-file>
必須項目 × 複数設定 × 設定値・設定する内容 JavaScriptエスケープの各種設定を指定します。 単位・型 なし 省略時のデフォルト値 なし 親タグ view 【属性】
属性名 説明 必須 デフォルト値 enable JavaScriptエスケープの有効・無効を指定します。 × 上位ディレクトリに配置された source-config.xml の設定値 exclusion JavaScriptエスケープ処理の対象外とする文字列を指定します。 × 上位ディレクトリに配置された source-config.xml の設定値 delimiter4exclusion JavaScriptエスケープ処理の対象外とする文字列のデリミタ指定します。 × 上位ディレクトリに配置された source-config.xml の設定値
ID属性を自動的に付加する設定¶
タグ名 replicateNameToId <imart type=”hidden”> タグ使用時に、name属性に指定された値をid属性に付加する設定です。例えば、name属性に「foo」と値が指定された場合、プログラム実行時に以下のようにid属性が付加されます。<INPUT type="hidden" name="foo" id="foo">【設定項目】
<resource-file> <view> <replicateNameToId enable="true" /> </view> </resource-file>
必須項目 × 複数設定 × 設定値・設定する内容 ID属性を自動的に付加する設定を指定します。 単位・型 なし 省略時のデフォルト値 なし 親タグ view 【属性】
属性名 説明 必須 デフォルト値 enable
- true を設定した場合、name属性に設定された値をid属性に付加します。
- false を設定した場合、id属性を付加しません。
× 上位ディレクトリに配置された source-config.xml の設定値 注意
intra-mart Accel Platform および関連するアプリケーション製品に対して replicateNameToId を有効にしないでください。replicateNameToId は対応しているプログラムソースにのみ使用するようにしてください。
HTMLコメントを削除する設定¶
タグ名 removeHTMLComments プログラム実行時に「<!-- -->」で囲まれているHTMLコメント部分を削除してページを生成します。【設定項目】
<resource-file> <view> <removeHTMLComments enable="true" /> </view> </resource-file>
必須項目 × 複数設定 × 設定値・設定する内容 HTMLコメントを削除する設定を指定します。 単位・型 なし 省略時のデフォルト値 なし 親タグ view 【属性】
属性名 説明 必須 デフォルト値 enable
- true を設定した場合、HTMLコメントを削除します。
- false を設定した場合、HTMLコメントを削除しません。
× 上位ディレクトリに配置された source-config.xml の設定値
source-config.xmlの有効範囲¶
下図のようにsource-config.xmlを配置した場合、各プログラムが参照する設定は以下の通りです。
ファイル単位での設定方法¶
スクリプト開発モデルのプログラムは、HTMLファイルとJSファイルのペア単位で文字コードの指定や自動コンパイルの設定を行うことができます。
<対象ファイルラベル名.properties>ファイルを作成し、以下のように設定することで動作します。<対象ファイルラベル名.properties>ファイルがある場合、 source-config.xml より優先して<対象ファイルラベル名.properties>ファイルの設定を利用します。
charset=プログラムの文字エンコーディング名 javascript.compile.enable=JavaScriptコンパイラの設定 javascript.optimize.level=JavaScriptコンパイラの最適化レベル view.compile.enable=Viewコンパイラの設定 view.escapeXml.enable=XMLエスケープの有効・無効 view.escapeXml.exclusion=XMLエスケープ処理の対象外とする文字列 view.escapeXml.delimiter4exclusion=「view.escapeXml.exclusion」に指定した文字列の区切り文字 view.escapeJs.enable=JavaScriptエスケープの有効・無効 view.escapeJs.exclusion=JavaScriptエスケープ処理の対象外とする文字列 view.escapeJs.delimiter4exclusion=「view. escapeJs.exclusion」に指定した文字列の区切り文字 view.replicateNameToId.enable=ID属性を自動的に付加する設定 view.removeHTMLComments.enable=HTMLコメントを削除する設定
例えば、ファイルが文字コード「UTF-8」で作成されたsample.html とsample.js を、「JavaScriptコンパイラを有効」、「Viewコンパイラを無効」に設定する場合は、同一ディレクトリにsample.properties を作成し、以下の内容を記述します。
charset=UTF-8 javascript.compile.enable=true javascript.optimize.level=0 view.compile.enable=false