|
|
IP2HTML |
Webアプリケーションにおいて、結果を返すためのひな形となるHTML出力の説明です。
この機能は、NOMAD Ver4.7以前でIP2HTMLを使用していたアプリケーションの互換性を保つために残しています。現在はサポートしておりませんのでご注意ください。

IP2HTMLはひな形HTMLを設定ファイル(dsm.ini)のbnWWWPathに指定してあるディレクトリから検索します。
また、データファイルをB/NOMADのワークディレクトリ(設定ファイルのbnCurPathに指定してあるB/NOMADのワークディレクトリ)に作成します。この2つのファイルをもとにDSMCGIの実行結果のHTMLを生成します。
HTMLファイルの内容
下記に例を示します。
<INPUT TYPE="text" NAME="userC824" NOMADVAL="%userC824%" MAXLENGTH="255">詳細はひな形HTMLを参照してください。
Function IP_CreateOutPutHTML(V255,V255) i2 external ip2html;関数「IP_CreateOutPut」の引数には、
この関数の戻り値として、正常終了の場合は0を返します。エラー時は0以外を返します。
NOMADプロシージャからデータファイルを生成する方法はデータファイル以降を参照してください。
プロシージャ記述例:"startp.nom"
DEC &HTML_COUNT AS 999999 LOCAL;
DEC &HTML_RETURN AS 999 LOCAL;/* データファイル生成 */
FILE DEFINE DATAFILE = "startp.dat";
FILE OPEN DATAFILE CREATE;/* データファイルへの書き込み */
IF &HACYU_END_SESSION THEN
WRITE "\10\11\12NOMADSID=" CAT ZNAV(&HACYU_NOMADSID) CATB "" ON DATAFILE;ELSE
WRITE "\10\11\12NOMADSID=nomadsid" ON DATAFILE;IF &HostName EQ &&NAV OR DISPLAY(&HostName) EQ "\0" THEN
WRITE "\10\11\12HostName= " ON DATAFILE;ELSE
WRITE "\10\11\12HostName=" CAT DISPLAY(&HostName) CATB '' on DATAFILE;FILE CLOSE DATAFILE OTW;
/* 出力HTMLファイルの生成 */
&HTML_RETURN = IP_CreateOutPutHTML("startp", "hacyu");RETURN;
検索先は2通り存在します。
指定のHTMLファイルが存在するかどうかは以下の順に検索します。
- DSMのリソース管理で指定されているHTMLパス
- 設定ファイル(dsm.ini)の[DSMCGI]セクション内のbnWWWPathに指定されているパス
bnWWWPathの指定方法
設定ファイル(dsm.ini)の[DSMCGI]セクション内に以下のように指定します。
[DSMCGI]
bnWWWPath=ひな形HTMLが存在するパス(フルパス)
パスを複数指定する場合は、
Windowsでは、セミコロン";"、 UNIXでは、コロン":"で区切って指定してください。
ファイル名
ファイル名は、"プロシージャ名.dat"で生成してください。
フォーマット
制御コード変数名=変数値制御コードは"\10\11\12"を出力してください。
変数名は大文字で出力してください。また、"&"は出力しないでください。
値はHTML変換時、そのまま使用されます。"="以降を値と見なします。A型変数の値をWRITEする場合などは注意してください。
制御コード(\10\11\12)は行の先頭を識別するために必要です。行の先頭には必ず、制御コードを出力してください。
空を表現したい場合は、"="の後にスペースを出力してください。
配列変数の場合は添え字"(n)"も出力してください。
ファイル名
フォーマットファイル名は、"プロシージャ名.html"が検索対象になります。
"%変数名%"を対象に変換を行います。変数名には"&"を含めないでください。
● <INPUT TYPE>関連
この場合は、"NOMADVAL"というキーワードの後、"%変数名%"を記述します。● テキスト関連例
<INPUT TYPE="TEXT" NAME="VAL" VALUE="あ" NOMADVAL="%VAL%">
この場合は、ひな形HTMLをブラウザで表示しても問題ないようにHTMLのコメントで囲って記述します。例
<!--%VAL%-->
新しいパラメータを使用したとき
HTMLファイル
<INPUT TYPE="HIDDEN" NAME="NOMADSID" VALUE="nomadsid" NOMADVAL="%NOMADSID%">
データファイル
制御コードNOMADSID=&APP_NOMADSIDの値
古いパラメータを使用したとき
HTMLファイル
<INPUT TYPE="HIDDEN" NAME="APP_NOMCGIPARAM" VALUE="nomcgiparam" NOMADVAL="%APP_NOMCGIPARAM%">
データファイル
制御コードAPP_NOMCGIPARAM=&APP_NOMCGIPARAMの値
変換処理
通常の処理通り、以下のように行います。
- ひな形HTMLのVALUE節を削除。
- ひな形HTMLの「NOMADVAL="%xx%"」節を「VALUE="セッションID"」へ変換。
セッション非保持のアプリケーションの場合は、 データファイルへは初期値("nomadsid"あるいは"nomcgiparam")を出力してください。
HTMLファイル
<!--HIDDEN_非表示式_START-->
表示、非表示を行うウィジットタグ
<!--HIDDEN_非表示式_END-->
データファイル
制御コードHIDDEN_非表示式=TRUE
または
制御コードHIDDEN_非表示式=FALSE
非表示にしたい場合は「TRUE」を、表示したい場合は「FALSE」を出力してください。
変換処理
● データファイルの内容が「TRUE」の場合
- 「<!--HIDDEN_非表示式_START-->」を「<!--」へ変換。
- 「<!--HIDDEN_非表示式_END-->」を「-->」へ変換。
● データファイルの内容が「FALSE」の場合
- 「<!--HIDDEN_非表示式_START-->」、「<!--HIDDEN_非表示式_END-->」を 削除します。
注意事項
この機能はHTMLのコメントタグを使用して実現しているため、非表示用変換コメント内に"コメント開始タグ"、"コメント終了タグ"が存在する場合は正常に動作しません。
HTMLファイル
SELECTEDオプション対応のため、<OPTION>内に「%SELECTED_受け取り変数名%」を記述します。リストの内容には、「<!--%配列変数名(添え字)%-->」(テキスト部分と同様)で記述します。また、必ず<OPTION>を記述します。データファイル例
<SELECT NAME="SVAL" SIZE="13">
<OPTION %SELECTED_SVAL%><!--%LISTVAL(1)%--></OPTION>
<OPTION %SELECTED_SVAL%><!--%LISTVAL(2)%--></OPTION>
<OPTION %SELECTED_SVAL%><!--%LISTVAL(3)%--></OPTION>
<OPTION %SELECTED_SVAL%><!--%LISTVAL(4)%--></OPTION>
<OPTION %SELECTED_SVAL%><!--%LISTVAL(5)%--></OPTION>
<OPTION %SELECTED_SVAL%><!--%LISTVAL(6)%--></OPTION>
<OPTION %SELECTED_SVAL%><!--%LISTVAL(7)%--></OPTION>
<OPTION %SELECTED_SVAL%><!--%LISTVAL(8)%--></OPTION>
<OPTION %SELECTED_SVAL%><!--%LISTVAL(9)%--></OPTION>
<OPTION %SELECTED_SVAL%><!--%LISTVAL(10)%--></OPTION>
</SELECT>
● リストの内容部分変換処理
制御コード配列変数名(添え字)=配列変数(添え字)値
● SELECTED部分
制御コードSELECTED_受け取り変数名=受け取り変数値
● リストの内容部分
● SELECTED部分
- 「<!--%配列変数名(添え字)%-->」を「データファイルの値」へ変換。
- 不要な「<OPTION>」「</OPTION>」の削除
- 「<OPTION %SELECTED_受け取り変数名%><!--%配列変数(添え字)%--></OPTION>」で、データファイルの「SELECTED_受け取り変数名」の値とリスト部分変換後の「配列変数(添え字)」の値が等しい部分を「<OPTION SELECTED>値</OPTION>」へ変換。
<OPTION>のVALUEオプション使用時は、VALUEの値と「SELECTED_受け取り変数名」の値が等しい<OPTION>へSELECTEDを挿入(NOMAD LISTBOXのINDEXオプション指定時)。
HTMLファイル
<INPUT TYPE="CHECKBOX">内に「%受け取り変数名%」を記述します。この部分をCHECKEDへ変換します。例
<INPUT TYPE="CHECKBOX" NAME="VAL" VALUE="TRUE" %VAL%>...
データファイル
内容は通常のフォーマットと同様です。変換処理● CHECKBOXの受け取り変数の内容が"TRUE"の場合
制御コード受け取り変数名=CHECKED
● CHECKBOXの受け取り変数名の内容が"FALSE"の場合
制御コード受け取り変数名=
※"="の後にスペースを出力します。
「%受け取り変数名%」を「CHECKED」へ変換します。
HTMLファイル
<INPUT TYPE="RADIO">内に「%RBTCHECKED_受け取り変数名%」を記述します。この部分をCHECKEDに変換します。例
<INPUT TYPE="RADIO" NAME="VAL" VALUE="あ" %RBTCHECKED_VAL%>...
データファイル
制御コードRBTCHECKED_受け取り変数名=受け取り変数値
変換処理
「%RBTCHECKED_受け取り変数名%」を「CHECKED」へ変換します。VALUEオプションがある場合はそちらの値と、ない場合は表示されている値とを比較して、等しいものにCHECKEDへ変換します。
HTMLファイル
ひな形HTMLをブラウザで表示しても問題ないように以下のように記述します。
<TEXTAREA NAME="VAL"></TEXTAREA><!--%VAL%--> <!--%</TEXTAREA>%-->
データファイル
内容は通常のフォーマットと同様です。
制御コード変数名=変数値
変換処理
以下のように行います。
- </TEXTAREA>を削除。
- 「<!--%xxx%-->」をデータファイルの「値」へ変換。
- 「<!--%</TEXTAREA>%-->」を「</TEXTAREA>」へ変換。
HTMLファイル
ファイルの内容を出力したい部分へ以下のコマンドを記述します。ファイル名の部分にはファイルのフルパスを指定してください。変数指定時は下のファイル名の部分を「%変数名%」を指定します。
<!--#BROWSER=ファイル名-->
または
<!--#BROWSER=変数名-->
データファイル
変数指定時のみ有効です。内容は通常のフォーマットと同様です。変換処理
制御コード変数名=値
※値はファイル名のフルパスを指定します。パス指定がない場合はB/NOMADのカレントディレクトリ(/bnomx)を検索します。
「<!--#BROWSER=ファイル名-->」を指定されたファイル名の内容へ変換します。
これは、リソース管理設定がなく、設定ファイル(dsm.ini)のbnWWWPathオプション存在しないときに出力されます。
これは、リソース管理設定と設定ファイル(dsm.ini)へ 指定されているパス情報からひな形HTMLを見つけられなかったときに出力されます。
これは、実際の変換作業中にエラーが発生した場合に出力されます。
例)
メモリー確保に失敗したとき。
データファイルが存在しないとき。
結果ファイル生成に失敗したとき。
IP2HTMLへの引数の内容が空の場合は、戻り値にエラーが返されます。引数の内容が正しくない場合は、DSMCGI用の結果HTMLファイルを出力できないため、戻り値にエラーを返すことしかできません。
制限事項