検索
ホームページバックエンド開発XML/RSS チュートリアルXML での DTD ドキュメント タイプ定義の詳細な紹介

この記事では主に XML の DTD 文書型定義を紹介します。これは、XML の入門学習のための基礎知識です。必要な友人は参照してください。一般に DTD として知られる XML 文書型定義は、XML 文書型定義を正確に記述する方法です。 XML 言語。 DTD は、適切な XML 言語の構文規則に照らして、XML ドキュメントの語彙と構造の有効性をチェックします。

XML DTD はドキュメント内で指定することも、別のドキュメントに保存して個別にリンクすることもできます。

構文

DTD の基本構文は次のとおりです:

<!DOCTYPE element DTD identifier   
[   
    declaration1   
    declaration2   
    ........   
]>

上記の構文では:

DTD は

要素は、指定されたルート要素からドキュメントの解析を開始するようにパーサーに指示するために使用されます。

DTD 識別子は、ドキュメント タイプの定義に使用される識別子です。システム内のファイルへのパス、またはインターネット上のファイルに接続されている URL を指定できます。 DTD が外部パスを指している場合、それは外部サブセットと呼ばれます。 _[] の内側には、内部サブセットと呼ばれるエンティティ宣言のオプションのリストがあります。

内部 DTD
要素が XML ドキュメント内で宣言されている場合、その DTD は内部 DTD と呼ばれます。これを内部 DTD として使用するには、XML 宣言のスタンドアロン属性を yes に設定する必要があります。これは、宣言された作品が外部ソースから独立していることを意味します。

構文

内部 DTD 構文は次のとおりです:

<!DOCTYPE root-element [element-declarations]>

ここで、root-element はルート要素の名前であり、element-declarations は宣言する要素を表します。

