検索

DTDの詳しい説明

Feb 20, 2017 pm 03:06 PM

DTD 文法規則の詳細な説明。これは、標準一般化マークアップ言語

(SGML) および拡張マークアップ言語

(XML) バージョン 1.0

仕様の一部であり、ドキュメントを特定の DTD

構文規則に照らして検証して、形式が正しいかどうかを確認できます。このルールに準拠しています。ドキュメント タイプ定義は、標準のユニバーサル マークアップ言語および拡張マークアップ言語のドキュメント形式の合法性を確認するためにも使用できます。ドキュメントをドキュメント タイプ定義ファイルと比較して、ドキュメントが仕様に準拠しているかどうか、および要素とタグが正しく使用されているかどうかを確認できます。 。ファイル インスタンスは、アプリケーションにデータを交換するための形式を提供します。


PS

: つまり、

DTDは、XMLドキュメントを特定の仕様の下で使用できるように制約するために使用されます。DTDテクノロジーに加えて、もあります。 Schema テクノロジーは、

XML

ドキュメントを制約するためにも使用されます。 参考ドキュメント: DTD http://www.php.cn/参考ドキュメント: スキーマhttp://www.php.cn/ DTD概略図

PS: DTD

の制約を通じて、

XML

DTDの制約の下で処理できます

カスタマイズされていますが、

DTD 数値制約などの範囲制約をデータに適用できないという欠点があります。

DTDドキュメントの宣言と参照内部DTDDocumentspan style="font-family:Calibri">ルート要素[]定義内容

]>

外部DTD

Document

p>ルート要素SYSTEM "DTDファイルパス">内部および外部DTD

ドキュメントの組み合わせ

ルート要素 SYSTEM "DTDファイルパス" [定義内容

]>

注:

1、定義キーワードは大文字である必要があります化されました。例: DOCTYPEELEMENT

ATTLIST

2

参照ファイルがローカルの場合、次のメソッドが使用されます:

span style="font-family:宋体">ドキュメントルートノードSYSTEM "DTDファイルのURL">

例: /span>Bookshelf システム」 book.dtd">

参照されるファイルがパブリックファイルの場合、次のメソッドが使用されます:

span style="font-family:宋体">Document Root Node PUBLIC "DTDName " "DTD ファイルのURL">

例: /span> "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">

DTDElement

基本構文

: ELEMENT: キーワード(

は大文字にする必要があります

)

)NAME: 要素名。

内容

: 要素には 4 種類あり、すべて大文字にする必要があります。

1

EMPTY

- この要素には子要素とテキストを含めることはできませんが、属性(空の要素)を持つことができます 2

ANY

- この要素には何でも含めることができますin DTD 3

#PCDATA

で定義された要素コンテンツ - 任意の文字データを含めることができますが、サブ要素 4、その他のタイプ を含めることはできません

(

組み合わせ)は、子要素、子要素と修飾子の組み合わせ、基本要素と子要素と修飾子の組み合わせにすることができます。 ケース:

クラス

(

学生+,著者)>生徒(

名前) ,年齢,紹介)>作者(#PCDATA)>

名前 (#PCDATA)>

年齢(#PCDATA)>

紹介(#PCDATA)>

修飾子

シンボル

はメンバーが必ず出現することを意味し、複数のメンバーが出現することができますこのオブジェクトは、0 回から任意の回数 (ホビー缶0 回から何度も出現します オブジェクトは 1 回だけ出現します1 ルーキーは出現してもしなくても構いません。出現する場合は最大 1 回のみ出現できます (スイカ

使用

例の説明

( )

要素をグループ化するために使用されます

(古龙|ジンヨン| Liang Yusheng)(王朔|Yu Jie)

は2つのグループに分けられます

|

リストされたオブジェクトから 1 つ選択してください

(man|woman)

男性または女性が現れなければならないことを意味し、1つのオブジェクトのみを選択できます少なくとも 1 回、出現可能 複数回 (1 回

または複数回)

(メンバー

+
)

*

0

から複数回) 出現することができます

(趣味

*
)

?

(0

から

)

(rooki)え? )

,

オブジェクトは指定された順序で出現する必要があります

リンゴ

バナナ)

は、スイカ、リンゴ、バナナがこの順序で出現することを意味します


DTD属性

基本構文


要素名

トリビュート名 タイプ属性の特徴

属性名 タイプ属性の特徴… ...

>

説明:

ATTLIST: 属性リスト (大文字にする必要があります)。

要素名: 対応する要素の名前。

属性: 複数の属性が存在でき、形式は名前タイプ属性特性です

タイプ:


PS: 一般的に使用されるものは CDATA( キャラクタータイプ )、列挙 (列挙形式は (1|2|3...)) ID( IDは繰り返したり、数字で始めることはできません)IDREF(は別のIDを参照します)IDREFS(は複数を参照できます) スペースで区切られた ID )

属性の特性は次のとおりです:


ケース: reee


Entity

エンティティには参照エンティティがあります参照エンティティとパラメータ エンティティの 2 種類があります。参照エンティティは通常

XML で使用され、パラメータ エンティティは通常 DTD で使用されます。

基本構文

エンティティ名"エンティティの内容" > 参照エンティティ

エンティティ名" エンティティコンテンツ " > // パラメータ エンティティ説明:

1

。参照エンティティは、

&エンティティ名を使用して、DTDを参照するXMLファイルで使用できます。 ; エンティティ コンテンツを使用します。 2

、私のパソコンのせいなのか分かりませんが、内部

DTDに参照エンティティ定義を置くと、参照エンティティが外部DTDで使用できなくなります。使用できます。 3

、パラメータエンティティは

DTDで使用されます。%エンティティ名を使用します。

4、可以将那些重复使用的值定义成实体,这样能减少代码的冗余度。

5、在外部DTD中,引用实体最好放在DTD底部,参数实体最好放在DTD顶部。

 

案例:

<!ENTITY % sex "男|女">
<!ELEMENT 班级 (学生+,作者)>
<!ELEMENT 学生 (名字,年龄,介绍)>
<!ELEMENT 作者 (#PCDATA)>
<!ATTLIST 学生
	性别 (%sex;) #REQUIRED
>
<!ELEMENT 名字 (#PCDATA)>
<!ELEMENT 年龄 (#PCDATA)>
<!ELEMENT 介绍 (#PCDATA)>
<!ENTITY writer "Switch">


综合案例1

XML3.dtd

<!ENTITY % sex "男|女">
<!ELEMENT 班级 (学生+,作者)>
<!ATTLIST 班级
	班次 CDATA "1班"
	编号 ID #REQUIRED
>
<!ELEMENT 学生 (名字,年龄,介绍)>
<!ELEMENT 作者 (#PCDATA)>
<!ATTLIST 学生
	地址 CDATA #IMPLIED
	授课方式 CDATA #FIXED "面授"
	学号 ID #REQUIRED
	班级编号 IDREF #REQUIRED
	朋友 IDREFS #IMPLIED
	性别 (%sex;) #REQUIRED
>
<!ELEMENT 名字 (#PCDATA)>
<!ELEMENT 年龄 (#PCDATA)>
<!ELEMENT 介绍 (#PCDATA)>


XML3.xml

<?xml version="1.0" encoding="UTF-8"?>
<!-- 引入DTD -->
<!DOCTYPE 班级 SYSTEM "XML3.dtd"
[<!ENTITY writer "Switch">]>
<班级 编号="C1" 班次="1班">
	<学生  地址="湖南" 授课方式="面授" 学号="n1" 班级编号="C1" 朋友="n2" 性别="男">
		<名字>张三</名字>
		<年龄>20</年龄>
		<介绍>不错</介绍>
	</学生>
	<学生 授课方式="面授" 学号="n2" 班级编号="C1" 朋友="n1 n3" 性别="女">
		<名字>李四</名字>
		<年龄>18</年龄>
		<介绍>很好</介绍>
	</学生>
	<学生 授课方式="面授" 学号="n3" 班级编号="C1" 朋友="n2" 性别="男">
		<名字>王五</名字>
		<年龄>22</年龄>
		<介绍>非常好</介绍>
	</学生>
	<作者>&writer;</作者>
</班级>


综合案例2

XML4.dtd

<!ENTITY AUTHOR "John Doe">
<!ENTITY COMPANY "JD Power Tools, Inc.">
<!ENTITY EMAIL "jd@jd-tools.com">

<!ELEMENT CATALOG (PRODUCT+)>

<!ELEMENT PRODUCT
(SPECIFICATIONS+,OPTIONS?,PRICE+,NOTES?)>
<!ATTLIST PRODUCT
NAME CDATA #IMPLIED
CATEGORY (HandTool|Table|Shop-Professional) "HandTool"
PARTNUM CDATA #IMPLIED
PLANT (Pittsburgh|Milwaukee|Chicago) "Chicago"
INVENTORY (InStock|Backordered|Discontinued) "InStock">

<!ELEMENT SPECIFICATIONS (#PCDATA)>
<!ATTLIST SPECIFICATIONS
WEIGHT CDATA #IMPLIED
POWER CDATA #IMPLIED>

<!ELEMENT OPTIONS (#PCDATA)>
<!ATTLIST OPTIONS
FINISH (Metal|Polished|Matte) "Matte" 
ADAPTER (Included|Optional|NotApplicable) "Included"
CASE (HardShell|Soft|NotApplicable) "HardShell">

<!ELEMENT PRICE (#PCDATA)>
<!ATTLIST PRICE
MSRP CDATA #IMPLIED
WHOLESALE CDATA #IMPLIED
STREET CDATA #IMPLIED
SHIPPING CDATA #IMPLIED>

<!ELEMENT NOTES (#PCDATA)>


XML4.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE CATALOG SYSTEM "XML4.dtd">
<CATALOG>
	<PRODUCT NAME="C&#39;estbon" CATEGORY="Shop-Professional" INVENTORY="Backordered" PARTNUM="10" PLANT="Chicago">
		<SPECIFICATIONS POWER="0" WEIGHT="555ml">SPECIFICATIONS</SPECIFICATIONS>
		<OPTIONS>OPTIONS</OPTIONS>
		<PRICE>2</PRICE>
		<NOTES>NOTES</NOTES>
	</PRODUCT>
</CATALOG>

 以上就是DTD详解的内容,更多相关内容请关注PHP中文网(www.php.cn)!


声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
スケーリングXML/RSS処理:パフォーマンス最適化手法スケーリングXML/RSS処理:パフォーマンス最適化手法Apr 27, 2025 am 12:28 AM

XMLおよびRSSデータを処理する場合、次の手順でパフォーマンスを最適化できます。1)LXMLなどの効率的なパーサーを使用して、解析速度を改善します。 2)SAXパーサーを使用して、メモリの使用量を削減します。 3)Xpath式を使用して、データ抽出効率を改善します。 4)処理速度を改善するために、マルチプロセスの並列処理を実装します。

RSSドキュメント形式:RSS 2.0以降の探索RSSドキュメント形式:RSS 2.0以降の探索Apr 26, 2025 am 12:22 AM

RSS2.0は、コンテンツパブリッシャーが構造化された方法でコンテンツを配布できるようにするオープン標準です。タイトル、リンク、説明、リリース日などの豊富なメタデータが含まれているため、サブスクライバーは迅速にコンテンツを参照してアクセスできます。 RSS2.0の利点は、そのシンプルさとスケーラビリティです。たとえば、カスタム要素を許可します。つまり、開発者は著者、カテゴリなどのニーズに基づいて追加情報を追加できます。

RSSの理解:XMLの視点RSSの理解:XMLの視点Apr 25, 2025 am 12:14 AM

RSSは、頻繁に更新されるコンテンツを公開するために使用されるXMLベースの形式です。 1。RSSFeedは、タイトル、リンク、説明などを含むXML構造を通じて情報を整理します。2。rssfeedの作成には、言語やリリース日などのメタデータを追加するXML構造での書き込みが必要です。 3.高度な使用法には、マルチメディアファイルと分類された情報を含めることができます。 4.デバッグ中にXML検証ツールを使用して、必要な要素が存在し、正しくエンコードされていることを確認します。 5. RSSFeedの最適化は、構造をシンプルに保つことで、ページング、キャッシュ、および保持することで実現できます。この知識を理解して適用することにより、コンテンツを効果的に管理および配布できます。

XMLのRSS:タグ、属性、および構造のデコードXMLのRSS:タグ、属性、および構造のデコードApr 24, 2025 am 12:09 AM

RSSは、コンテンツを公開および購読するために使用されるXMLベースの形式です。 RSSファイルのXML構造には、ルート要素、要素、および複数の要素が含まれ、それぞれがコンテンツエントリを表します。 XMLパーサーを介してRSSファイルを読み取り、解析すると、ユーザーは最新のコンテンツを購読して取得できます。

RSSにおけるXMLの利点:技術的なディープダイビングRSSにおけるXMLの利点:技術的なディープダイビングApr 23, 2025 am 12:02 AM

XMLには、RSSの構造化データ、スケーラビリティ、クロスプラットフォームの互換性、解析検証の利点があります。 1)構造化されたデータにより、コンテンツの一貫性と信頼性が保証されます。 2)スケーラビリティにより、コンテンツのニーズに合わせてカスタムタグを追加できます。 3)クロスプラットフォームの互換性により、さまざまなデバイスでシームレスに動作します。 4)分析および検証ツールは、フィードの品質と完全性を確保します。

XMLのRSS:コンテンツシンジケーションのコアを発表しますXMLのRSS:コンテンツシンジケーションのコアを発表しますApr 22, 2025 am 12:08 AM

XMLでのRSSの実装は、構造化されたXML形式を使用してコンテンツを整理することです。 1)RSSは、チャネル情報やプロジェクトリストなどの要素を含むデータ交換形式としてXMLを使用します。 2)RSSファイルを生成する場合、コンテンツは仕様に従って整理し、サブスクリプションのためにサーバーに公開する必要があります。 3)RSSファイルは、読者またはプラグインを介してサブスクライブして、コンテンツを自動的に更新できます。

基本を超えて:高度なRSSドキュメント機能基本を超えて:高度なRSSドキュメント機能Apr 21, 2025 am 12:03 AM

RSSの高度な機能には、コンテンツネームスペース、拡張モジュール、条件付きサブスクリプションが含まれます。 1)コンテンツネームスペースはRSS機能を拡張します。2)dublincoreやiTunesなどの拡張モジュールを拡張してメタデータを追加します。これらの関数は、情報収集の効率を改善するためにXML要素と属性を追加することにより実装されます。

XMLバックボーン:RSSフィードが構造化される方法XMLバックボーン:RSSフィードが構造化される方法Apr 20, 2025 am 12:02 AM

rssfeedsusexmltoStructurecontentupdates.1)xmlprovidesahierararchStructurefordata.2)theelementDefinesthefeed'sidentityandContainesements.3)letentionEntentividualContentPieces.4)

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール