DTD 文法規則の詳細な説明。これは、標準一般化マークアップ言語
仕様の一部であり、ドキュメントを特定の DTD
構文規則に照らして検証して、形式が正しいかどうかを確認できます。このルールに準拠しています。ドキュメント タイプ定義は、標準のユニバーサル マークアップ言語および拡張マークアップ言語のドキュメント形式の合法性を確認するためにも使用できます。ドキュメントをドキュメント タイプ定義ファイルと比較して、ドキュメントが仕様に準拠しているかどうか、および要素とタグが正しく使用されているかどうかを確認できます。 。ファイル インスタンスは、アプリケーションにデータを交換するための形式を提供します。
PS
DTDは、XMLドキュメントを特定の仕様の下で使用できるように制約するために使用されます。DTDテクノロジーに加えて、もあります。 Schema テクノロジーは、
XMLドキュメントを制約するためにも使用されます。 参考ドキュメント: DTD http://www.php.cn/参考ドキュメント: スキーマhttp://www.php.cn/ DTD概略図
PS: DTD
の制約を通じて、
DTDの制約の下で処理できます
DTD 数値制約などの範囲制約をデータに適用できないという欠点があります。
DTDドキュメントの宣言と参照内部DTDDocumentルート要素[]定義内容
]>
Document
ルート要素SYSTEM "DTDファイルパス">内部および外部DTDドキュメントの組み合わせ
< ! DOCTYPEルート要素 SYSTEM "DTDファイルパス" [
定義内容]>注: 1、定義キーワードは大文字である必要があります化されました。例: DOCTYPE、ELEMENT、 ATTLIST。 2、 ドキュメントルートノード
例: Bookshelf システム「」 book.dtd">
参照されるファイルがパブリックファイルの場合、次のメソッドが使用されます:
Document Root Node PUBLIC "DTDName " "DTD ファイルのURL">
例: "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
: ELEMENT: キーワード(
は大文字にする必要があります
))。 NAME: 要素名。
内容: 要素には 4 種類あり、すべて大文字にする必要があります。
1、
EMPTY- この要素には子要素とテキストを含めることはできませんが、属性(空の要素)を持つことができます 2、
ANY- この要素には何でも含めることができますin DTD 3、
#PCDATAで定義された要素コンテンツ - 任意の文字データを含めることができますが、サブ要素 4、その他のタイプ を含めることはできません
(組み合わせ)は、子要素、子要素と修飾子の組み合わせ、基本要素と子要素と修飾子の組み合わせにすることができます。 ケース:
クラス(
学生+,著者)>生徒(
名前) ,年齢,紹介)>作者(#PCDATA)> 名前 (#PCDATA)> 年齢
紹介(#PCDATA)>
修飾子
シンボル
使用 |
例 |
例の説明 |
|
( ) |
要素をグループ化するために使用されます | (古龙|ジンヨン| Liang Yusheng)、(王朔|Yu Jie) |
は2つのグループに分けられます |
| |
リストされたオブジェクトから 1 つ選択してください | (man|woman) |
男性または女性が現れなければならないことを意味し、1つのオブジェクトのみを選択できます少なくとも 1 回、出現可能 複数回 (1 回 または複数回) |
(メンバー + |
)
| はメンバーが必ず出現することを意味し、複数のメンバーが出現することができます* | このオブジェクトは、0 回から任意の回数 (0 から複数回) 出現することができます |
(趣味 * |
)
| ホビー缶0 回から何度も出現します? | オブジェクトは 1 回だけ出現します(0 から |
回) | (rooki)え? ) | ルーキーは出現してもしなくても構いません。出現する場合は最大 1 回のみ出現できます, |
オブジェクトは指定された順序で出現する必要があります |
、リンゴ | 、 バナナ) |
は、スイカ、リンゴ、バナナがこの順序で出現することを意味します
要素名 トリビュート名 タイプ属性の特徴 属性名 タイプ属性の特徴… ... > 説明: ATTLIST: 属性リスト (大文字にする必要があります)。 要素名: 対応する要素の名前。 属性: 複数の属性が存在でき、形式は名前タイプ属性特性です タイプ:
PS: 一般的に使用されるものは CDATA( キャラクタータイプ )、列挙 (列挙形式は ( 値 1| 値 2| 値 3...)) 、ID( IDは繰り返したり、数字で始めることはできません)、IDREF(は別のID値を参照します)、IDREFS(は複数を参照できます) スペースで区切られた ID 値 )
属性の特性は次のとおりです:
ケース: reee XML で使用され、パラメータ エンティティは通常 DTD で使用されます。 基本構文エンティティ名"エンティティの内容" > 参照エンティティ エンティティ名" エンティティコンテンツ " > // パラメータ エンティティ説明:1 。参照エンティティは、&エンティティ名を使用して、DTDを参照するXMLファイルで使用できます。 ; エンティティ コンテンツを使用します。 2 、私のパソコンのせいなのか分かりませんが、内部DTDに参照エンティティ定義を置くと、参照エンティティが外部DTDで使用できなくなります。使用できます。 3 、パラメータエンティティはDTDで使用されます。%エンティティ名を使用します。 4、可以将那些重复使用的值定义成实体,这样能减少代码的冗余度。 5、在外部DTD中,引用实体最好放在DTD底部,参数实体最好放在DTD顶部。 案例: 综合案例1: XML3.dtd XML3.xml 综合案例2: XML4.dtd XML4.xml 以上就是DTD详解的内容,更多相关内容请关注PHP中文网(www.php.cn)! |