MF 

XML 構文 - SELECT 句

この SELECT 句の拡張バージョンは、ファイル名を XML ストリームに割り当てます。

形式


XML 構文 - SELECT 句

構文規則

  1. file-name-1 は、XML ストリームを含むファイルの名前です。
  2. LINE ADVANCING は、改行を出力に含めることを指定します。
  3. NOT LINE ADVANCING は、改行を出力に含めないことを指定します。
  4. literal-1 は英数字の文字定数にする必要があります。
  5. liteal-1 または data-name-1 は、COBOL ファイル指定子にする必要があります。
  6. data-name-2 は、実行時に XML データを含む英数字のデータ項目です。
  7. pointer-name-1 は XML データを含むメモリ バッファーのアドレスです。
  8. data-name-3 は pointer-name-1 で指定されたバッファーの長さです。
  9. EXTERNAL は、この XML ストリームが準拠するスキーマが外部であることを示します。これは、単に情報を示すためのもので、入力や出力には影響しません。
  10. OMITTED は、XML ファイルにスキーマを関連付けないことを指定します。
  11. literal-2 または data-name-4 は、レコードが準拠するスキーマの生成された名前または外部名です。例えば、外部スキーマの場合は、ファイルに対する完全な URL (「http://www.microfocus.com/nx40/cobol/v2.0/foo.xsd」 など) になります。
  12. data-name-5 は PIC S9(9) (使用方法は問いません) としてデータ部で宣言する必要があり、最後の入出力動作に対するファイル状態を保持します。

一般規則

  1. LINE ADVANCING も NOT LINE ADVANCING も指定されていない場合、改行は出力に含まれます。
  2. Web ベースでないアプリケーションでの literal-1 または data-name-1 は、次のような COBOL ファイル指定子です。
    • stdin (標準入力) の場合は、":CI:" を使用
    • stout (標準出力) の場合は、":CO:" を使用
    • ファイルの場合は、".myxmlfile" を使用

      ここで、myxmlfile はファイルの名前です。一般に、XML ファイルは .xml 拡張子を使用します。

    • パイプの場合は、 「<myprog」、「>myprog」、または「|myprogを使用

      ここで、myprog は、パイプを介した通信を行う stdin または stdout (あるいはその両方) を使用するプログラムの名前です。

  3. literal-1 または data-name-1 は、クライアント側の Web ベースのアプリケーションでは次のようになります。
    • Web サイトにある CGI プログラム (「http://www.bookdb.com:80/cgibin/xmlprog.exe」など)
    • XML ファイル (「http://localhost/xmlfile.xml」など)
  4. CGI での literal-1 または data-name-1 は、サーバー側の Web アプリケーションでは 「:CGI:」 です。この場合、標準入力ストリーム (stdin) を読み込む際に、環境変数 CONTENT_LENGTH が想定されます。「:CGI:」 は、開かれた INPUT または OUTPUT であり、I-O または EXTEND ではありません。
  5. DOCUMENT-TYPE が指定されていない場合、スキーマは XML ファイルに関連付けられません。次に例を示します。

    次のコードは、

    SELECT xml-addressdb
        ASSIGN 'address.xml'
        ORGANIZATION IS XML
        DOCUMENT-TYPE IS OMITTED
    
        FILE STATUS xml-status.
    

    次の文に相当します。

    SELECT xml-addressdb
        ASSIGN 'address.xml'
        ORGANIZATION IS XML
        FILE STATUS xml-status.
    
  6. CHECK 句は複数回繰り返すことができます。次に例を示します。
    SELECT foobar 
        ASSIGN TO "foobar.xml" 
        ORGANIZATION IS XML 
        DOCUMENT TYPE IS "foobar.xsd" 
        CHECK VALIDITY ON INPUT
        CHECK OUTPUT.