Rational Developer for System z
COBOL for Windows バージョン 7.5 プログラミング・ガイド


例: XML イベントの処理

次のサンプル XML 文書は短いものですが、多数の XML イベントを含んでいます。 それらのイベントは、構文解析時に発生する順序で文書の後に示してあります。それぞれの XML イベントの正確なテキストは不等号括弧 (<<>>) で 区切られています。

一般に、このテキストは、XML-TEXT または XML-NTEXT のどちらかの内容になります。以降のサンプル XML 文書は、XML-NTEXT を必要とするテキストを含んでおらず、XML-TEXT のみを使用しています。

この例は XML 宣言で始まっています。構文解析する文書に XML 宣言が含まれている場合、宣言は文書の先頭バイトから開始していなければなりません。先頭バイトから開始していない場合、パーサーは例外コードを生成します。XML 宣言でコーディングする属性名は、すべて小文字で指定する必要があります。

<?xml version=“1.0” encoding=“ibm-1140” standalone=“yes” ?>
<!--This document is just an example-->
<sandwich>
  <bread type=“baker&apos;s best” />
  <?spread please use real mayonnaise ?>
  <meat>Ham &amp; turkey</meat>
  <filling>Cheese, lettuce, tomato, etc.</filling>
  <![CDATA[We should add a <relish> element in future!]]>
</sandwich>junk
START-OF-DOCUMENT
このサンプル・テキストの長さは 336 文字です。
VERSION-INFORMATION
<<1.0>>
ENCODING-DECLARATION
<<ibm-1140>>
STANDALONE-DECLARATION
<<yes>>
DOCUMENT-TYPE-DECLARATION
サンプルには、文書タイプ宣言はありません。
COMMENT
<<This document is just an example>>
START-OF-ELEMENT
START-OF-ELEMENT イベントとして、次の順序で出現します。
  1. <<sandwich>>
  2. <<bread>>
  3. <<meat>>
  4. <<filling>>
ATTRIBUTE-NAME
<<type>>
ATTRIBUTE-CHARACTERS
ATTRIBUTE-CHARACTERS イベントとして出現する順序で示します。
  1. <<baker>>
  2. <<s best>>

サンプルの type 属性の値は、ストリング 'baker'、単一文字 '''、およびストリング 's best' という 3 つのフラグメントで構成されます。単一文字のフラグメント ''' は、ATTRIBUTE-CHARACTER イベントとして個別に渡されます。

ATTRIBUTE-CHARACTER

<<'>>
ATTRIBUTE-NATIONAL-CHARACTER
サンプルには、数字参照はありません。
END-OF-ELEMENT
END-OF-ELEMENT イベントとして、次の順序で出現します。
  1. <<bread>>
  2. <<meat>>
  3. <<filling>>
  4. <<sandwich>>
PROCESSING-INSTRUCTION-TARGET
<<spread>>
PROCESSING-INSTRUCTION-DATA
<<please use real mayonnaise >>
CONTENT-CHARACTERS
CONTENT-CHARACTERS イベントとして、次の順序で出現します。
  1. <<Ham >>
  2. << turkey>>
  3. <<Cheese, lettuce, tomato, etc.>>
  4. <<We should add a <relish> element in future!>>

このサンプルでは、「中身」となるエレメントの内容は、ストリング 'Ham '、文字 '&'、およびストリング 'turkey' で構成されます。単一文字のフラグメント '&' は、CONTENT-CHARACTER イベントとして個別に渡されます。この 2 つのストリングのフラグメントには、先頭と末尾の空白があります。

CONTENT-CHARACTER
<<&>>
CONTENT-NATIONAL-CHARACTER
サンプルには、数字参照はありません。
START-OF-CDATA-SECTION
<<<![CDATA[>>
END-OF-CDATA-SECTION
<<]]>>>
UNKNOWN-REFERENCE-IN-ATTRIBUTE
サンプルには、未定義のエンティティー参照はありません。
UNKNOWN-REFERENCE-IN-CONTENT
サンプルには、未定義のエンティティー参照はありません。
END-OF-DOCUMENT
END-OF-DOCUMENT イベント用の XML テキストは空です。
EXCEPTION
例外 (</sandwich> タグに続く不要な「junk」という文字列) が検出された 箇所までの、文書の構文解析済みの部分。

関連概念
XML-TEXT および XML-NTEXT の内容

関連タスク
XML 文書の構文解析
XML を処理するためのプロシージャーの作成

関連参照
XML-EVENT の内容
XML-EVENT (「COBOL for Windows 言語解説書」)
4.6 Predefined Entities (「XML 仕様」)
2.8 Prolog and document type declaration (「XML 仕様」)


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

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