DTD-Attribute



In diesem Kapitel werden wir diskutieren über DTD Attribute. Attribut gibt weitere Informationen zu einem Element oder genauer er eine Eigenschaft eines Elements definiert. Eine XML-Attribut ist immer in der Form eines Name-Wert-Paar. Ein Element kann eine beliebige Anzahl von einzigartigen Eigenschaften haben.

Attribut Erklärung ist sehr ähnlich zu Elementdeklarationen in vielerlei Hinsicht eine Ausnahme; Statt zu erklären zulässige Inhalte für Elemente, erklären Sie, eine Liste der zulässigen Attribute für jedes Element. Diese Listen werden ATTLIST Erklärung genannt.

Syntax

Grundlagen der Syntax von DTD-Attribute Erklärung lautet wie folgt:

<!ATTLIST element-name attribute-name attribute-type attribute-value>

In der obigen Syntax

  • The DTD attributes begin with<!ATTLIST Schlüsselwort ein, wenn das Element das Attribut enthält.

  • -Element-Namen gibt den Namen des Elements, dem das Attribut gilt.

  • Attribut-Namen gibt den Namen des Attributs, die mit dem Element-Namen enthalten ist.

  • Attribut-Typ definiert die Art der Attribute. Wir werden mehr dazu in den folgenden Abschnitten diskutieren.

  • Attribut-Wert nimmt einen festen Wert, dass die Attribute definieren müssen. Wir werden mehr dazu in den folgenden Abschnitten diskutieren.

Beispiel

unten ist ein einfaches Beispiel für Attribut-Deklaration in DTD:

