XMLはタグをカスタマイズできるため、各人が定義するタグのセットは異なります。タグの定義原則を規定するための標準セットが存在しない場合、アプリケーションはXMLドキュメントを処理できません。この問題を解決するのがDTD、DTD (Document Type Definition、文書型定義) であり、XML 文書の記述規則を定義するために使用されます。ドキュメント内にどの要素を含めることができるか、要素のコンテンツと属性の要件など。アプリケーションはこの DTD を使用してドキュメントをチェックします。DTD 制約ルールに準拠する XML ドキュメントは有効なドキュメントと呼ばれ、次のステップで処理できます。それ以外の場合、アプリケーションはエラーを報告し、対応する処理を実行します。 例外処理。検証プロセスはオプションであり、特定のアプリケーションによって異なります。
文書型宣言 有効性テストに DTD を使用するには、文書型定義宣言を使用して DTD を指定する必要があります。例:
<?xml version="1.0" standalone="no"?> <!DOCTYPE portal SYSTEM > <portal> <name>Jims</name> <email>Jims@163.com</email> <email>Jims@21cn.com</email> </portal>
文書型宣言は、XML 宣言の後、ルート要素の前に配置されます。 dtd ファイルがローカル マシン上にある場合は、パス名を使用して dtd ファイルの場所を直接示すことができます。 portal.dtd の内容は次のとおりです。
<!ELEMENT portal (name,email*)> <!ELEMENT name (#PCDATA)> <!ELEMENT email (#PCDATA)>
上記の内容は、次のように XML ドキュメントに直接書き込むこともできます。この dtd 宣言メソッドは、内部 dtd サブセットと呼ばれます。 dtd は XML ドキュメントの外側にあり、外部 dtd サブセットと呼ばれます。内部 DTD と外部 DTD を組み合わせて DTD を形成し、XML ドキュメントを検証できます。例:
<?xml version="1.0" standalone="no"?> <!DOCTYPE portal [<!ELEMENT portal (name,email*)><!ELEMENT name (#PCDATA)><!ELEMENT email (#PCDATA)>]> <portal> <name>Jims</name> <email>Jims@163.com</email> <email>Jims@21cn.com</email> </portal>
内部 dtd と外部 dtd を使用する場合、2 つの dtd は相互に互換性があり、競合してはいけないことに注意してください。
以上がXML文書型宣言の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。