DTD-Elemente




XML-Elemente können als Bausteine ​​eines XML-Dokuments definiert werden. Elemente können verhalten als Container zu halten Text, Elemente, Attribute, Medien oder Gegenstände Mischung aus all.

Ein DTD-Element ist mit einer Element-Deklaration deklariert. Wenn eine XML-Datei wird von DTD validiert, prüft zunächst Parser für das Root-Element und dann die untergeordneten Elemente geprüft werden.

Syntax

Alle DTD Elementdeklarationen haben diese allgemeine Form:

<!ELEMENT elementname (content)>
  • ELEMENT Erklärung wird verwendet, um anzugeben den Parser, die Sie sind über zu definieren ein Element.

  • Elementname ist der Elementname (auch als generische Kennung ) dass Sie sind definieren.

  • Inhalt definiert, welche Inhalte (falls vorhanden) können innerhalb des Elements zu gehen.

Element Inhaltstypen

Inhalt von Elementen Erklärung in einer DTD kann wie folgt kategorisiert werden:

  • Leer Inhalt

  • Elementinhalt

  • Mixed Inhalt

  • Jeder Inhalt

Leer Inhalt

Das ist ein Spezialfall der Element-Deklaration. Dieses Element Erklärung werden nicht jeder Inhalte enthalten. Diese werden mit dem Schlüsselwort erklärt LEER.

Syntax

Folgende ist die Syntax für leere Element-Deklaration:

<!ELEMENT elementname EMPTY >

In der oben genannten Syntax:

  • ELEMENT ist das Element Erklärung von Kategorie LEER

  • elementname ist der Name des Elements leer.

Beispiel

Folgende ist ein einfaches Beispiel zeigt leere Element-Deklaration:

<?xml version="1.0"?>
<!DOCTYPE hr[
   <!ELEMENT address EMPTY>    
]>
<address />

In diesem BeispielAdresse wird als leeres Element deklariert. Das Markup für Adresse Element würde scheint wie <Adresse />.

Element-Inhalt

Element-Deklaration mit Element-Inhalt, der Inhalt würde zulässige Elemente in Klammern sein. Wir können auch mehr als ein Element.

Syntax

Folgende ist eine Syntax der Elementdeklaration mit Element-Inhalt:

<!ELEMENT elementname (child1, child2...)>
  • ELEMENT ist der Element-Deklaration Tag.

  • elementname ist der Name des Elements.

  • child1, child2. sind die Elemente, und jedes Element muss haben seine eigene Definition innerhalb der DTD.

Beispiel

Unten beispiel zeigt ein einfaches beispiel für Element-Deklaration mit Element-Inhalt:

<?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>

Im obigen Beispiel, Adresse ist das übergeordnete Element und name, Unternehmen und phone_no sind seine Kinder Elemente.

Liste der Operatoren und Syntaxregeln

unten tabelle zeigt die Liste der Operatoren und Syntaxregeln, die bei der Definition von untergeordneten Elemente angewendet werden kann:

Betreiber Syntax Beschreibung Beispiel
+ <!ELEMENT Element-Namen (child1 +)> Es zeigt, dass Kind-Element kann ein oder mehrere Male innen geordneten Element auftreten. <!ELEMENT-Adresse (Name +)>

Kind-Element name kann einmal oder mehrmals innen der Elementnamen auftreten Adresse.

* <!ELEMENT Element-Namen (child1 *)> Es zeigt, dass Kind-Element kann auftreten null oder mehrere Male innen geordneten Element. <!ELEMENT-Adresse (Name *)>

Kind-Element name kann null oder mehrere Male innen der Elementnamen auftreten Adresse.

? <!ELEMENT Element-Namen (child1?) > Es zeigt, dass Kind-Element kann keine oder eine Zeit in Elternelement auftreten. <!ELEMENT-Adresse (Name?) >

Kind-Elementname kann auftreten, null oder ein Mal in der ElementnameAdresse.

, <!ELEMENT Element-Namen (child1, child2)> es gibt Sequenz der Kindelemente durch Komma getrennt, welche in der Elements-Namen enthalten sein müssen. <! ELEMENT-Adresse (Name, Firma) >

