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


継続を許可する XML PARSE 例外

例外イベントが発生すると、パーサーは特殊レジスター XML-CODE を例外を識別する値に設定します。 XMLPARSE コンパイラー・オプションの設定および XML-CODE の値によっては、パーサーが処理を続行できる場合があります。

XMLPARSE(XMLSS) の場合

XMLPARSE(XMLSS) コンパイラー・オプションが有効である場合、パーサーは例外イベントが発生すると処理を続行しません。 パーサーは、処理プロシージャーで XML-CODE 特殊レジスターに行った変更を無視します。 XML PARSE ステートメントの最後にある XML-CODE の値は、パーサーが設定した値であり、元の例外コードを示します。 処理プロシージャーが例外イベント後にパーサーに戻ると、制御は、ON EXCEPTION 句で指定したステートメント、または XML PARSE ステートメントの最後 (ON EXCEPTION 句をコーディングしていない場合) に渡ります。XMLPARSE(XMLSS) オプションが有効である場合に可能な例外の指定については、 z/OS XML システム・サービスに関する下記の関連参照を参照してください。

XMLPARSE(COMPAT) の場合

XMLPARSE(COMPAT) コンパイラー・オプションが有効である場合、パーサーは例外イベント後も処理を続行できます。 たとえば、関連例外コードが次の範囲のいずれかであれば、パーサーは処理を続行することができます。

表 1 は、パーサーが処理を続行できる例外コードを示しています。

この表には、それぞれの例外と、例外発生後の続行要求時にパーサーが実行するアクションを記述しています。 記述の中には、以下の用語を使用しているものがあります。

用語の定義については、以下の関連タスクの『XML 文書のエンコード方式についての理解』を参照してください。

