ILE COBOL 解説書

特殊レジスター

XML-CODE 特殊レジスター

XML-CODE 特殊レジスターは、以下の目的に使用されます。

XML パーサーが XML-CODE を設定してから、パーサーの終了時に、各イベントごとに 制御が処理プロシージャーに転送されます。 XML-CODE をリセットしてから、制御 を処理プロシージャーから XML パーサーへ戻すことができます。

XML-CODE 特殊レジスターには、次の暗黙定義があります。

01 XML-CODE PICTURE S9(9) USAGE BINARY VALUE 0.

ネストされたプログラムの中で使用される際には、この特殊レジスタ ーは、最外部のプログラム内で、グローバル属性によって暗黙に定義されます。

XML パーサーは XML イベントを検出すると、XML-CODE を設定して から制御を処理プロシージャーに渡します。 EXCEPTION イベントを除くすべてのイベントに対して、処理 プロシージャーが制御を受け取った場合、XML-CODE はゼロを含んでいます。

EXCEPTION イベントに対して、パーサーは、XML-CODE を例外の性 質を示す例外コードに設定します。 例外コードについては、「ILE COBOL プログラマーの手引き」で詳しく説明しています。

以下のように、パーサーに戻る前に、XML-CODE を設定することがで きます。

XML-CODE をその他の値に設定してからパーサーに戻る場合、結果は 未定義です。

パーサーが制御を XML PARSE ステートメントに戻すと、XML-CODE は、 パーサーまたは処理プロシージャーのいずれかによって設定された最も 新しい値を含みます。

XML GENERATE ステートメントの終了時に、XML-CODE には、 XML 生成の正常完了を示す 0、または XML 生成時に例外が発生したことを示すゼロ以外のエラー・コードが含まれます。XML GENERATE 例外コードは、「ILE COBOL プログラマーズ・ガイド」で説明されています。

XML-EVENT 特殊レジスター

XML-EVENT 特殊レジスターは、XML パーサーから XML PARSE ステー トメントで識別された処理プロシージャーへ、イベント情報を通信するために使用されます。制御が処理プロシージ ャーへ渡される前に、XML パーサーは、XML-EVENT 特殊レジスターを、 表 36 にあるような XML イベントの名前に設定します。

XML-CODE 特殊レジスターには、次の暗黙定義があります。

01 XML-EVENT USAGE DISPLAY PICTURE X(30) VALUE SPACE.

ネストされたプログラムの中で使用される際には、この特殊レジスタ ーは、最外部のプログラム内で、グローバル属性によって暗黙に定義されます。

XML-EVENT を、受信データ項目として使用することはできません。

表 36. XML-EVENT および XML-TEXT ま たは XML-NTEXT 特殊レジスターの内容

