WWW INFOMATION | |||||||||||||||||||||||||||||||||
XML top >>DTDを作成する
■DTDを作成する
詳細な仕様は後にして、とりあえずDTDを作成してみます。
DTDにするデータと実際のDTDを比べてみて下さい。(一番下にDTDチェック用のプログラムを置いています。)
■DTDについて 次章とほぼ内容が変わらないため、カットしました。
次章のDTD概要を参考下さい。 ■DTDを作る
会員を扱う以下のようなXMLの構成を定義するDTDを考えます。
・XML
<?xml version="1.0" ?>
<members> <member num="01"> <name>山田太郎</name> <addr>東京都XXXXX</addr> <contact tel="xx-xxxx-xxxx" e-mail="xx@xxxxx" /> </member> <member num="02"> <name>山田花子</name> <addr>大阪府XXXX</addr> <contact tel="xx-xxxx-xxxx" /> </member> </members> 上のXMLのデータ構成は以下のようになっています。
この構成をDTDにすると以下のようになります。
<!DOCTYPE members [
<!ELEMENT members (member*)> <!ELEMENT member (name,addr,contact? )> <!ATTLIST member num CDATA #REQUIRED> <!ELEMENT name (#PCDATA)> <!ELEMENT addr (#PCDATA)> <!ELEMENT contact EMPTY> <!ATTLIST contact tel CDATA #REQUIRED> <!ATTLIST contact e-mail CDATA #IMPLIED> ] > このDTDをXML内に記述します。
<?xml version="1.0" ?>
<!DOCTYPE members [ <!ELEMENT members (member*)> <!ELEMENT member (name,addr,contact? )> <!ATTLIST member num CDATA #REQUIRED> <!ELEMENT name (#PCDATA)> <!ELEMENT addr (#PCDATA)> <!ELEMENT contact EMPTY> <!ATTLIST contact tel CDATA #REQUIRED> <!ATTLIST contact e-mail CDATA #IMPLIED> ] > <members> <member num="01"> <name>山田太郎</name> <addr>東京都XXXXX</addr> <contact tel="xx-xxxx-xxxx" e-mail="xx@xxxxx" /> </member> <member num="02"> <name>山田花子</name> <addr>大阪府XXXX</addr> <contact tel="xx-xxxx-xxxx" /> </member> </members> このDTD定義により、もしXMLの内容がDTDの定義と異なっていた場合、DTDをチェックするプログラムはエラーを返します。 |
|
||||||||||||||||||||||||||||||||