表 1. 続行可能な XML PARSE 例外 (XMLPARSE(COMPAT) の場合)
コード 説明 継続されるパーサーのアクション
1 パーサーで、エレメントの内容に含まれない空白文字を走査中に、無効文字が見つかりました。 パーサーは、文書の終わりに到達するまで、あるいは継続不能の原因となるエラーを検出するまで、エラーの検出を継続します。パーサーでは、END-OF-DOCUMENT イベントを除き、追加の標準イベントをシグナル通知しません。
2 パーサーで、エレメント内容に含まれない、処理命令、エレメント、コメント、または文書タイプ宣言の無効な開始が見つかりました。 パーサーは、文書の終わりに到達するまで、あるいは継続不能の原因となるエラーを検出するまで、エラーの検出を継続します。パーサーでは、END-OF-DOCUMENT イベントを除き、追加の標準イベントをシグナル通知しません。
3 パーサーで、重複する属性名が見つかりました。 パーサーは、文書の終わりに到達するまで、あるいは継続不能の原因となるエラーを検出するまで、エラーの検出を継続します。パーサーでは、END-OF-DOCUMENT イベントを除き、追加の標準イベントをシグナル通知しません。
4 パーサーで、属性値にマークアップ文字 '<' が見つかりました。 パーサーは、文書の終わりに到達するまで、あるいは継続不能の原因となるエラーを検出するまで、エラーの検出を継続します。パーサーでは、END-OF-DOCUMENT イベントを除き、追加の標準イベントをシグナル通知しません。
5 エレメントの開始および終了タグ名が一致しません。 パーサーは、文書の終わりに到達するまで、あるいは継続不能の原因となるエラーを検出するまで、エラーの検出を継続します。パーサーでは、END-OF-DOCUMENT イベントを除き、追加の標準イベントをシグナル通知しません。
6 パーサーで、エレメント内容に無効文字が見つかりました。 パーサーは、文書の終わりに到達するまで、あるいは継続不能の原因となるエラーを検出するまで、エラーの検出を継続します。パーサーでは、END-OF-DOCUMENT イベントを除き、追加の標準イベントをシグナル通知しません。
7 パーサーで、エレメント内容に、エレメント、コメント、処理命令、または CDATA セクションの無効な開始が見つかりました。 パーサーは、文書の終わりに到達するまで、あるいは継続不能の原因となるエラーを検出するまで、エラーの検出を継続します。パーサーでは、END-OF-DOCUMENT イベントを除き、追加の標準イベントをシグナル通知しません。
8 パーサーで、エレメント内容に、一致する開始文字シーケンス '<![CDATA[' のない、CDATA 終了文字シーケンス ']]>' が見つかりました。 パーサーは、文書の終わりに到達するまで、あるいは継続不能の原因となるエラーを検出するまで、エラーの検出を継続します。パーサーでは、END-OF-DOCUMENT イベントを除き、追加の標準イベントをシグナル通知しません。
9 パーサーで、コメント内に無効文字が見つかりました。 パーサーは、文書の終わりに到達するまで、あるいは継続不能の原因となるエラーを検出するまで、エラーの検出を継続します。パーサーでは、END-OF-DOCUMENT イベントを除き、追加の標準イベントをシグナル通知しません。
10 パーサーで、コメント内に、後にパーサーで、コメント内に、後に '>'が付いていない 文字シーケンス '--' (2 つのハイフン) が 見つかりました。 パーサーは、文書の終わりに到達するまで、あるいは継続不能の原因となるエラーを検出するまで、エラーの検出を継続します。パーサーでは、END-OF-DOCUMENT イベントを除き、追加の標準イベントをシグナル通知しません。
11 パーサーで、処理命令データ・セグメント内に無効文字が見つかりました。 パーサーは、文書の終わりに到達するまで、あるいは継続不能の原因となるエラーを検出するまで、エラーの検出を継続します。パーサーでは、END-OF-DOCUMENT イベントを除き、追加の標準イベントをシグナル通知しません。
12 処理命令ターゲット名が、小文字、大文字、または大/小文字混合の 'xml' でした。 パーサーは、文書の終わりに到達するまで、あるいは継続不能の原因となるエラーを検出するまで、エラーの検出を継続します。パーサーでは、END-OF-DOCUMENT イベントを除き、追加の標準イベントをシグナル通知しません。
13 パーサーで、16 進文字参照 (形式 &#xdddd; の) 内に無効な数字が見つかりました。 パーサーは、文書の終わりに到達するまで、あるいは継続不能の原因となるエラーを検出するまで、エラーの検出を継続します。パーサーでは、END-OF-DOCUMENT イベントを除き、追加の標準イベントをシグナル通知しません。
14 パーサーで、10 進数文字参照 (形式 &#dddd; の) 内に無効な数字が見つかりました。 パーサーは、文書の終わりに到達するまで、あるいは継続不能の原因となるエラーを検出するまで、エラーの検出を継続します。パーサーでは、END-OF-DOCUMENT イベントを除き、追加の標準イベントをシグナル通知しません。
15 XML 宣言内のエンコード宣言値が小文字または大文字の A から Z で始まっていませんでした。 パーサーは、文書の終わりに到達するまで、あるいは継続不能の原因となるエラーを検出するまで、エラーの検出を継続します。パーサーでは、END-OF-DOCUMENT イベントを除き、追加の標準イベントをシグナル通知しません。
16 文字参照が適切な XML 文字を参照しませんでした。 パーサーは、文書の終わりに到達するまで、あるいは継続不能の原因となるエラーを検出するまで、エラーの検出を継続します。パーサーでは、END-OF-DOCUMENT イベントを除き、追加の標準イベントをシグナル通知しません。
17 パーサーで、エンティティー参照名に無効文字が見つかりました。 パーサーは、文書の終わりに到達するまで、あるいは継続不能の原因となるエラーを検出するまで、エラーの検出を継続します。パーサーでは、END-OF-DOCUMENT イベントを除き、追加の標準イベントをシグナル通知しません。
18 パーサーで、属性値に無効文字が見つかりました。 パーサーは、文書の終わりに到達するまで、あるいは継続不能の原因となるエラーを検出するまで、エラーの検出を継続します。パーサーでは、END-OF-DOCUMENT イベントを除き、追加の標準イベントをシグナル通知しません。
70 実際の文書エンコードは EBCDIC であり、 CODEPAGE コンパイラー・オプションではサポートされる EBCDIC コード・ページが指定されていましたが、文書エンコード宣言ではサポートされる EBCDIC コード・ページが指定されていませんでした。 パーサーは、CODEPAGE コンパイラー・オプションで指定されたエンコードを使用します。
71 実際の文書エンコードは EBCDIC であり、文書エンコード宣言ではサポートされる EBCDIC エンコードが指定されていましたが、CODEPAGE コンパイラー・オプションはサポートされる EBCDIC コード・ページを指定していませんでした パーサーは、文書エンコード宣言で指定されたエンコードを使用します。
72 実際の文書エンコードは EBCDIC ですが、 CODEPAGE コンパイラー・オプションではサポートされる EBCDIC コード・ページが指定されておらず、文書はエンコード宣言を含んでいませんでした。 パーサーは、EBCDIC コード・ページ 1140 (USA、カナダ、. . . ユーロ国別拡張コード・ページ) を使用します。
73 実際の文書エンコードは EBCDIC ですが、 CODEPAGE コンパイラー・オプションおよび文書エンコード宣言のどちらにもサポートされる EBCDIC コード・ページが指定されていませんでした。 パーサーは、EBCDIC コード・ページ 1140 (USA、カナダ、. . . ユーロ国別拡張コード・ページ) を使用します。
82 実際の文書エンコードは ASCII ですが、文書はエンコード宣言を含んでいませんでした。 パーサーは、ASCII コード・ページ 819 (ISO-8859-1 Latin 1/オープン・システム) を使用します。
83 実際の文書エンコードは ASCII ですが、文書エンコード宣言ではコード・ページ 813、819、および 920 のいずれも指定されていませんでした。 パーサーは、ASCII コード・ページ 819 (ISO-8859-1 Latin 1/オープン・システム) を使用します。
92 文書データ項目は英数字でしたが、実際の文書エンコード は Unicode UTF-16 でした。 パーサーはコード・ページ 1200 (Unicode UTF-16) を使用します。
100,001 から 165,535 CODEPAGE コンパイラー・オプションおよび 文書エンコード宣言に指定された、サポートされる EBCDIC コード・ページが それぞれ異なっていました。 XML-CODE には、エンコード宣言に 100,000 をプラスするためのコード・ページ CCSID が含まれています。 EXCEPTION イベントから戻る前に、XML-CODE をゼロに設定した場合、パーサーでは、CODEPAGE コンパイラー・オプションによって指定したエンコードが使用されます。 文書エンコード宣言に対して (100,000 を減算して) XML-CODE を CCSID に設定した場合、パーサーではこのエンコードが使用されます。

関連概念
XML-CODE  


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

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