最新のWeb開発のチュートリアル
 

XML DTD


正しい構文を使用したXML文書が呼び出され"Well Formed"

DTDに対して検証するXML文書は両方ある"Well Formed""Valid"


妥当なXML文書

"Valid"のXML文書がある"Well Formed"もDTDの規則に準拠したXML文書、:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note SYSTEM "Note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

DOCTYPE宣言は、上記の例では、外部DTDファイルへの参照です。 ファイルの内容は、以下の段落に示されています。


XMLのDTD

DTDの目的は、XML文書の構造を定義することです。 これは、法的要素のリストと構造を定義しています。

<!DOCTYPE note
[
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>

DTDは、上記のように解釈されます。

  • !DOCTYPEノートでは、ドキュメントのルート要素はノートであることを定義します
  • !:ELEMENTノートはノート要素が要素を含んでいなければならないことを定義"to, from, heading, body"
  • !型である要素に定義するELEMENT "#PCDATA"
  • !からのELEMENTは型である要素から定義する"#PCDATA"
  • !ELEMENTの見出しがタイプであることを見出し要素を定義する"#PCDATA"
  • !ELEMENT体のタイプであることが本体要素を定義する"#PCDATA"

#PCDATAは、解析可能なテキストデータを意味します。


実体宣言のDTDを使用して、

DOCTYPE宣言は、文書で使用され、特殊文字や文字列を定義するために使用することができます。

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE note [
<!ENTITY nbsp "&#xA0;">
<!ENTITY writer "Writer: Donald Duck.">
<!ENTITY copyright "Copyright: w3ii.">
]>

<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
<footer>&writer;&nbsp;&copyright;</footer>
</note>
»それを自分で試してみてください

エンティティは、3つの部分があります。アンパサンド(&)エンティティ名、およびセミコロンを(;)


DTD /スキーマを使用する場合?

DTDで、人々の独立したグループは、データを交換するための標準DTDを使用することに同意することができます。

DTDを使用すると、あなたが外の世界からの受信データが有効であることを確認することができます。

また、独自のデータを確認するためにDTDを使用することができます。

あなたはDTDを勉強したい場合は、私たちのお読みくださいDTDのチュートリアルを


ときDTD /スキーマを使用しないようにするには?

XMLは、DTD /スキーマを必要としません。

あなたがXMLで実験し、またはされている場合、あなたは時間の無駄かもしれDTDを作成し、小さなXMLファイルで作業しているとき。

あなたがアプリケーションを開発する場合は、文書の定義を追加する前に、仕様が安定するまで待ちます。 それ以外の場合は、お使いのソフトウェアが原因の検証エラーの動作を停止することがあります。