<?xml version = "1.0"?>
<!DOCTYPE address [
<!ELEMENT address ( name )>
<!ELEMENT name ( #PCDATA )>
<!ATTLIST name id CDATA #REQUIRED>
 ]>
<address>
   <name id="123">Tanmay Patil</name>
</address>

Lassen Sie uns durch den obigen Code zu gehen:

  • Beginnen Sie mit der XML-Deklaration mit folgender Erklärung:

    <?xml version = "1.0"?>
    
  • Unmittelbar folgende die XML-Header wird die Dokumenttyp-Deklaration, die allgemein als die DOCTYPE:

    <!DOCTYPE address [
    

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

  • folgende ist Leib DTD. Hier haben wir erklärt haben, Elemente und Attribute:

  • <!ELEMENT address ( name )>
    <!ELEMENT name ( #PCDATA )>
    
  • Attribut id für das Element name definiert ist als:

    <!ATTLIST name id CDATA #REQUIRED>
    

    Hier Attributtyp Ist CDATA und sein Wert ist #REQUIRED.

Regeln von Attribut-Deklaration

  • Alle Attribute in einem XML-Dokument verwendet, müssen in der Document Type Definition (DTD) unter Verwendung deklariert werden eine Attributlisten-Deklaration

  • Attribute können nur in Start oder leere Tags angezeigt.

  • Das schlüsselwort ATTLIST müssen sein in Großbuchstaben sein se

  • erlaubt innerhalb

Attributtypen

wenn erklärt Attribute können Sie festlegen, wie der Prozessor sollte die Daten, die in dem Wert erscheint behandeln. Wir können Attributtypen in drei Hauptkategorien einordnen:

  • String Typ

  • tokenized Typ

  • Aufzählungstypen

Die folgende Tabelle bietet eine Zusammenfassung der verschiedenen Attributtypen:

Typ Beschreibung
CDATA CDATA Zeichendaten (Text und nicht-Markup). Es ist ein String Attribut Typ.
ID Es ist eine eindeutige Kennzeichnung des Attributs. Es sollte nicht mehr als einmal erscheinen. Es ist ein Tokenized Attribut Typ.
IDREF Es wird verwendet, um eine ID eines anderen Elements zu verweisen. Es wird verwendet, um Verbindungen zwischen Elementen herzustellen. Es ist ein Tokenized Attribut Typ.
IDREFS Es wird verwendet zu verweisen mehrfache IDs. Es ist ein Tokenized Attribut Typ.
ENTITY Es repräsentiert eine externe Einheit in dem Dokument. Es ist einTokenized Attribut Typ.
ENTITIES Es repräsentiert eine Liste von externen entities im Dokument. Es ist ein Tokenized Attribut Typ.
NMTOKEN Es ist ähnlich wie CDATA und der Attributwert besteht von einem gültigen XML-Namen. Es ist ein Tokenized Attribut Typ.
NMTOKENS Es ist ähnlich wie CDATA und der Attributwert besteht von Liste von gültigen XML-Namen. Es ist ein Tokenized Attribut Typ.
NOTATION Ein Element wird zu einer Notation in der DTD-Dokument erklärt referenziert werden. Es ist eine Aufzählungs Attribut Type.
Enumeration Es ermöglicht definieren die eine bestimmte Liste von Werte wo einer der Werte übereinstimmen muss. Es ist eine Aufzählungs Attribut Typ.

Attribut Wert Erklärung

In jedem Attribut-Deklaration, müssen Sie angeben, wie der Wert wird im Dokument angezeigt. Sie können angeben, wenn Sie ein Attribut:

  • kann einen Standardwert haben

  • kann einen festen Wert haben

  • erforderlich

  • wird angedeutet

Standardwerte

Es enthält den Standardwert. Die Werte können eingeschlossen in einfache Anführungszeichen (') oder doppelte Anführungszeichen (")

Syntax

folgende ist die Syntax-Wert::

<!ATTLIST element-name attribute-name attribute-type "default-value">

wo Standardwerte ist die Attributwert definierte.

Beispiel

folgende ein einfaches Beispiel für Attribut-Deklaration mit Default-Wert:

<?xml version = "1.0"?>
<!DOCTYPE address [
<!ELEMENT address ( name )>
<!ELEMENT name ( #PCDATA )>
<!ATTLIST name id CDATA "0">
 ]>
<address>
   <name id="123">
      Tanmay Patil
   </name>
</address>

In diesem Beispiel haben wir name Element mit dem Attribut id dessen Standardwert ist 0. Der Standardwert wird innerhalb der Anführungszeichen worden.

Festwerte

#FIXED Schlüsselwort, gefolgt von der Festwert wird verwendet, wenn Sie angeben, dass der Attributwert ist konstant und kann nicht geändert werden soll. Eine gemeinsame Nutzung von festen Attribut ist die Angabe Versionsnummern.

Syntax

Folgende ist die Syntax von Festwerten:

<!ATTLIST element-name attribute-name attribute-type #FIXED "value" >

wo #FIXED ist ein Attribut-Wert definiert.

Beispiel

folgende ein einfaches Beispiel für Attribut-Deklaration mit Festwert:

<?xml version="1.0"?>
<!DOCTYPE address [
  <!ELEMENT address (company)*>
  <!ELEMENT company (#PCDATA)>
  <!ATTLIST company name NMTOKEN #FIXED "tutorialspoint">
]>
<address>
  <company name="tutorialspoint">we are a free online teaching faculty</company>
</address>

In diesem Beispiel haben wir das Stichwort #FIXED, wo es zeigt, dass der Wert "tutorialspoint" ist der einzige Wert für das Attribut verwendetname von Element <Unternehmen >. Wenn wir versuchen, den Attributwert dann ändern Sie es gibt einen Fehler.

folgende ist ein ungültiges DTD:

<?xml version="1.0"?>
<!DOCTYPE address [
  <!ELEMENT address (company)*>
  <!ELEMENT company (#PCDATA)>
  <!ATTLIST company name NMTOKEN #FIXED "tutorialspoint">
]>
<address>
  <company name="abc">we are a free online teaching faculty</company>
</address>

geforderten Werte

wann auch immer Sie möchten angeben dass ein Attribut erforderlich ist, verwenden #REQUIRED Schlüsselwort.

Syntax

Folgende ist die Syntax der #REQUIRED:

<!ATTLIST element-name attribute-name attribute-type #REQUIRED>

wo #REQUIRED ist ein Attribut Typ definiert.

Beispiel

folgende ist ein einfaches Beispiel für DTD Attributdeklaration mit #REQUIRED Stichwort:

<?xml version = "1.0"?>
<!DOCTYPE address [
<!ELEMENT address ( name )>
<!ELEMENT name ( #PCDATA )>
<!ATTLIST name id CDATA #REQUIRED>
 ]>
<address>
   <name id="123">
      Tanmay Patil
   </name>
</address>

n diesem Beispiel haben wir #REQUIRED Schlüsselwort verwendet, um anzugeben, dass das Attribut id muss zur Verfügung gestellt werden für das Element-name name

IMPLIZIT Werte

Wenn der Deklaration Attribute müssen Sie immer einen Wert Erklärung. Wenn das Attribut, erklären Sie keinen Standardwert hat, hat keinen festen Wert, und ist nicht verpflichtet, müssen Sie erklären, dass das Attribut als impliziert. Stichwort #IMPLIED wird verwendet, um ein Attribut als angeben impliziert.

Syntax

folgende ist die Syntax der #IMPLIED:

<!ATTLIST element-name attribute-name attribute-type #IMPLIED>

wo #IMPLIED ist ein Attribut Typ definiert.

Beispiel

folgende ist ein einfaches Beispiel für #IMPLIED

<?xml version = "1.0"?>
<!DOCTYPE address [
<!ELEMENT address ( name )>
<!ELEMENT name ( #PCDATA )>
<!ATTLIST name id CDATA #IMPLIED>
 ]>
<address>
   <name />
</address>

In diesem Beispiel haben wir das Schlüsselwort verwendet #IMPLIED wie wir wollen nicht alle Attribute angeben in Element enthalten seinname. Es ist optional.

Advertisements