ホームページ  >  記事  >  バックエンド開発  >  XML での DTD ドキュメント タイプ定義の詳細な紹介

XML での DTD ドキュメント タイプ定義の詳細な紹介

黄舟
黄舟オリジナル
2017-03-10 19:32:352088ブラウズ

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

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

構文

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

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

上記の構文では:

DTD は 3210018e937a09882bdde4fa1a2591b8 ドキュメント ボキャブラリーを介して多くの要素が宣言されます。 07c182a8bf130ca504f1d62d73af6463 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 で宣言する必要があります)
構文: f74538e2c5ab9cc9e1485f4af5f6e7ab および 047571b59e183dde10b21edd7ce474c7これら 2 つのメソッド
4b67aeeb736493cdbe573850848c6744

例:

<!ELEMENT br EMPTY>

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

<br/>

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

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

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

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