ここに内部 DTD の簡単な例を示します:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>  
<!DOCTYPE address [   
<!ELEMENT address (name,company,phone)>  
    <!ELEMENT name (#PCDATA)>  
    <!ELEMENT company (#PCDATA)>  
    <!ELEMENT phone (#PCDATA)>  
]>  
<address>  
    <name>Tanmay Patil</name>  
    <company>TutorialsPoint</company>  
    <phone>(011) 123-4567</phone>  
</address>

上記のコードを見てみましょう:

宣言の開始 - 次のステートメントで XML 宣言を開始します:

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

DTD - XML ヘッダーの後ろにある _Document Type Declaration_ は次のようになり、DOCTYPE と呼ばれることがよくあります:

DOCTYPE 宣言には要素名の先頭に感嘆符 (!) が含まれます。 DOCTYPE は、このドキュメントに関連付けられた DTD があることをパーサーに伝えます。


DTD 本文 - DOCTYPE 宣言の後には、要素、属性、エンティティ、シンボルを宣言する DTD 本文が続きます。

<!ELEMENT address (name,company,phone)>  
<!ELEMENT name (#PCDATA)>  
<!ELEMENT company (#PCDATA)>  
<!ELEMENT phone_no (#PCDATA)>

ここでは、 ドキュメント ボキャブラリーを介して多くの要素が宣言されます。 element_name_ を「#PCDATA」タイプとして定義します。ここで #PCDATA は解析可能なテキスト データを意味します。

終了宣言 - 最後に、DTD の宣言部分は角括弧と山括弧 (]>) を使用して閉じられます。これは有効な終了定義であり、その直後に XML ドキュメントのコンテンツが続きます。

ルール

文書型宣言は文書の先頭 (XML ヘッダーのある最初のみ) に出現する必要があり、文書内の他の場所に出現することは許可されません。

DOCTYPE 宣言と同様に、要素宣言は感嘆符で始める必要があります。

ドキュメント型宣言の名前は、ルート要素の型と一致する必要があります。

外部 DTD
外部 DTD では、要素は XML ドキュメントの外部で宣言されます。システム属性を指定してアクセスします。システム属性は、有効な .dtd ファイルまたは有効な URL です。外部 DTD であることを示すには、XML 宣言のスタンドアロン属性を no に設定する必要があります。これは、ステートメントに外部ソースからの情報が含まれていることを意味します。

構文

以下は外部 DTD の構文です:

<!DOCTYPE root-element SYSTEM "file-name">

ここでの file-name は .dtd 拡張子を持つファイルです。


次の例は、外部 DTD の使用法を示しています。

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>  
<!DOCTYPE address SYSTEM "address.dtd">  
<address>  
    <name>Tanmay Patil</name>  
    <company>TutorialsPoint</company>  
    <phone>(011) 123-4567</phone>  
</address>  
DTD 文件 address.dtd 的内容如下所示:   
  
<!ELEMENT address (name,company,phone)>  
<!ELEMENT name (#PCDATA)>  
<!ELEMENT company (#PCDATA)>  
<!ELEMENT phone (#PCDATA)>

Type

システム識別子またはパブリック識別子を使用して外部 DTD を参照できます。

システム識別子

システム識別子を使用すると、DTD 宣言を含む外部ファイルの場所を指定できます。構文は次のとおりです。

<!DOCTYPE name SYSTEM "address.dtd" [...]>

見てわかるように、SYSTEM キーワードとドキュメントの場所を指す URI 参照が含まれています。

パブリック識別子

パブリック識別子は、DTD リソースを見つけるためのメカニズムを提供します。これは次のように記述されます:

<!DOCTYPE name PUBLIC "-//Beginning XML//DTD Address Example//EN">

ご覧のとおり、PUBLIC キーワードで始まり、その後に特殊な識別子が続きます。パブリック識別子は、ディレクトリ内のエントリを識別するために使用されます。公開識別子は任意の形式に従うことができますが、一般的に使用される形式は正式公開識別子 (FPI) です。

要素を宣言する

要素を dtd で宣言します (要素を有効にしたい場合は、dtd で宣言する必要があります)
構文: および これら 2 つのメソッド


例:

<!ELEMENT br EMPTY>

XML は次のように記述できます:

<br/>

注意点
在dtd中
所有的 XML 文档(以及 HTML 文档)均由以下简单的构建模块构成:
元素
属性
实体
PCDATA
CDATA
下面是一些注意点:
(1)实体是用来定义普通文本的变量。实体引用是对实体的引用。
大多数同学都了解这个 HTML 实体引用:" "。这个“无折行空格”实体在 HTML 中被用于在某个文档中插入一个额外的空格。
当文档被 XML 解析器解析时,实体就会被展开。
XML での DTD ドキュメント タイプ定義の詳細な紹介

(2) PCDATA
PCDATA 的意思是被解析的字符数据(parsed character data)。
可把字符数据想象为 XML 元素的开始标签与结束标签之间的文本。
PCDATA 是会被解析器解析的文本。这些文本将被解析器解析成实体以及标记。
文本中的标签会被当作标记来处理,而实体会被展开。
不过,被解析的字符数据不应当包含任何 &、 字符;需要使用 &、df6ed20ae940f563c21bfd880540d8df 实体来分别替换它们。
(3)CDATA
CDATA 的意思是字符数据(character data)。
CDATA 是不会被解析器解析的文本。在这些文本中的标签不会被当作标记来对待,其中的实体也不会被展开。

以上がXML での DTD ドキュメント タイプ定義の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
RSSにおけるXMLの役割:シンジケートコンテンツの基礎RSSにおけるXMLの役割:シンジケートコンテンツの基礎Apr 12, 2025 am 12:17 AM

RSSにおけるXMLの中心的な役割は、標準化された柔軟なデータ形式を提供することです。 1. XMLの構造とマークアップ言語の特性により、データ交換とストレージに適しています。 2。RSSはXMLを使用して標準化された形式を作成して、コンテンツの共有を容易にします。 3. RSSでのXMLの適用には、タイトルやリリース日などのフィードコンテンツを定義する要素が含まれます。 4.利点には標準化とスケーラビリティが含まれ、課題にはドキュメントの冗長および厳密な構文要件が含まれます。 5.ベストプラクティスには、XMLの有効性の検証、シンプルな状態を維持し、CDATAの使用、定期的に更新されます。

XMLから読み取り可能なコンテンツまで:RSSフィードを分類しますXMLから読み取り可能なコンテンツまで:RSSフィードを分類しますApr 11, 2025 am 12:03 AM

rssfeedsarexmldocumentsusedforcontentaggregationanddistribution.totransformthemintoreadablecontent:1)parsethexmlusinglibrarieslibrarieslibrarieslibrarieslibrarieslibrarieslibrarieslibraries.2)heandlederentrssiversions andpotentialparsingerrors.3)変換された拡張型拡張型のfienderidederidrederidederidederidedionderiondiontiontiontiontiontiontiontiontional

JSONに基づいたRSSの代替品はありますか?JSONに基づいたRSSの代替品はありますか?Apr 10, 2025 am 09:31 AM

JSonFeedは、JSONベースのRSSの代替品であり、その利点のシンプルさと使いやすさがあります。 1)JSonFeedはJSON形式を使用しますが、これは簡単に生成して解析できます。 2)動的生成をサポートし、最新のWeb開発に適しています。 3)JSonFeedを使用すると、コンテンツ管理の効率とユーザーエクスペリエンスが向上する可能性があります。

RSSドキュメントツール:フィードの構築、検証、公開RSSドキュメントツール:フィードの構築、検証、公開Apr 09, 2025 am 12:10 AM

RSSFeedsを構築、検証、公開する方法は? 1。ビルド:Pythonスクリプトを使用して、タイトル、リンク、説明、リリース日など、RSSFeedを生成します。 2。検証:FeedValidator.orgまたはPythonスクリプトを使用して、RSSFeedがRSS2.0標準に準拠しているかどうかを確認します。 3.公開:RSSファイルをサーバーにアップロードするか、フラスコを使用してRSSFeedを動的に生成および公開します。これらの手順を通じて、コンテンツを効果的に管理および共有できます。

XML/RSSフィードのセキュリティ:包括的なセキュリティチェックリストXML/RSSフィードのセキュリティ:包括的なセキュリティチェックリストApr 08, 2025 am 12:06 AM

XML/RSSFeedsのセキュリティを確保する方法には、次のものが含まれます。1。データ検証、2。暗号化された伝送、3。アクセス制御、4。ログと監視。これらの測定値は、ネットワークセキュリティプロトコル、データ暗号化アルゴリズム、アクセス制御メカニズムを介して、データの整合性と機密性を保護します。

XML/RSSインタビューの質問と回答:専門知識をレベルアップしますXML/RSSインタビューの質問と回答:専門知識をレベルアップしますApr 07, 2025 am 12:19 AM

XMLはデータの保存と転送に使用されるマークアップ言語であり、RSSは頻繁に更新されるコンテンツを公開するために使用されるXMLベースの形式です。 1)XMLはタグと属性を介してデータ構造を記述します。2)RSSは特定のタグの公開と購読コンテンツを定義します。3)XMLは、PythonのXML.ETREE.ELEMENTTREEモジュールを使用して作成および解析できます。 XMLLINT、7)SAXパーサーで大規模なXMLファイルを処理することで検証できます。パフォーマンスを最適化できます。

高度なXML/RSSチュートリアル:次の技術インタビューを促進します高度なXML/RSSチュートリアル:次の技術インタビューを促進しますApr 06, 2025 am 12:12 AM

XMLはデータストレージと交換用のマークアップ言語であり、RSSは更新されたコンテンツを公開するためのXMLベースの形式です。 1。XMLは、データ交換とストレージに適したデータ構造を定義します。 2.RSSはコンテンツサブスクリプションに使用され、解析時に特別なライブラリを使用します。 3. XMLを解析するときは、DOMまたはSAXを使用できます。 XMLおよびRSSを生成する場合、要素と属性を正しく設定する必要があります。

XML/RSSからJSONまで:最新のデータ変換戦略XML/RSSからJSONまで:最新のデータ変換戦略Apr 05, 2025 am 12:08 AM

Pythonを使用して、XML/RSSからJSONに変換します。 1)解析データ、2)フィールドを抽出する、3)JSONに変換、4)出力JSON。 XML.Etree.ElementTreeおよびFeedParserライブラリを使用してXML/RSSを解析し、JSONライブラリを使用してJSONデータを生成します。

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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

メモ帳++7.3.1

メモ帳++7.3.1

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

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン