8.5.4 内容モデルの記述

内容モデルは入れ子になったタプルを使って記述されています。 各タプルには 4 つの値: 型、限定詞 (quantifier)、名前、そして子の タプル、が収められています。子のタプルは単に内容モデルを 記述したものです。

最初の二つのフィールドの値は xml.parsers.expat モジュールの model オブジェクトで定義されている定数です。これらの定数は 二つのグループ: モデル型 (model type) グループと限定子 (quantifier) グループ、に取りまとめられます。

以下にモデル型グループにおける定数を示します:

XML_CTYPE_ANY
モデル名で指定された要素は ANY の内容モデルを持つと 宣言されます。

XML_CTYPE_CHOICE
指定されたエレメントはいくつかのオプションから選択できるようになって います; (A | B | C) のような内容モデルで用いられます。

XML_CTYPE_EMPTY
EMPTY であると宣言されている要素はこのモデル型を持ちます。

XML_CTYPE_MIXED

XML_CTYPE_NAME

XML_CTYPE_SEQ
順々に続くようなモデルの系列を表すモデルがこのモデル型で表されます。 (A, B, C) のようなモデルで用いられます。

限定子グループにおける定数を以下に示します:

XML_CQUANT_NONE
修飾子 (modifier) が指定されていません。従って A のように、 厳密に一つだけです。

XML_CQUANT_OPT
このモデルはオプションです: A? のように、一つか全くないかです。

XML_CQUANT_PLUS
このモデルは (A+ のように) 一つかそれ以上あります。

XML_CQUANT_REP
このモデルは A* のようにゼロ回以上あります。

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。