Rational Developer for System z
Enterprise COBOL for z/OS バージョン 4.1 プログラミング・ガイド


XML を処理するためのプロシージャーの作成

処理プロシージャーには、XML イベントを処理するためのステートメントをコーディングします。

パーサーは、イベントを検出すると、次の表に示す特殊レジスター内の処理プロシージャーに情報を渡します。これらの特殊レジスターのコンテンツは、COBOL データ構造の取り込みと、処理の制御に使用します。

これらの特殊レジスターがネストされたプログラムで使用された場合は、最外部のプログラムで GLOBAL として暗黙的に定義されます。

表 1. XML パーサーが使用する特殊レジスター
特殊レジスター 暗黙的な定義および使用法 内容
XML-EVENT1

PICTURE X(30) USAGE DISPLAY
VALUE SPACE

XML イベントの名前
XML-CODE2

PICTURE S9(9) USAGE BINARY
VALUE ZERO

各 XML イベント用の例外コードまたはゼロ
XML-TEXT1 可変長基本カテゴリー英数字項目。 サイズ制限 134,180,862 バイト。 XML PARSE ID3 として英数字項目を指定した場合は、XML 文書のテキスト (パーサーが検出したイベントに対応)
XML-NTEXT1 可変長基本カテゴリー国別項目。 サイズ制限 67,090,431 国別文字 (134,180,862 バイト) XML PARSE ID3 として国別項目を指定した場合は、XML 文書のテキスト (パーサーが検出したイベントに対応)
XML-NAMESPACE1, 4 可変長基本カテゴリー英数字項目。 サイズ制限 32,768 バイト。 XML 文書が英数字データ項目である場合に、NAMESPACE-DECLARATION XML イベントまたは名前空間に存在するエレメントまたは属性名の名前空間 ID。3
XML-NNAMESPACE1, 4 可変長基本カテゴリー国別項目。 サイズ制限 16,384 国別文字 (32,768 バイト) XML 文書が国別データ項目である場合、または RETURNING NATIONAL 句が XML PARSE ステートメントで指定されている場合の、 NAMESPACE-DECLARATION XML イベントまたは名前空間に存在するエレメントまたは属性名の名前空間 ID。
XML-NAMESPACE-PREFIX1, 4 可変長基本カテゴリー国別項目。 サイズ制限 4,096 バイト XML 文書が英数字データ項目である場合の、NAMESPACE-DECLARATION XML イベント、またはデフォルトではない名前空間に存在するエレメントまたは属性名の接頭部 (存在する場合)。3
XML-NNAMESPACE-PREFIX1, 4 可変長基本カテゴリー国別項目。 サイズ制限 2,048 国別文字 (4,096 バイト) XML 文書が国別データ項目である場合、またはRETURNING NATIONAL 句が XML PARSE ステートメントに指定されている場合の、 NAMESPACE-DECLARATION XML イベント、またはデフォルトではない名前空間に存在するエレメントまたは属性名の接頭部 (存在する場合)。
  1. この特殊レジスターを受け取りデータ項目として使用することはできません。
  2. XML GENERATE ステートメントでも XML-CODE が使用されます。 したがって、処理プロシージャー内で XML GENERATE ステートメントをコーディングする 場合、XML GENERATE ステートメントの前に XML-CODE の値を 保存し、 XML GENERATE ステートメントの後に保存した値をリストアします。
  3. 英数字データ項目で、RETURNING NATIONAL 句を XML PARSE ステートメントに指定した場合、テキストは対応する国別特殊レジスターで返されます。 RETURNING NATIONAL 句は、XMLPARSE(XMLSS) オプションが有効である場合にのみ指定できます。
  4. パーサーは、XMLPARSE(XMLSS) オプションが有効である場合に、名前空間特殊レジスターを設定します。

制約事項:

コンパイラーは、各処理プロシージャーの最後のステートメントの後に、戻り機構を挿入します。 処理プロシージャーに STOP RUN ステートメントをコーディングすると、実行単位を終了させることが できます。

例: XML の処理用プログラム


ご利用条件 | フィードバック

このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)