Sequenz der untergeordneten Elemente name, Unternehmen, welche in der gleichen Reihenfolge innen der Elementnamen auftreten müssen Adresse.

| <!ELEMENT Element-Namen (child1 | child2)> Es ermöglicht, Entscheidungen zu treffen in der Kind-Element. <!ELEMENT-Adresse (Name | Firma) >

Es ermöglicht Ihnen, wählen entweder der untergeordneten Elemente, dh name oder Unternehmen, welche muss auftreten innen in der Elementname Adresse.

Regeln

Wir müssen bestimmte Regeln zu befolgen, wenn es mehr als ein Element Inhalt:

  • Sequenzen - Oft sind die Elemente innerhalb DTD-Dokumente müssen in einer deutlichen Reihenfolge erscheinen. Wenn dies der Fall ist,Sie definieren der Inhalt unter Verwendung einer Sequenz festlegen. Zum Beispiel:

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

    Die Erklärung zeigt, dass der <Adresse > Element muss genau drei Kinder haben<Namen>, <Unternehmen>, und <Telefon> - Und dass sie in dieser Reihenfolge erscheinen.

  • Wahl: Angenommen, Sie benötigen, um die eine oder andere Element, aber nicht beides ermöglichen. in solchen Fällen Sie müssen zu verwenden die Pipe (|) Zeichen. Die Rohr Funktionen als exklusive OR. Zum Beispiel:

    <!ELEMENT address (mobile | landline)>
    

Mixed Element-Inhalt

Das ist die Kombination von (#PCDATA) und Kinder-Elemente. PCDATA steht für analysierte Zeichendaten, dh Text, der nicht Markup ist. Innerhalb gemischten Content-Modelle, Text von selbst erscheinen, oder es kann zwischen den Elementen durchsetzt sein. Die Regeln für gemischte Inhalte Modelle sind ähnlich wie die Element-Inhalt, wie im vorherigen Abschnitt diskutiert.

Syntax

Folgende ist eine generische Syntax für Mischelementgehalt:

<!ELEMENT elementname (#PCDATA|child1|child2)*>
  • ELEMENT ist der Element-Deklaration Tag.

  • elementname ist der Name des Elements.

  • PCDATA ist der Text, der nicht Markup ist. #PCDATA Muss zu kommen zunächst in der gemischten Inhalt Erklärung.

  • child1, child2. sind die Elemente, und jedes Element muss seine eigene Definition in der DTD .

  • Der Betreiber (*) müssen das gemischte Inhalte Erklärung folgen, wenn Kinder Elemente sind enthalten.

  • Die (#PCDATA) und Kinder Elementdeklarationen müssen von der getrennt werden (|) Betreiber .

Beispiel

Folgende ist ein einfaches Beispiel zeigt die gemischte Inhalte Element-Deklaration in einer DTD.

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE address [
   <!ELEMENT address (#PCDATA|name)*>
   <!ELEMENT name (#PCDATA)>
 
]>
<address>
   Here's a bit of text mixed up with the child element.
   <name>Tanmay Patil</name>
</address>

JEDER Element-Inhalt

Sie können ein Element mit dem Schlüsselwort ANY in den Inhalt zu erklären. Es wird häufig als Misch Kategorie Element bezeichnet. ANY ist nützlich, wenn Sie noch die zulässigen Inhalt des Elements entscheiden.

Syntax

Folgende ist die Syntax für die Deklaration von Elementen mit jedem Inhalt:

<!ELEMENT elementname ANY>

Hier das Schlüsselwort ANY bedeutet, dass Text (PCDATA) und / oder alle Elemente in der DTD deklariert sind, können innerhalb der Inhalt der verwendet werden <elementname> element. Sie können in beliebiger Reihenfolge beliebig oft verwendet werden. Allerdings ist das Schlüsselwort ANY nicht zulassen, dass Sie Elemente, die nicht in der DTD deklariert werden, gehören.

Beispiel

Folgende ist ein einfaches Beispiel zeigt die Element-Deklaration mit jedem Inhalt:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE address [
   <!ELEMENT address ANY>
]>
<address>
  Here's a bit of sample text
</address>
Advertisements