XML - DTDs


Advertisements

Die XML-Dokumenttyp-Deklaration, die gemeinhin als DTD bekannt ist, ist ein Weg, um XML-Sprache genau zu beschreiben. DTDs überprüfen Wortschatz und die Gültigkeit der Struktur von XML-Dokumenten gegen grammatischen Regeln der angemessen XML-Sprache.

Ein XML-DTD kann entweder innen Dokument angegeben werden, oder es kann in einem separaten Dokument behalten und dann separat mochte.

Syntax

Grundlagen der Syntax einer DTD ist wie folgt:

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

In der obigen Syntax,

  • Das DTD startet mit <!DOCTYPE delimiter.

  • Ein element erzählt die Parser, um das Dokument aus dem angegebenen Wurzelelement zu analysieren.

  • DTD-Kennung ist eine Kennung für die Dokumenttyp-Definition, die den Pfad zu einer Datei auf dem System oder URL zu einer Datei auf dem Internet sein kann. Wenn die DTD an externe Weg zeigt, es ist namens Externe Subset.

  • Die eckigen Klammern [ ] umschließen eine optionale Liste von Entity-Deklarationen genannt Interne Subset.

Interne DTD

Eine DTD wird als interne DTD bezeichnet, wenn Elemente innerhalb den XML-Dateien erklärt. Um es als interne DTD verweisen, standalone Attribut im XML-Deklaration muss mit eingestellt werden, ja. Das bedeutet, die Erklärung funktioniert unabhängig von externen Quelle.

Syntax

Die Syntax der internen DTD ist wie folgt:

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

wo root-element ist der Name des Wurzelelements und Element-Deklarationen ist, wo Sie die Elemente zu erklären.

Beispiel

Es folgt ein einfaches Beispiel für interne 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>Howcodex</company>
   <phone>(011) 123-4567</phone>
</address>

Lassen Sie uns durch den obigen Code gehen:

Erklärung Start - Beginnen Sie die XML-Deklaration mit folgender Aussage

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

DTD - Unmittelbar nach dem XML-Header, die Dokumenttyp-Deklaration folgt, die gemeinhin als der DOCTYPE bezeichnet:

<!DOCTYPE address [

Die DOCTYPE-Deklaration mit einem Ausrufezeichen (!) Zu Beginn der Elementname. Die DOCTYPE informiert den Parser, der eine DTD mit diesem XML-Dokument verbunden.

DTD Körper - Die DOCTYPE-Deklaration wird durch Körper der DTD, in dem Sie Elemente, Attribute, Entitäten und Notationen erklären gefolgt:

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

Mehrere Elemente werden hier erklärt, die den Wortschatz von der<name> Dokument. <!ELEMENT name (#PCDATA)> definiert das Element name vom Typ "#PCDATA". Hier #PCDATA bedeutet analysieren können Textdaten.

Ende Erklärung - Schließlich wird die Deklarationsteil der DTD ist geschlossen unter Verwendung einer schließenden Winkelträger und eine Schließwinkel Winkelträger. (]>).Damit effektiv endet der Definitionen, und nach dort, das XML-Dokument folgt unmittelbar.

Regeln

  • Die Dokumenttyp-Deklaration muss am Anfang des Dokuments (nur durch den XML-Header vorangestellt) angezeigt. Es ist nicht erlaubt irgendwo anders innerhalb im Dokument.

  • Ähnlich wie bei der DOCTYPE-Deklaration, die Element-Deklarationen müssen mit einem Ausrufezeichen beginnen.

  • Der Name in der Dokumenttyp-Deklaration muss mit dem Elementtyp des Wurzelelements entsprechen.

Externe DTD

In externe DTD Elemente sind außerhalb der XML-Datei deklariert. Sie werden durch die Angabe der Systemattribute zugegriffen, welche kann sind entweder die Rechts - .dtd Datei oder eine gültige URL sein kann. Um es als externe DTD verweisen, standalone Attribut in der XML-Deklaration muss set als nicht. Das bedeutet, Erklärung beinhaltet Informationen aus der externen Quelle.

Syntax

Es folgt die Syntax für externe DTD:

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

woDatei-Namen ist die Datei mit .dtd Erweiterung.

Beispiel

Das folgende Beispiel zeigt externe DTD Nutzung:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<!DOCTYPE address SYSTEM "address.dtd">
<address>
  <name>Tanmay Patil</name>
  <company>Howcodex</company>
  <phone>(011) 123-4567</phone>
</address>

Der Inhalt der DTD-Datei address.dtd sind wie gezeigt:

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

Typen

Sie können zu einer externen DTD mithilfe beziehen entweder SystemKennungen oder öffentlichen Kennungen.

SystemKennungen

Ein SystemKennungen ermöglichen Sie zu angeben den Speicherort einer externen Datei mit DTD-Deklarationen. Syntax ist wie folgt:

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

Wie Sie sehen können, es enthält Stichwort System und eine URI-Referenz Ausfugung zu den Speicherort des Dokuments.

öffentlichen Bezeichner

Öffentlichen Kennungen stellt einen Mechanismus zu lokalisieren DTD ressourcen und sind geschrieben als unten:

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

Wie Sie sehen können, beginnt sie mit dem Schlüsselwort PUBLIC, gefolgt von einem spezialisierten Identifizierer. Öffentlichen Kennungen verwendet werden, um einen Eintrag in einem Katalog zu identifizieren. Öffentlichen Bezeichner können jedes Format zu folgen, jedoch ist eine häufig verwendete Format namens Formal öffentlichen Bezeichner oder FPI.

Advertisements