In diesem Artikel wird hauptsächlich die DTD-Dokumenttypdefinition in XML vorgestellt. Dabei handelt es sich um das Grundwissen für den Einstieg in das Erlernen von XML. Freunde in Not können sich auf die XML-Dokumenttypdefinition beziehen, die allgemein als DTD bekannt ist a Beschreiben Sie genau, wie die XML-Sprache verwendet wird. DTDs prüfen die Gültigkeit des Vokabulars und der Struktur eines XML-Dokuments anhand der Syntaxregeln der entsprechenden XML-Sprache.
XML-DTD kann innerhalb des Dokuments angegeben oder in einem separaten Dokument gespeichert und separat verknüpft werden.
SyntaxDie grundlegende Syntax von DTD lautet wie folgt:
<!DOCTYPE element DTD identifier [ declaration1 declaration2 ........ ]>
In der obigen Syntax:
DTD Beginnt mit dem Trennzeichen -Element wird verwendet, um den Parser anzuweisen, mit der Analyse des Dokuments ab dem angegebenen Stammelement zu beginnen.
DTD-Kennung ist eine Kennung, die zur Definition des Dokumenttyps verwendet wird. Es kann sich um einen Pfad handeln, der auf eine Datei im System verweist, oder um eine URL, die eine Verbindung zu einer Datei im Internet herstellt. Wenn die DTD auf einen externen Pfad zeigt, wird sie als externe Teilmenge bezeichnet. Innerhalb von _[] befindet sich eine optionale Liste von Entitätsdeklarationen, die als innere Teilmenge bezeichnet wird. <br/><br/>Interne DTD<br/>Wenn ein Element in einem XML-Dokument deklariert wird, wird die DTD als interne DTD bezeichnet. Damit diese als interne DTD verwendet werden kann, muss das Standalone-Attribut in der XML-Deklaration auf „yes“ gesetzt werden. Dies bedeutet, dass das beanspruchte Werk unabhängig von externen Quellen ist. <br/>
SyntaxDie interne DTD-Syntax lautet wie folgt:
<!DOCTYPE root-element [element-declarations]>
Hier ist root-element der Name von Das Wurzelelement, Elementdeklarationen repräsentieren die Elemente, die wir deklarieren.
BeispielHier ist ein einfaches Beispiel einer internen 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>
Werfen wir einen Blick auf die Code oben:
Deklaration starten – Starten Sie die XML-Deklaration mit der folgenden Anweisung:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
DTD – Unmittelbar nach dem XML-Header lautet die _Dokumenttypdeklaration_ wie folgt folgt, normalerweise DOCTYPE genannt:
DOCTYPE-Deklaration enthält ein Ausrufezeichen (!) am Anfang des Elementnamens. DOCTYPE teilt dem Parser mit, dass diesem Dokument eine DTD zugeordnet ist.
<br/>DTD-Körper – Auf die DOCTYPE-Deklaration folgt der DTD-Körper, hier deklarieren wir Elemente, Attribute, Entitäten und Symbole:
<!ELEMENT address (name,company,phone)> <!ELEMENT name (#PCDATA)> <!ELEMENT company (#PCDATA)> <!ELEMENT phone_no (#PCDATA)>
Viele Elemente werden hier übergeben< ;Name> Deklaration des Dokumentvokabulars. definiert element_name_ als Typ „#PCDATA“. Hier bedeutet #PCDATA analysierbare Textdaten.
Deklaration beenden – Abschließend wird der Deklarationsteil der DTD mit eckigen und spitzen Klammern (]>) geschlossen. Dies ist eine gültige Abschlussdefinition, unmittelbar gefolgt vom Inhalt des XML-Dokuments.
RegelnDie Dokumenttypdeklaration muss am Anfang des Dokuments stehen (nur zuerst mit dem XML-Header) und darf an keiner anderen Stelle im Dokument erscheinen .
Ähnlich wie DOCTYPE-Deklarationen müssen Elementdeklarationen mit einem Ausrufezeichen beginnen.Der Name in der Dokumenttypdeklaration muss mit dem Typ des Stammelements übereinstimmen. <br/><br/>Externe DTD<br/>In einer externen DTD werden Elemente außerhalb des XML-Dokuments deklariert. Der Zugriff erfolgt durch Angabe des Systemattributs, bei dem es sich um eine gültige .dtd-Datei oder eine gültige URL handeln kann. Um anzuzeigen, dass es sich um eine externe DTD handelt, muss das Standalone-Attribut der XML-Deklaration auf „no“ gesetzt werden. Dies bedeutet, dass die Erklärung Informationen aus einer externen Quelle enthält. <br/>
SyntaxDas Folgende ist die Syntax der externen DTD:
Hier ist Dateiname die Datei mit der Erweiterung .dtd.<!DOCTYPE root-element SYSTEM "file-name">
<br/>Beispiel
Das folgende Beispiel zeigt die Verwendung einer externen 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)>
Wir können auf eine externe DTD verweisen, indem wir eine Systemkennung oder eine öffentliche Kennung verwenden.
System-IDMit der System-ID können wir den Speicherort einer externen Datei angeben, die die DTD-Deklaration enthält. Die Syntax lautet wie folgt:
<!DOCTYPE name SYSTEM "address.dtd" [...]>
Wie wir sehen können, enthält sie das Schlüsselwort SYSTEM und eine URI-Referenz, die auf den Speicherort des Dokuments verweist.
Öffentliche KennungDie öffentliche Kennung bietet einen Mechanismus zum Auffinden von DTD-Ressourcen. Sie lautet wie folgt:
<!DOCTYPE name PUBLIC "-//Beginning XML//DTD Address Example//EN">
Wie wir sehen können, beginnt es mit dem Schlüsselwort PUBLIC, gefolgt von der speziellen Kennung. Öffentliche Identifikatoren werden verwendet, um Einträge im Verzeichnis zu identifizieren. Öffentliche Bezeichner können jedem Format folgen, ein häufig verwendetes Format sind jedoch formale öffentliche Bezeichner (oder FPIs).
Elemente deklarierenElemente in dtd deklarieren (in einer XML muss ein Element, wenn es legal sein soll, in dtd deklariert werden)<br/> Syntax:< ;! ELEMENT Elementname Kategorie> und beide Methoden <br/><br/>Zum Beispiel:
<!ELEMENT br EMPTY>
Dann kann XML wie folgt geschrieben werden:
<br/>
注意点
在dtd中
所有的 XML 文档(以及 HTML 文档)均由以下简单的构建模块构成:
元素
属性
实体
PCDATA
CDATA
下面是一些注意点:
(1)实体是用来定义普通文本的变量。实体引用是对实体的引用。
大多数同学都了解这个 HTML 实体引用:" "。这个“无折行空格”实体在 HTML 中被用于在某个文档中插入一个额外的空格。
当文档被 XML 解析器解析时,实体就会被展开。
(2) PCDATA
PCDATA 的意思是被解析的字符数据(parsed character data)。
可把字符数据想象为 XML 元素的开始标签与结束标签之间的文本。
PCDATA 是会被解析器解析的文本。这些文本将被解析器解析成实体以及标记。
文本中的标签会被当作标记来处理,而实体会被展开。
不过,被解析的字符数据不应当包含任何 &、< 或者 > 字符;需要使用 &、< 以及 > 实体来分别替换它们。
(3)CDATA
CDATA 的意思是字符数据(character data)。
CDATA 是不会被解析器解析的文本。在这些文本中的标签不会被当作标记来对待,其中的实体也不会被展开。
Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die DTD-Dokumenttypdefinition in XML. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!