XML イベント (XML-EVENT の 内容) XML-TEXT または XML-NTEXT の内容
ATTRIBUTE-CHARACTER 属性値にある定義済みエンティティー参照に相当する 単一の文字。
ATTRIBUTE-CHARACTERS 引用符またはアポストロフィーで囲まれた値。 値がエンティティー参照を含む場合、これは属性値のサブストリングと することができます。
ATTRIBUTE-NAME 属性名、= の左側にあるストリング
ATTRIBUTE-NATIONAL-CHARACTER XML PARSE ステートメントの ID-1 によって 指定された XML 文書のタイプにかかわらず、XML-TEXT は空であり、 XML-NTEXT は、(数値) 文字参照に相当する単一の国別文字を含む。
COMMENT 開始文字シーケンス「<!--」と終了文字 シーケンス「-->」の間にあるコメントのテキスト
CONTENT-CHARACTER 要素コンテントにある定義済みエン ティティー参照に相当する単一の文字。
CONTENT-CHARACTERS 開始タグと終了タグの間にある要素コンテント。 コンテントがエンティティー参照または別の要素を含む場合、これを要 素コンテントのサブストリングとすることができます。
CONTENT-NATIONAL-CHARACTER XML PARSE ステートメントの ID-1 によって 指定された XML 文書のタイプにかかわらず、XML-TEXT は空であり、 XML-NTEXT は、(数値) 文字参照に相当する単一の国別文字を含む。
DOCUMENT-TYPE-DECLARATION 開始文字シーケンス「<!DOCTYPE」および終 了文字シーケンス「>」を含む、すべての文書タイプ宣言。
ENCODING-DECLARATION 引用符またはアポストロフィーで囲まれた、 XML 宣言内のエンコード宣言の値。
END-OF-CDATA-SECTION 常時、ストリング「]]>」を 含む。
END-OF-DOCUMENT Null、長さゼロ
END-OF-ELEMENT 終了要素タグまたは空の要素タグの名前。
EXCEPTION 例外が検出されたポイントまでを含む、正常にスキャンされた文書の部分。1
PROCESSING-INSTRUCTION-DATA 処理命令の残り、終了シーケンス「?>」は含ま ないが、末尾の空白文字は含み、先頭の空白文字は含まない。
PROCESSING-INSTRUCTION-TARGET 処理命令ターゲット名、処理命令である開始シ ーケンス「<?」の直後にある。.
STANDALONE-DECLARATION 引用符またはアポストロフィーで囲まれた、 XML 宣言内のスタンドアロン宣言の値。
START-OF-CDATA-SECTION 常時、ストリング「<![CDATA[」を含む。
START-OF-DOCUMENT 文書全体。
START-OF-ELEMENT 開始要素タグまたは空の要素タグの名前、エレ メント・タイプとも言う。
UNKNOWN-REFERENCE-IN-CONTENT エンティティー参照名で、「&」および「;」区切り文字を含まない。
UNKNOWN-REFERENCE-IN-ATTRIBUTE エンティティー参照名で、「&」および「;」区切り文字を含まない。
VERSION-INFORMATION 引用符またはアポストロフィーで囲まれた、XML 宣言内のバージョン宣言の値。 これは、現行では常時「1.0」です。

注:

  1. エンコードの矛盾に関する例外がシグナル通知されてから、 解析が開始します。 これらの例外について、XML-TEXT は、長さゼロであるか、文書の エンコード宣言値のみを含みます。XML 例外コードに関する情報に ついては、「ILE COBOL プログラマーの手引き」を参照してください。

XML-NTEXT 特殊レジスター

XML-NTEXT 特殊レジスターは、USAGE NATIONAL である文書フラグメ ントを含むように、XML 解析中に定義されます。

XML-NTEXT は、含まれている XML 文書フラグメントの長さの基本国別データ項目です。 XML-NTEXT の長さは、ゼロから 8,000,000 までの国別文字 位置をとることができます。 最大バイト長は 16,000,000 です。

注:
COBOL データ記述記入項目に相当するものはありません。

ネストされたプログラムの中で使用される際には、この特殊レジスタ ーは、最外部のプログラム内で、グローバル属性によって暗黙に定義されます。

以下のケースでは、パーサーは、XML-NTEXT を、イベントに関連する文書フ ラグメントに設定してから、制御を処理プロシージャーに転送します。

XML-NTEXT が設定されている場合、 XML-TEXT 特殊レジスターの長さはゼロです。 いつでも、2 つの特殊レジスター XML-NTEXT および XML-TEXT の うち 1 つだけが、ゼロ以外の長さとなります。

LENGTH 関数を使用して、XML-NTEXT が含む国別文字の数を決 定してください。XML-NTEXT に対する LENGTH OF 特殊レジスターには、国 別文字の数ではなく、XML-NTEXT に含まれているバイト数があります。

XML-NTEXT を、受け入れ項目として使用することはできません。

XML-TEXT 特殊レジスター

XML-TEXT 特殊レジスターは、クラス英数字である文書フラグメ ントを含むように、XML 解析中に定義されます。

XML-TEXT は、含まれている XML 文書フラグメントの長さの基本英数字データ項目です。 XML-TEXT の 長さは、ゼロから 16,000,000 バイトまでをとることができます。

注:
COBOL データ記述記入項目に相当するものはありません。

ネストされたプログラムの中で使用される際には、この特殊レジスタ ーは、最外部のプログラム内で、グローバル属性によって暗黙に定義されます。

XML PARSE ステートメントのオペランドが、 ATTRIBUTE-NATIONAL-CHARACTER イベントおよび CONTENT-NATIONAL-CHARACTER イベント を除く英数字データ項目の場合、パーサーは、XML-TEXT を、イベントに関連する文書フ ラグメントに設定してから、制御を処理プロシージャーに転送します。

XML-TEXT が設定されている場合、 XML-NTEXT 特殊レジスターの長さはゼロです。 いつでも、2 つの特殊レジスター XML-NTEXT および XML-TEXT の うち 1 つだけが、ゼロ以外の長さとなります。

LENGTH 関数または XML-TEXT に対する LENGTH OF 特殊レジスターを 使用して、XML-TEXT が含むバイト数を決定します。

XML-TEXT を、受け入れ項目として使用することはできません。

+------------------------------End of IBM 拡張-------------------------------+


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]