DTD(文書型宣言について)
文書型宣言とはXML文書の構造について取り決めるものである。
文書型宣言は以下のような形をしている。
<!DOCTYPE ルート要素名[ ・・・・ ]>
文書型宣言のの中に要素についての取り決めを書く!!
これを要素型宣言という
<!ELEMENT cars (car)> <!ELEMENT car (name,price)>
上記から以下2点がわかる
・cars要素の中にはcar要素が順に出現します
・car要素の中にはname,price要素が順に出現します
<!ELEMENT name (#PCDATA)> <!ELEMENT price (#PCDATA)>
上記から以下2点がわかる
・name要素にはテキスト(#PCDATA)が出現する
・price要素にはテキスト(#PCDATA)が出現する
<!ELEMENT 要素名 (内容やモデルを記入)>
そして必ず順番に出現するようにする
<!ELEMENT car (name, price, date)>
上記ならこういう感じ
<?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE cars[ <!ELEMENT cars (car)> <!ELEMENT car (name, price, date)> <!ELEMENT name (#PCDATA)> <!ELEMENT price (#PCDATA)> <!ELEMENT date (ad | gengo)> <!ELEMENT ad (#PCDATA)> <!ELEMENT gengo (#PCDATA)> ]> <cars> <car> <name>乗用車</name> <price>150</price> <date> <ad>2010-03-01</ad> </date> </car> </cars>
DTDの指定と異なる順になると、エラーになる。
<!ELEMENT date (ad | gengo)>
これはdate要素にはadまたはgengoが」くるということ!!
二つ同時に記入することはできない。