ファイヤープロジェクト
DTDで指定するXML文書の構造
2003-07-20T15:13+09:00   matsu
DTDによるXML文書構造の記述方法の紹介.
先述したが,<!ELEMENT distribution (debian,redhat)>がdistribution要素の内容には,debian要素とredhato要素が順に現れることを意味する.また,これも先述したが,<!ELEMENT debian (#PCDATA)>は,debian要素の内容はテキストデータが現れることを意味する.これらと同様にして,DTDでは要素の出現順序や出現回数などのXML文書の構造をいろいろ指定できる.
<!ELEMENT 要素名 (内容)>
要素名に表される要素の内容は()内に一致する.内容がテキストの時,内容は#PCDATAとなる.
<!ELEMENT 要素名 (A,B,C)>
<!ELEMENT 要素名 (A|B|C)>
この内容は複数指定することができる.この複数の内容を「,」で区切ればそれらの内容はその順番で出現する.「|」で区切ればいずれかが出現する.「|」で区切れた内容が同時に出現することはない.
<!ELEMENT 要素名 (A+)>
<!ELEMENT 要素名 (A?,B)>
内容の後に+を付けるとその内容が一回以上出現する.?を付けるとその内容が0または1回出現する.*を付けると0回以上出現する.そして何も付けないと一回出現する.この辺は正規表現を彷彿する.
<!ELEMENT A (B|C)*>
正規表現を彷彿したところで応用.上の例だと,要素Aの内容に「BまたはC」が0回以上出現する.だから,Aの内容にBCCCCBBCなんて出現するのもアリ.
<!ELEMENT A EMPTY>
この場合,Aの内容は空である.つまりこのAは空要素である.
<!ELEMENT A ANY>
この場合,Aの内容はなんでもよい.
matsu(C)
Since 2002
Mail to matsu