XML PARSE ステートメントを使用すると、COBOL プログラム内で XML 入力を処理できます。
XML PARSE ステートメントは、高速 XML パーサーとの間の COBOL 言語インターフェースです。次のように XMLPARSE コンパイラー・オプションを使用して、アプリケーションに適切なパーサーを選択します。
- XMLPARSE(XMLSS) は、z/OS XML System Services パーサーを選択します。このオプションによって、名前空間の処理やテキスト・フラグメントの国別文字表現 (Unicode UTF-16) への変換などの拡張機能が提供されます。
- XMLPARSE(COMPAT) は、COBOL ライブラリーに組み込まれた XML パーサーを選択します。このオプションによって、Enterprise COBOL バージョン 3 での XML 構文解析との互換性が得られます。
XML 入力を処理するには、XML パーサーとの間で制御を受け渡しする必要があります。このような制御の受け渡しを開始するには、
XML PARSE ステートメントを使用します。このステートメントでは、XML パーサーから制御を受け取り、パーサー・イベントを処理する処理プロシージャーを指定します。
処理プロシージャーで特殊レジスターを使用して、パーサーと情報を交換します。
XML 入力を処理するには、以下の COBOL 機能を使用します。
- XML PARSE ステートメントは、XML 構文解析を開始して、文書および処理プロシージャーを識別します。
- XML PARSE ステートメントの ENCODING 句は、XML 文書のエンコードを指定します。
- 処理プロシージャーは構文解析を制御します。すなわち、XML イベントおよび関連文書フラグメントを受け取って処理し、パーサーに戻って処理を続行します。
- 以下の特殊レジスターは、情報の受け渡しを行います。
- XML-CODE は、XML 構文解析の状況を受け取り、時として、情報をパーサーに返します。
- XML-EVENT は、各 XML イベントの名前をパーサーから受け取ります。
- XML-NTEXT は、国別文字データとして返された XML 文書フラグメントを受け取ります。
- XML-TEXT は、英数字データとして返された文書フラグメントを受け取ります。
- XML-NAMESPACE または XML-NNAMESPACE は、NAMESPACE-DECLARATION XML イベント、または名前空間のエレメント名または属性名の名前空間 ID を受け取ります。
- XML-NAMESPACE-PREFIX または XML-NNAMESPACE-PREFIX は、NAMESPACE-DECLARATION XML イベント、または接頭部のエレメント名または属性名の名前空間接頭部を受け取ります。
XML 名前空間特殊レジスターは、処理プロシージャー外では未定義です。
XML-PARSE ステートメントの ENCODING 句および RETURNING NATIONAL 句は、XMLPARSE(XMLSS) コンパイラー・オプションが有効である場合にのみ使用できます。
リンク・エディットの考慮事項: XML PARSE ステートメントを含んだ COBOL プログラムは、AMODE 31 を使用してリンク・エディットする必要があります。