Dreamweaver TechniqueJAVA Script サンプル | CSS sample | JAVA Applet sample | Flash Sample
HTML4.0 riference | DynamicHTMLXHTML | XML sample | XSLT sample | RIKO's ASP Trial

DTD

DTD(Document Type Definition)は、XML誕生以前から利用されていた文書型定義言語です。文書型定義そのものを指すこともあります。
DTDの詳細については、「RIKO's DTD Trial」を参照してください。

■ DTD

DTDは、XMLデータにどんなタグが使えるか、つまりどのような要素があるのか、要素の親子関係はどのようになっているのか、要素にはどんな属性があるのかを定義します。このほか、xmlデータ中で参照する「実体(エンティティ)」も定義できます。

DTDは元々SGML(汎用文書用のマークアップ言語)で使われていた文書型定義言語です。ただし、SGMLでは「タグが省略できるか」などの省略表記用の設定が可能ですが、XMLではそもそも省略表記が許されていないので省略表記用の指定がない、など、書き方が若干異なります。

DTDによる定義例

<!--DTD for chapter.-->

<!ELEMENT chapter (head, para+, tplist?, section+) >
<!ATTLIST chapter names CDATA #REQUIRED
              version CDATA #REQUIRED>

<!ELEMENT caption (#PCDATA) >

<!ELEMENT crossreference
              EMPTY >
<!ATTLIST crossreference
              referenceid IDREF #REQUIRED
              format CDATA #IMPLIED >

<!ELEMENT figure (graphic, caption) >

<!ELEMENT firstuse (#PCDATA) >

<!ELEMENT graphic EMPTY >
<!ATTLIST graphic entityref CDATA #IMPLIED
              fileref CDATA #IMPLIED
              filename CDATA #IMPLIED
              format (CGM|EPS|GIF|TIF|JPG|SVG) #IMPLIED
              type (byreference|bycopy) #REQUIRED
              entity ENTITY #IMPLIED
              file CDATA #IMPLIED
              dpi NMTOKEN #IMPLIED
              alt CDATA #IMPLIED
              impsize CDATA #IMPLIED
              impby (ref|copy) #IMPLIED
              sideways NMTOKEN #IMPLIED
              impang CDATA #IMPLIED
              xoffset CDATA #IMPLIED
              yoffset CDATA #IMPLIED
              position NMTOKEN #IMPLIED
              align NMTOKEN #IMPLIED
              cropped NMTOKEN #IMPLIED
              float NMTOKEN #IMPLIED
              width CDATA #IMPLIED
              height CDATA #IMPLIED
              angle CDATA #IMPLIED
              bloffset CDATA #IMPLIED
              nsoffset CDATA #IMPLIED >

<!ELEMENT head (#PCDATA | indexentry)* >
<!ATTLIST head id ID #IMPLIED >

<!ELEMENT indexentry EMPTY >
<!ATTLIST indexentry type CDATA #IMPLIED
              text CDATA #IMPLIED >

<!ELEMENT para (#PCDATA | firstuse | indexentry | crossreference)* >

<!ELEMENT section (head, (para | figure | table)+, section*) >
<!ATTLIST section xmlns:RefDB CDATA #IMPLIED >

<!ELEMENT table (thead?, tbody, tfoot?) >
<!ATTLIST table colsep CDATA #IMPLIED
              rowsep CDATA #IMPLIED
              frame CDATA #IMPLIED
              tablestyle CDATA #IMPLIED >

<!ELEMENT tbody (trow+) >
<!ATTLIST tbody valign (top|middle|bottom) "top" >

<!ELEMENT tentry (#PCDATA) >
<!ATTLIST tentry align (left|right|center|justify|char) #IMPLIED
              valign (top|middle|bottom) #IMPLIED >

<!ELEMENT tfoot (trow+) >
<!ATTLIST tfoot valign (top|middle|bottom) "top" >

<!ELEMENT thead (trow+) >
<!ATTLIST thead valign (top|middle|bottom) "bottom" >

<!ELEMENT trow (tentry+) >
<!ATTLIST trow valign (top|middle|bottom) #IMPLIED >

<!ELEMENT tphead (#PCDATA) >

<!ELEMENT tppara (tpxref) >

<!ELEMENT tplist (tphead, tppara+) >

<!ELEMENT tpxref EMPTY >
<!ATTLIST tpxref format CDATA #IMPLIED
              refid IDREF #REQUIRED>
<!ENTITY email1 "little-box@aw.wakwak.com" >

<<<戻る

R HOUSE | RIKO's Trial Page | Shirley's Pettit Case | Shirley's i-box | Shirley's little box