intra-mart Accel Platform 設定ファイルリファレンス 第26版 2020-08-01

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を配置した場合、各プログラムが参照する設定は以下の通りです。
  • Aディレクトリ直下のプログラム:(2)の設定内容を参照します。

  • Bディレクトリ直下のプログラム:(2)の設定内容を参照します。

  • Cディレクトリ直下のプログラム:(1)の設定内容を参照します。

  • Dディレクトリ直下のプログラム:(1)の設定内容を参照します。

ファイル単位での設定方法

スクリプト開発モデルのプログラムは、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