COBOL2002 XML連携機能ガイド
XML連携機能では,カタログファイルに公開識別子とファイル名を対応づけることで,外部DTDや外部実体を取り込めます。
カタログファイルは,公開識別子とファイル名を対応づけするファイルです。カタログファイルはcblxmlコマンドの-catalogオプション,または実行時にCBLXML-READ-CATALOG-FILEサービスルーチンで入力できます。
次に,カタログファイルの形式を示します。
公開識別子を対応づける場合,区切り文字「->」の左側に公開識別子,右側にファイル名を記述します。
公開識別子->ファイル名
開始文字「{」と終了文字「}」の間の文字列をコメントとみなします。
{ コメント }
DTDの公開識別子とカタログファイルを対応づけた例を次に示します。
(UNIXの場合)
: <!DOCTYPE root PUBLIC "-//HITACHI//DTD test//EN" "/home/project1/myDTD.xml"> <!ENTITY letter PUBLIC "-//HITACHI//ENT letter 1.0//EN" "/home/project1/letter.xml"> :
-//HITACHI//DTD test//EN->/home/local1/abc.xml -//HITACHI//ENT letter 1.0//EN->/home/local1/xyz.xml
(PCの場合)
: <!DOCTYPE root PUBLIC "-//HITACHI//DTD test//EN" "C:\home\project1\myDTD.xml"> <!ENTITY letter PUBLIC "-//HITACHI//ENT letter 1.0//EN" "C:\home\project1\letter.xml"> :
-//HITACHI//DTD test//EN->C:\home\local1\abc.xml -//HITACHI//ENT letter 1.0//EN->C:\home\local1\xyz.xml
公開識別子は,次の文字や数字で構成できます。
#x20 #xD #xA a〜z A〜Z 0〜9 - ' ( ) + , . / : = ? ; ! * # @ $ _ %
カタログファイルで指定できる公開識別子は,1,024バイト以下で指定してください。1,024バイトを超えた場合,cblxmlコマンドによるCOBOL原始プログラム生成時にエラーとなります。CBLXML-READ-CATALOG-FILEサービスルーチンは,戻り値として-2を返します。
ファイル名として使用できる文字を指定できます。
ファイル名は絶対パスまたは相対パスで指定します。ファイル名を相対パスで指定した場合,その相対パスはプロセスのカレントディレクトリ(フォルダ)からの相対パスとなります。
ファイル名は255バイト以下で指定してください。255バイトを超えた場合,cblxmlコマンドによるCOBOL原始プログラム生成時にエラーとなります。CBLXML-READ-CATALOG-FILEサービスルーチンは,戻り値として-2を返します。
公開識別子を使用する場合,カタログファイルで公開識別子とファイル名の対応づけを解決します。次に,cblxmlコマンド,および実行時でのカタログファイルの指定方法を示します。
cblxmlコマンドに指定するDTDに公開識別子がある場合,cblxmlコマンドの-catalogオプションでカタログファイルを指定します。カタログファイルには相対パス,絶対パスも指定できます。次に例を示します。
cblxml a.cxd -dtd a.xml -o a.cbl -catalog mycatalog.cxc
公開識別子を有効にするには,XMLドキュメントを開く前にカタログファイルを読み込む必要があります。そのため,CBLXML-READ-CATALOG-FILEサービスルーチンを,CBLXML-OP-Interfaceアクセスルーチン,またはCBLXML-OB-Interfaceアクセスルーチンの前に呼び出さなければなりません。
次にカタログファイルを使う場合のXMLアクセスルーチン,およびXMLサービスルーチンの呼び出し順序の例を示します。
CBLXML-READ-CATALOG-FILEサービスルーチンは,公開識別子で利用するカタログファイルを設定します。
引数のデータ型 | 指定 | 説明 |
---|---|---|
01 XML-POINTER USAGE POINTER. | ○ | XMLドキュメントのポインタを受け取るポインタ項目を指定する。 |
01 CATALOG-FILE PIC X(n). |
○ | カタログファイル名の領域を英数字項目で指定する。 |
01 CATALOG-FILE-LENGTH PIC 9(9) COMP. | ○ | カタログファイル名の長さを4バイトの2進項目で指定する。 |
戻り値 | 内容 |
---|---|
0 | 正常終了した。 |
-1 | カタログファイルが見つからない。または,カタログファイルが読み込めない。 |
-2 | カタログファイルの形式が不正。 |
-3 | 操作を続けるためのメモリが不足した。 |
All Rights Reserved. Copyright (C) 2003, 2016, Hitachi, Ltd.