XML - Kurzanleitung

XML steht für Edehnbar MArkup LSprache. Es ist eine textbasierte Auszeichnungssprache, die von der Standard Generalized Markup Language (SGML) abgeleitet ist.

XML-Tags identifizieren die Daten und werden zum Speichern und Organisieren der Daten verwendet, anstatt anzugeben, wie sie wie HTML-Tags angezeigt werden sollen, mit denen die Daten angezeigt werden. XML wird HTML in naher Zukunft nicht ersetzen, bietet jedoch neue Möglichkeiten, indem es viele erfolgreiche Funktionen von HTML übernimmt.

Es gibt drei wichtige Merkmale von XML, die es in einer Vielzahl von Systemen und Lösungen nützlich machen:

  • XML is extensible - Mit XML können Sie Ihre eigenen selbstbeschreibenden Tags oder Sprachen erstellen, die zu Ihrer Anwendung passen.

  • XML carries the data, does not present it - Mit XML können Sie die Daten unabhängig von ihrer Darstellung speichern.

  • XML is a public standard - XML ​​wurde von einer Organisation namens World Wide Web Consortium (W3C) entwickelt und ist als offener Standard verfügbar.

XML-Verwendung

Eine kurze Liste der XML-Nutzung sagt alles -

  • XML kann hinter den Kulissen arbeiten, um die Erstellung von HTML-Dokumenten für große Websites zu vereinfachen.

  • XML kann zum Austausch von Informationen zwischen Organisationen und Systemen verwendet werden.

  • XML kann zum Auslagern und Neuladen von Datenbanken verwendet werden.

  • XML kann zum Speichern und Anordnen der Daten verwendet werden, wodurch Ihre Datenverarbeitungsanforderungen angepasst werden können.

  • XML kann einfach mit Stylesheets zusammengeführt werden, um nahezu jede gewünschte Ausgabe zu erstellen.

  • Praktisch jede Art von Daten kann als XML-Dokument ausgedrückt werden.

Was ist Markup?

XML ist eine Auszeichnungssprache, die Regeln für die Codierung von Dokumenten in einem Format definiert, das sowohl für Menschen als auch für Maschinen lesbar ist. Also was genau ist eine Markup - Sprache? Markup ist eine Information, die einem Dokument hinzugefügt wird und dessen Bedeutung auf bestimmte Weise erweitert wird, indem die Teile und ihre Beziehung zueinander identifiziert werden. Insbesondere ist eine Auszeichnungssprache eine Reihe von Symbolen, die in den Text eines Dokuments eingefügt werden können, um die Teile dieses Dokuments abzugrenzen und zu kennzeichnen.

Das folgende Beispiel zeigt, wie XML-Markup aussieht, wenn es in einen Text eingebettet ist.

<message>
   <text>Hello, world!</text>
</message>

Dieses Snippet enthält die Markup-Symbole oder die Tags wie <message> ... </ message> und <text> ... </ text>. Die Tags <message> und </ message> markieren den Anfang und das Ende des XML-Codefragments. Die Tags <text> und </ text> umgeben den Text Hallo, Welt!.

Ist XML eine Programmiersprache?

Eine Programmiersprache besteht aus Grammatikregeln und einem eigenen Vokabular, mit dem Computerprogramme erstellt werden. Diese Programme weisen den Computer an, bestimmte Aufgaben auszuführen. XML ist keine Programmiersprache, da keine Berechnungen oder Algorithmen ausgeführt werden. Es wird normalerweise in einer einfachen Textdatei gespeichert und von einer speziellen Software verarbeitet, die XML interpretieren kann.

In diesem Kapitel werden die einfachen Syntaxregeln zum Schreiben eines XML-Dokuments erläutert. Es folgt ein vollständiges XML-Dokument -

<?xml version = "1.0"?>
<contact-info>
   <name>Tanmay Patil</name>
   <company>TutorialsPoint</company>
   <phone>(011) 123-4567</phone>
</contact-info>

Im obigen Beispiel gibt es zwei Arten von Informationen:

  • Markup wie <Kontaktinfo>

  • Der Text oder die Zeichendaten, Tutorials Point und (040) 123-4567 .

Das folgende Diagramm zeigt die Syntaxregeln zum Schreiben verschiedener Arten von Markups und Texten in ein XML-Dokument.

Lassen Sie uns jede Komponente des obigen Diagramms im Detail sehen.

XML-Deklaration

Das XML-Dokument kann optional eine XML-Deklaration enthalten. Es ist wie folgt geschrieben -

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

Wobei version die XML-Version ist und die Codierung die im Dokument verwendete Zeichencodierung angibt.

Syntaxregeln für die XML-Deklaration

  • Die XML-Deklaration unterscheidet zwischen Groß- und Kleinschreibung und muss mit "beginnen<?xml>" wo "xml"ist in Kleinbuchstaben geschrieben.

  • Wenn das Dokument eine XML-Deklaration enthält, muss es unbedingt die erste Anweisung des XML-Dokuments sein.

  • Die XML-Deklaration muss unbedingt die erste Anweisung im XML-Dokument sein.

  • Ein HTTP-Protokoll kann den Wert der Codierung überschreiben, den Sie in die XML-Deklaration einfügen.

Tags und Elemente

Eine XML-Datei besteht aus mehreren XML-Elementen, die auch als XML-Knoten oder XML-Tags bezeichnet werden. Die Namen der XML-Elemente sind in dreieckigen Klammern <> eingeschlossen, wie unten gezeigt -

<element>

Syntaxregeln für Tags und Elemente

Element Syntax - Jedes XML-Element muss entweder mit Start- oder mit Endelementen geschlossen werden, wie unten gezeigt -

<element>....</element>

oder in einfachen Fällen einfach so -

<element/>

Nesting of Elements- Ein XML-Element kann mehrere XML-Elemente als untergeordnete Elemente enthalten, die untergeordneten Elemente dürfen sich jedoch nicht überlappen. Das heißt, ein End-Tag eines Elements muss denselben Namen haben wie das letzte nicht übereinstimmende Start-Tag.

Das folgende Beispiel zeigt falsche verschachtelte Tags -

<?xml version = "1.0"?>
<contact-info>
<company>TutorialsPoint
</contact-info>
</company>

Das folgende Beispiel zeigt korrekte verschachtelte Tags -

<?xml version = "1.0"?>
<contact-info>
   <company>TutorialsPoint</company>
<contact-info>

Root Element- Ein XML-Dokument kann nur ein Stammelement haben. Das Folgende ist beispielsweise kein korrektes XML-Dokument, da beidex und y Elemente treten auf der obersten Ebene ohne Stammelement auf -

<x>...</x>
<y>...</y>

Das folgende Beispiel zeigt ein korrekt geformtes XML-Dokument -

<root>
   <x>...</x>
   <y>...</y>
</root>

Case Sensitivity- Bei den Namen von XML-Elementen wird zwischen Groß- und Kleinschreibung unterschieden. Das bedeutet, dass der Name des Start- und des Endelements genau im selben Fall sein muss.

Zum Beispiel, <contact-info> unterscheidet sich von <Contact-Info>

XML-Attribute

Ein attributeGibt eine einzelne Eigenschaft für das Element unter Verwendung eines Name / Wert-Paares an. Ein XML-Element kann ein oder mehrere Attribute haben. Zum Beispiel -

<a href = "http://www.tutorialspoint.com/">Tutorialspoint!</a>

Hier href ist der Attributname und http://www.tutorialspoint.com/ ist der Attributwert.

Syntaxregeln für XML-Attribute

  • Bei Attributnamen in XML (im Gegensatz zu HTML) wird zwischen Groß- und Kleinschreibung unterschieden. Das heißt, HREF und href werden als zwei verschiedene XML-Attribute betrachtet.

  • Das gleiche Attribut darf nicht zwei Werte in einer Syntax haben. Das folgende Beispiel zeigt eine falsche Syntax, da das Attribut b zweimal angegeben wird

    - -
<a b = "x" c = "y" b = "z">....</a>
  • Attributnamen werden ohne Anführungszeichen definiert, während Attributwerte immer in Anführungszeichen stehen müssen. Das folgende Beispiel zeigt eine falsche XML-Syntax

    - -
<a b = x>....</a>

In der obigen Syntax wird der Attributwert nicht in Anführungszeichen gesetzt.

XML-Referenzen

Mit Referenzen können Sie normalerweise zusätzlichen Text oder Markup in ein XML-Dokument einfügen oder einfügen. Referenzen beginnen immer mit dem Symbol"&" Das ist ein reserviertes Zeichen und endet mit dem Symbol ";". XML hat zwei Arten von Referenzen -

  • Entity References- Eine Entitätsreferenz enthält einen Namen zwischen dem Start- und dem Endbegrenzer. Zum Beispiel&amp;wo amp ist Name . Der Name bezieht sich auf eine vordefinierte Textfolge und / oder ein Markup.

  • Character References - Diese enthalten Referenzen wie &#65;, enthält eine Raute ("#") gefolgt von einer Zahl. Die Nummer bezieht sich immer auf den Unicode-Code eines Zeichens. In diesem Fall bezieht sich 65 auf das Alphabet "A".

XML-Text

Bei den Namen von XML-Elementen und XML-Attributen wird zwischen Groß- und Kleinschreibung unterschieden. Dies bedeutet, dass der Name von Start- und Endelementen im selben Fall geschrieben werden muss. Um Probleme mit der Zeichenkodierung zu vermeiden, sollten alle XML-Dateien als Unicode-UTF-8- oder UTF-16-Dateien gespeichert werden.

Leerzeichen wie Leerzeichen, Tabulatoren und Zeilenumbrüche zwischen XML-Elementen und zwischen den XML-Attributen werden ignoriert.

Einige Zeichen sind für die XML-Syntax selbst reserviert. Daher können sie nicht direkt verwendet werden. Um sie zu verwenden, werden einige Ersatzentitäten verwendet, die unten aufgeführt sind -

Nicht erlaubter Charakter Ersatzeinheit Charakterbeschreibung
< & lt; weniger als
> & gt; größer als
& &Ampere; Et-Zeichen
' & apos; Apostroph
"" & quot; Anführungszeichen

Ein XML- Dokument ist eine Grundeinheit von XML-Informationen, die aus Elementen und anderen Markups in einem geordneten Paket besteht. Ein XML- Dokument kann eine Vielzahl von Daten enthalten. Zum Beispiel eine Datenbank mit Zahlen, Zahlen, die die Molekülstruktur darstellen, oder eine mathematische Gleichung.

Beispiel für ein XML-Dokument

Ein einfaches Dokument wird im folgenden Beispiel gezeigt -

<?xml version = "1.0"?>
<contact-info>
   <name>Tanmay Patil</name>
   <company>TutorialsPoint</company>
   <phone>(011) 123-4567</phone>
</contact-info>

Das folgende Bild zeigt die Teile des XML-Dokuments.

Dokument Prolog Abschnitt

Document Prologsteht am oberen Rand des Dokuments vor dem Stammelement. Dieser Abschnitt enthält -

  • XML-Deklaration
  • Dokumenttypdeklaration

Weitere Informationen zur XML-Deklaration finden Sie in diesem Kapitel - XML-Deklaration

Abschnitt Dokumentelemente

Document Elementssind die Bausteine ​​von XML. Diese unterteilen das Dokument in eine Hierarchie von Abschnitten, die jeweils einem bestimmten Zweck dienen. Sie können ein Dokument in mehrere Abschnitte unterteilen, damit sie unterschiedlich gerendert oder von einer Suchmaschine verwendet werden können. Die Elemente können Container mit einer Kombination aus Text und anderen Elementen sein.

Weitere Informationen zu XML-Elementen finden Sie in diesem Kapitel - XML-Elemente

Dieses Kapitel behandelt die XML-Deklaration im Detail. XML declarationenthält Details, die einen XML-Prozessor zum Parsen des XML-Dokuments vorbereiten. Es ist optional, muss jedoch bei Verwendung in der ersten Zeile des XML-Dokuments angezeigt werden.

Syntax

Die folgende Syntax zeigt die XML-Deklaration -

<?xml
   version = "version_number"
   encoding = "encoding_declaration"
   standalone = "standalone_status"
?>

Jeder Parameter besteht aus einem Parameternamen, einem Gleichheitszeichen (=) und einem Parameterwert in einem Anführungszeichen. Die folgende Tabelle zeigt die obige Syntax im Detail -

Parameter Parameterwert Parameterbeschreibung
Ausführung 1.0 Gibt die Version des verwendeten XML-Standards an.
Codierung UTF-8, UTF-16, ISO-10646-UCS-2, ISO-10646-UCS-4, ISO-8859-1 bis ISO-8859-9, ISO-2022-JP, Shift_JIS, EUC-JP Es definiert die im Dokument verwendete Zeichenkodierung. UTF-8 ist die Standardcodierung.
Eigenständige ja oder Nein Es informiert den Parser, ob das Dokument für seinen Inhalt auf Informationen aus einer externen Quelle wie der externen Dokumenttypdefinition (DTD) angewiesen ist. Der Standardwert ist no . Wenn Sie den Wert auf " Ja" setzen, wird dem Prozessor mitgeteilt, dass zum Parsen des Dokuments keine externen Deklarationen erforderlich sind.

Regeln

Eine XML-Deklaration sollte die folgenden Regeln einhalten:

  • Wenn die XML-Deklaration im XML vorhanden ist, muss sie als erste Zeile im XML-Dokument platziert werden.

  • Wenn die XML-Deklaration enthalten ist, muss sie das Versionsnummernattribut enthalten.

  • Bei den Parameternamen und -werten wird zwischen Groß- und Kleinschreibung unterschieden.

  • Die Namen sind immer in Kleinbuchstaben.

  • Die Reihenfolge der Platzierung der Parameter ist wichtig. Die richtige Reihenfolge ist: Version, Codierung und Standalone.

  • Es können einfache oder doppelte Anführungszeichen verwendet werden.

  • Die XML-Deklaration hat kein schließendes Tag, d. H. </?xml>

Beispiele für XML-Deklarationen

Im Folgenden finden Sie einige Beispiele für XML-Deklarationen:

XML-Deklaration ohne Parameter -

<?xml >

XML-Deklaration mit Versionsdefinition -

<?xml version = "1.0">

XML-Deklaration mit allen definierten Parametern -

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

XML-Deklaration mit allen in einfachen Anführungszeichen definierten Parametern -

<?xml version = '1.0' encoding = 'iso-8859-1' standalone = 'no' ?>

Lassen Sie uns etwas über einen der wichtigsten Teile von XML lernen, die XML-Tags. XML tagsbilden die Grundlage von XML. Sie definieren den Umfang eines Elements in XML. Sie können auch verwendet werden, um Kommentare einzufügen, Einstellungen zu deklarieren, die zum Parsen der Umgebung erforderlich sind, und um spezielle Anweisungen einzufügen.

Wir können XML-Tags grob wie folgt kategorisieren:

Tag starten

Der Anfang jedes nicht leeren XML-Elements ist durch ein Start-Tag gekennzeichnet. Das Folgende ist ein Beispiel für ein Start-Tag -

<address>

Tag beenden

Jedes Element mit einem Start-Tag sollte mit einem End-Tag enden. Das Folgende ist ein Beispiel für ein End-Tag -

</address>

Beachten Sie, dass die End-Tags einen Solidus ("/") vor dem Namen eines Elements enthalten.

Leeres Etikett

Der Text, der zwischen Start- und Endtag angezeigt wird, wird als Inhalt bezeichnet. Ein Element ohne Inhalt wird als leer bezeichnet. Ein leeres Element kann auf zwei Arten dargestellt werden:

Ein Start-Tag unmittelbar gefolgt von einem End-Tag wie unten gezeigt -

<hr></hr>

Ein vollständiges Tag mit leeren Elementen ist wie folgt:

<hr />

Tags für leere Elemente können für jedes Element verwendet werden, das keinen Inhalt hat.

Regeln für XML-Tags

Im Folgenden sind die Regeln aufgeführt, die zur Verwendung von XML-Tags befolgt werden müssen:

Regel 1

Bei XML-Tags wird zwischen Groß- und Kleinschreibung unterschieden. Die folgende Codezeile ist ein Beispiel für eine falsche Syntax </ Adresse>, da bei zwei Tags ein Unterschied zwischen Groß- und Kleinschreibung besteht, der in XML als fehlerhafte Syntax behandelt wird.

<address>This is wrong syntax</Address>

Der folgende Code zeigt einen korrekten Weg, bei dem wir das Start- und das End-Tag im selben Fall benennen.

<address>This is correct syntax</address>

Regel 2

XML-Tags müssen in einer geeigneten Reihenfolge geschlossen werden, dh ein in einem anderen Element geöffnetes XML-Tag muss geschlossen werden, bevor das äußere Element geschlossen wird. Zum Beispiel -

<outer_element>
   <internal_element>
      This tag is closed before the outer_element
   </internal_element>
</outer_element>

XML elementskann als Bausteine ​​eines XML definiert werden. Elemente können sich wie Container verhalten, die Text, Elemente, Attribute, Medienobjekte oder alle diese enthalten.

Jedes XML-Dokument enthält ein oder mehrere Elemente, deren Umfang entweder durch Start- und End-Tags oder für leere Elemente durch ein Tag mit leeren Elementen begrenzt ist.

Syntax

Es folgt die Syntax zum Schreiben eines XML-Elements:

<element-name attribute1 attribute2>
....content
</element-name>

wo,

  • element-nameist der Name des Elements. Der Name muss in den Start- und End-Tags übereinstimmen.

  • attribute1, attribute2sind Attribute des Elements, die durch Leerzeichen getrennt sind. Ein Attribut definiert eine Eigenschaft des Elements. Es ordnet einen Namen einem Wert zu, der eine Zeichenfolge ist. Ein Attribut wird geschrieben als -

name = "value"

Name wird von einem gefolgt = Zeichen und einem String - Wert in doppelte (“„) oder Single (‘‚) zitiert.

Leeres Element

Ein leeres Element (Element ohne Inhalt) hat folgende Syntax:

<name attribute1 attribute2.../>

Das folgende Beispiel zeigt ein XML-Dokument mit verschiedenen XML-Elementen:

<?xml version = "1.0"?>
<contact-info>
   <address category = "residence">
      <name>Tanmay Patil</name>
      <company>TutorialsPoint</company>
      <phone>(011) 123-4567</phone>
   </address>
</contact-info>

XML-Elementregeln

Die folgenden Regeln müssen für XML-Elemente befolgt werden:

  • Ein Element Name kann beliebige alphanumerische Zeichen enthalten. Das einzige in Namen zulässige Interpunktionszeichen sind der Bindestrich (-), die Unterbewertung (_) und der Punkt (.).

  • Bei Namen wird zwischen Groß- und Kleinschreibung unterschieden. Beispielsweise sind Adresse, Adresse und ADRESSE unterschiedliche Namen.

  • Start- und End-Tags eines Elements müssen identisch sein.

  • Ein Element, bei dem es sich um einen Container handelt, kann Text oder Elemente enthalten, wie im obigen Beispiel dargestellt.

Dieses Kapitel beschreibt die XML attributes. Attribute sind Teil von XML-Elementen. Ein Element kann mehrere eindeutige Attribute haben. Das Attribut enthält weitere Informationen zu XML-Elementen. Genauer gesagt definieren sie Eigenschaften von Elementen. Ein XML-Attribut ist immer ein Name-Wert-Paar.

Syntax

Ein XML-Attribut hat die folgende Syntax:

<element-name attribute1 attribute2 >
....content..
< /element-name>

Dabei haben Attribut1 und Attribut2 die folgende Form:

name = "value"

Der Wert muss in doppelten ("") oder einfachen ('') Anführungszeichen stehen. Hier sind Attribut1 und Attribut2 eindeutige Attributbezeichnungen.

Attribute werden verwendet, um einem Element eine eindeutige Bezeichnung hinzuzufügen, die Bezeichnung in eine Kategorie einzufügen, ein Boolesches Flag hinzuzufügen oder sie auf andere Weise einer Datenfolge zuzuordnen. Das folgende Beispiel zeigt die Verwendung von Attributen -

<?xml version = "1.0" encoding = "UTF-8"?>
<!DOCTYPE garden [
   <!ELEMENT garden (plants)*>
   <!ELEMENT plants (#PCDATA)>
   <!ATTLIST plants category CDATA #REQUIRED>
]>

<garden>
   <plants category = "flowers" />
   <plants category = "shrubs">
   </plants>
</garden>

Attribute werden verwendet, um zwischen gleichnamigen Elementen zu unterscheiden, wenn Sie nicht für jede Situation ein neues Element erstellen möchten. Daher kann die Verwendung eines Attributs bei der Unterscheidung von zwei oder mehr ähnlichen Elementen etwas detaillierter sein.

Im obigen Beispiel haben wir die Pflanzen kategorisiert, indem wir die Attributkategorie einbezogen und jedem der Elemente unterschiedliche Werte zugewiesen haben. Daher haben wir zwei Kategorien von Pflanzen , eine Blume und andere Sträucher . Wir haben also zwei Pflanzenelemente mit unterschiedlichen Attributen.

Sie können auch beobachten, dass wir dieses Attribut zu Beginn von XML deklariert haben.

Attributtypen

Die folgende Tabelle listet die Art der Attribute auf -

Attributtyp Beschreibung
StringType Es wird eine beliebige Literalzeichenfolge als Wert verwendet. CDATA ist ein StringType. CDATA sind Zeichendaten. Dies bedeutet, dass jede Zeichenfolge von Nicht-Markup-Zeichen ein zulässiger Bestandteil des Attributs ist.
TokenizedType

Dies ist ein eingeschränkterer Typ. Die in der Grammatik angegebenen Gültigkeitsbeschränkungen werden angewendet, nachdem der Attributwert normalisiert wurde. Die TokenizedType-Attribute werden wie folgt angegeben:

  • ID - Es wird verwendet, um das Element als eindeutig anzugeben.

  • IDREF - Es wird verwendet, um auf eine ID zu verweisen, die für ein anderes Element benannt wurde.

  • IDREFS - Es wird verwendet, um alle IDs eines Elements zu referenzieren.

  • ENTITY - Es zeigt an, dass das Attribut eine externe Entität im Dokument darstellt.

  • ENTITIES - Es zeigt an, dass das Attribut externe Entitäten im Dokument darstellt.

  • NMTOKEN - Es ähnelt CDATA mit Einschränkungen, welche Daten Teil des Attributs sein können.

  • NMTOKENS - Es ähnelt CDATA mit Einschränkungen, welche Daten Teil des Attributs sein können.

EnumeratedType

Die Deklaration enthält eine Liste vordefinierter Werte. von denen muss es einen Wert zuweisen. Es gibt zwei Arten von aufgezählten Attributen:

  • NotationType - Es wird deklariert, dass ein Element auf eine NOTATION verweist, die an einer anderen Stelle im XML-Dokument deklariert ist.

  • Enumeration - Mit der Aufzählung können Sie eine bestimmte Liste von Werten definieren, mit denen der Attributwert übereinstimmen muss.

Elementattributregeln

Im Folgenden sind die Regeln aufgeführt, die für Attribute befolgt werden müssen:

  • Ein Attributname darf nicht mehr als einmal im selben Start-Tag oder Leerelement-Tag vorkommen.

  • Ein Attribut muss in der Dokumenttypdefinition (DTD) mithilfe einer Attributlistendeklaration deklariert werden.

  • Attributwerte dürfen keine direkten oder indirekten Entitätsverweise auf externe Entitäten enthalten.

  • Der Ersetzungstext einer Entität, auf die in einem Attributwert direkt oder indirekt verwiesen wird, darf kein Zeichen kleiner als enthalten (<)

In diesem Kapitel wird erläutert, wie Kommentare in XML-Dokumenten funktionieren. XML commentsähneln HTML-Kommentaren. Die Kommentare werden als Notizen oder Zeilen hinzugefügt, um den Zweck eines XML-Codes zu verstehen.

Kommentare können verwendet werden, um verwandte Links, Informationen und Begriffe aufzunehmen. Sie sind nur im Quellcode sichtbar. nicht im XML-Code. Kommentare können an einer beliebigen Stelle im XML-Code erscheinen.

Syntax

XML-Kommentar hat die folgende Syntax:

<!--Your comment-->

Ein Kommentar beginnt mit <!-- und endet mit -->. Sie können Textnotizen als Kommentare zwischen den Zeichen hinzufügen. Sie dürfen einen Kommentar nicht in den anderen verschachteln.

Beispiel

Das folgende Beispiel zeigt die Verwendung von Kommentaren in XML-Dokumenten -

<?xml version = "1.0" encoding = "UTF-8" ?>
<!--Students grades are uploaded by months-->
<class_list>
   <student>
      <name>Tanmay</name>
      <grade>A</grade>
   </student>
</class_list>

Beliebiger Text zwischen <!-- und --> Zeichen werden als Kommentar betrachtet.

Regeln für XML-Kommentare

Die folgenden Regeln sollten für XML-Kommentare befolgt werden:

  • Kommentare können nicht vor der XML-Deklaration angezeigt werden.
  • Kommentare können an einer beliebigen Stelle in einem Dokument angezeigt werden.
  • Kommentare dürfen nicht in Attributwerten enthalten sein.
  • Kommentare können nicht in den anderen Kommentaren verschachtelt werden.

Dieses Kapitel beschreibt das XML Character Entities. Bevor wir die Zeichenentitäten verstehen, wollen wir zunächst verstehen, was eine XML-Entität ist.

Nach Angaben des W3-Konsortiums lautet die Definition eines Unternehmens wie folgt:

"Die Dokumententität dient als Stamm des Entitätsbaums und als Ausgangspunkt für einen XML-Prozessor."

Dies bedeutet, dass Entitäten die Platzhalter in XML sind. Diese können im Dokumentprolog oder in einer DTD deklariert werden. Es gibt verschiedene Arten von Entitäten. In diesem Kapitel werden wir die Charakterentität behandeln.

Sowohl HTML als auch XML haben einige Symbole für ihre Verwendung reserviert, die nicht als Inhalt in XML-Code verwendet werden können. Zum Beispiel,< und >Zeichen werden zum Öffnen und Schließen von XML-Tags verwendet. Zur Anzeige dieser Sonderzeichen werden die Zeichenentitäten verwendet.

Es gibt nur wenige Sonderzeichen oder Symbole, die nicht direkt über die Tastatur eingegeben werden können. Zeichenentitäten können auch verwendet werden, um diese Symbole / Sonderzeichen anzuzeigen.

Arten von Zeichenentitäten

Es gibt drei Arten von Zeichenentitäten:

  • Vordefinierte Zeichenentitäten
  • Nummerierte Zeicheneinheiten
  • Benannte Zeichenentitäten

Vordefinierte Zeichenentitäten

Sie werden eingeführt, um Mehrdeutigkeiten bei der Verwendung einiger Symbole zu vermeiden. Beispielsweise wird eine Mehrdeutigkeit beobachtet, wenn weniger als (< ) oder größer als ( > ) wird mit dem Winkel-Tag () verwendet<>). Zeichenentitäten werden grundsätzlich verwendet, um Tags in XML abzugrenzen. Im Folgenden finden Sie eine Liste vordefinierter Zeichenentitäten aus der XML-Spezifikation. Diese können verwendet werden, um Zeichen ohne Mehrdeutigkeit auszudrücken.

  • Kaufmännisches Und - &amp;

  • Einfaches Zitat - &apos;

  • Größer als - &gt;

  • Weniger als - &lt;

  • Doppeltes Zitat - &quot;

Numerische Zeichenentitäten

Die numerische Referenz wird verwendet, um auf eine Zeichenentität zu verweisen. Die numerische Referenz kann entweder im Dezimal- oder Hexadezimalformat vorliegen. Da Tausende von numerischen Referenzen verfügbar sind, sind diese schwer zu merken. Die numerische Referenz bezieht sich auf das Zeichen anhand seiner Nummer im Unicode-Zeichensatz.

Die allgemeine Syntax für die numerische Dezimalreferenz lautet -

&# decimal number ;

Die allgemeine Syntax für die hexadezimale numerische Referenz lautet -

&#x Hexadecimal number ;

In der folgenden Tabelle sind einige vordefinierte Zeichenentitäten mit ihren numerischen Werten aufgeführt.

Entitätsname Charakter Dezimalreferenz Hexadezimale Referenz
quot "" & # 34; & # x22;
Ampere & & # 38; & # x26;
apos ' & # 39; & # x27;
lt < & # 60; & # x3C;
gt > & # 62; & # x3E;

Benannte Zeichenentität

Da es schwierig ist, sich an die numerischen Zeichen zu erinnern, ist der am meisten bevorzugte Typ der Zeichenentität die benannte Zeichenentität. Hier wird jede Entität mit einem Namen identifiziert.

Zum Beispiel -

  • 'Aacute' repräsentiert Kapitalcharakter

    mit akutem Akzent.

  • 'ugrave' repräsentiert das kleine

    mit ernstem Akzent.

In diesem Kapitel werden wir diskutieren XML CDATA section. Der Begriff CDATA bedeutet Zeichendaten. CDATA ist definiert als Textblöcke, die vom Parser nicht analysiert werden, aber ansonsten als Markup erkannt werden.

Die vordefinierten Entitäten wie &amplt;, &ampgt;, und &ampamp;erfordern die Eingabe und sind im Markup im Allgemeinen schwer zu lesen. In solchen Fällen kann der CDATA-Abschnitt verwendet werden. Durch die Verwendung des CDATA-Abschnitts befehlen Sie dem Parser, dass der bestimmte Abschnitt des Dokuments kein Markup enthält und als normaler Text behandelt werden soll.

Syntax

Es folgt die Syntax für den CDATA-Abschnitt -

<![CDATA[
   characters with markup
]]>

Die obige Syntax besteht aus drei Abschnitten -

  • CDATA Start section - CDATA beginnt mit dem neunstelligen Trennzeichen <![CDATA[

  • CDATA End section - CDATA-Abschnitt endet mit ]]> Trennzeichen.

  • CData section- Zeichen zwischen diesen beiden Gehäusen werden als Zeichen und nicht als Markup interpretiert. Dieser Abschnitt enthält möglicherweise Markup-Zeichen (<,> und &), die vom XML-Prozessor jedoch ignoriert werden.

Beispiel

Der folgende Markup-Code zeigt ein Beispiel für CDATA. Hier wird jedes im CDATA-Abschnitt geschriebene Zeichen vom Parser ignoriert.

<script>
   <![CDATA[
      <message> Welcome to TutorialsPoint </message>
   ]] >
</script >

In der obigen Syntax wird alles zwischen <message> und </ message> als Zeichendaten und nicht als Markup behandelt.

CDATA-Regeln

Die angegebenen Regeln müssen für XML CDATA befolgt werden -

  • CDATA darf die Zeichenfolge "]]>" an keiner Stelle im XML-Dokument enthalten.
  • Das Verschachteln ist im CDATA-Bereich nicht zulässig.

In diesem Kapitel werden wir diskutieren whitespaceBehandlung in XML-Dokumenten. Whitespace ist eine Sammlung von Leerzeichen, Tabulatoren und Zeilenumbrüchen. Sie werden im Allgemeinen verwendet, um ein Dokument besser lesbar zu machen.

Das XML-Dokument enthält zwei Arten von Leerzeichen: Signifikante Leerzeichen und nicht signifikante Leerzeichen. Beide werden nachfolgend anhand von Beispielen erläutert.

Bedeutendes Leerzeichen

Innerhalb des Elements tritt ein signifikantes Leerzeichen auf, das Text und Markup enthält, die zusammen vorhanden sind. Zum Beispiel -

<name>TanmayPatil</name>

und

<name>Tanmay Patil</name>

Die beiden oben genannten Elemente unterscheiden sich aufgrund des Zwischenraums Tanmay und Patil. Jedes Programm, das dieses Element in einer XML-Datei liest, ist verpflichtet, die Unterscheidung beizubehalten.

Unbedeutendes Leerzeichen

Unbedeutendes Leerzeichen bedeutet den Bereich, in dem nur Elementinhalte zulässig sind. Zum Beispiel -

<address.category = "residence">
oder
<address....category = "..residence">

Die obigen Beispiele sind gleich. Hier wird der Raum durch Punkte (.) Dargestellt. Im obigen Beispiel ist der Abstand zwischen Adresse und Kategorie unbedeutend.

Ein spezielles Attribut namens xml:spacekann an ein Element angehängt werden. Dies gibt an, dass Leerzeichen für dieses Element von der Anwendung nicht entfernt werden sollten. Sie können dieses Attribut auf setzendefault oder preserve wie im folgenden Beispiel gezeigt -

<!ATTLIST address  xml:space (default|preserve) 'preserve'>

Wo,

  • Der Wert default signalisiert, dass die Standard-Whitespace-Verarbeitungsmodi einer Anwendung für dieses Element akzeptabel sind.

  • Der Wert preserve Gibt die Anwendung an, mit der alle Leerzeichen beibehalten werden sollen.

Dieses Kapitel beschreibt die Processing Instructions (PIs). Wie in der XML 1.0-Empfehlung definiert,

"Verarbeitungsanweisungen (PIs) ermöglichen es Dokumenten, Anweisungen für Anwendungen zu enthalten. PIs sind nicht Teil der Zeichendaten des Dokuments, MÜSSEN jedoch an die Anwendung weitergeleitet werden.

Verarbeitungsanweisungen (PIs) können verwendet werden, um Informationen an Anwendungen weiterzugeben. PIs können an einer beliebigen Stelle im Dokument außerhalb des Markups angezeigt werden. Sie können im Prolog, einschließlich der Dokumenttypdefinition (DTD), im Textinhalt oder nach dem Dokument erscheinen.

Syntax

Es folgt die Syntax von PI -

<?target instructions?>

Wo

  • target - Identifiziert die Anwendung, an die die Anweisung gerichtet ist.

  • instruction - Ein Zeichen, das die Informationen beschreibt, die der Antrag verarbeiten soll.

Ein PI beginnt mit einem speziellen Tag <? und endet mit ?>. Die Verarbeitung des Inhalts endet unmittelbar nach der Zeichenfolge?> angetroffen wird.

Beispiel

PIs werden selten verwendet. Sie werden meistens verwendet, um XML-Dokumente mit einem Stylesheet zu verknüpfen. Das Folgende ist ein Beispiel -

<?xml-stylesheet href = "tutorialspointstyle.css" type = "text/css"?>

Hier wird das Ziel ist xml-stylesheet . href = "tutorialspointstyle.css" und type = "text / css" sind Daten oder Anweisungen, die die Zielanwendung zum Zeitpunkt der Verarbeitung des angegebenen XML-Dokuments verwendet.

In diesem Fall erkennt ein Browser das Ziel, indem er angibt, dass das XML transformiert werden soll, bevor es angezeigt wird. Das erste Attribut gibt an, dass der Typ der Transformation XSL ist, und das zweite Attribut zeigt auf seine Position.

Regeln für Verarbeitungsanweisungen

Ein PI kann alle Daten außer der Kombination enthalten ?>, was als abschließendes Trennzeichen interpretiert wird. Hier sind zwei Beispiele für gültige PIs:

<?welcome to pg = 10 of tutorials point?>

<?welcome?>

Encodingist der Prozess des Konvertierens von Unicode-Zeichen in ihre äquivalente binäre Darstellung. Wenn der XML-Prozessor ein XML-Dokument liest, codiert er das Dokument abhängig von der Art der Codierung. Daher müssen wir den Codierungstyp in der XML-Deklaration angeben.

Codierungstypen

Es gibt hauptsächlich zwei Arten der Codierung -

  • UTF-8
  • UTF-16

UTF steht für UCS Transformation Format und UCS selbst bedeutet Universal Character Set . Die Zahl 8 oder 16 bezieht sich auf die Anzahl der Bits, die zur Darstellung eines Zeichens verwendet werden. Sie sind entweder 8 (1 bis 4 Byte) oder 16 (2 oder 4 Byte). Für Dokumente ohne Codierungsinformationen ist UTF-8 standardmäßig festgelegt.

Syntax

Der Codierungstyp ist im Prologabschnitt des XML-Dokuments enthalten. Die Syntax für die UTF-8-Codierung lautet wie folgt:

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

Die Syntax für die UTF-16-Codierung lautet wie folgt:

<?xml version = "1.0" encoding = "UTF-16" standalone = "no" ?>

Beispiel

Das folgende Beispiel zeigt die Deklaration der Codierung -

<?xml version = "1.0" encoding = "UTF-8" standalone = "no" ?>
<contact-info>
   <name>Tanmay Patil</name>
   <company>TutorialsPoint</company>
   <phone>(011) 123-4567</phone>
</contact-info>

Im obigen Beispiel encoding="UTF-8"gibt an, dass 8-Bit zur Darstellung der Zeichen verwendet werden. Um 16-Bit-Zeichen darzustellen,UTF-16 Codierung kann verwendet werden.

Die mit UTF-8 codierten XML-Dateien sind in der Regel kleiner als die mit dem UTF-16-Format codierten.

Validationist ein Prozess, mit dem ein XML-Dokument validiert wird. Ein XML-Dokument gilt als gültig, wenn sein Inhalt mit den Elementen, Attributen und der zugehörigen Dokumenttypdeklaration (DTD) übereinstimmt und wenn das Dokument den darin ausgedrückten Einschränkungen entspricht. Die Validierung wird vom XML-Parser auf zwei Arten durchgeführt. Sie sind -

  • Wohlgeformtes XML-Dokument
  • Gültiges XML-Dokument

Wohlgeformtes XML-Dokument

Ein XML-Dokument soll sein well-formed wenn es die folgenden Regeln einhält -

  • Nicht-DTD-XML-Dateien müssen die vordefinierten Zeichenentitäten für verwenden amp(&), apos(single quote), gt(>), lt(<), quot(double quote).

  • Es muss der Reihenfolge des Tags folgen. Das heißt, das innere Tag muss geschlossen werden, bevor das äußere Tag geschlossen wird.

  • Jedes seiner öffnenden Tags muss ein schließendes Tag haben oder es muss ein selbstendendes Tag sein (<title> .... </ title> oder <title />).

  • Es darf nur ein Attribut in einem Start-Tag enthalten, das in Anführungszeichen gesetzt werden muss.

  • amp(&), apos(single quote), gt(>), lt(<), quot(double quote) Andere Entitäten als diese müssen deklariert werden.

Beispiel

Das folgende Beispiel zeigt ein wohlgeformtes XML-Dokument:

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

Das obige Beispiel soll wohlgeformt sein als -

  • Es definiert den Dokumenttyp. Hier ist der Dokumenttypelement Art.

  • Es enthält ein Stammelement mit dem Namen address.

  • Jedes der untergeordneten Elemente zwischen Name, Firma und Telefon ist in einem selbsterklärenden Tag enthalten.

  • Die Reihenfolge der Tags wird beibehalten.

Gültiges XML-Dokument

Wenn ein XML-Dokument wohlgeformt ist und eine zugehörige Dokumenttypdeklaration (DTD) enthält, handelt es sich um ein gültiges XML-Dokument. Wir werden mehr über DTD im Kapitel XML - DTDs lernen .

Die XML-Dokumenttypdeklaration, allgemein als DTD bekannt, ist eine Möglichkeit, die XML-Sprache genau zu beschreiben. DTDs überprüfen den Wortschatz und die Gültigkeit der Struktur von XML-Dokumenten anhand der grammatikalischen Regeln der entsprechenden XML-Sprache.

Eine XML-DTD kann entweder im Dokument angegeben oder in einem separaten Dokument gespeichert und dann separat gemocht werden.

Syntax

Die grundlegende Syntax einer DTD lautet wie folgt:

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

In der obigen Syntax

  • Das DTD beginnt mit dem Trennzeichen <! DOCTYPE.

  • Ein element Weist den Parser an, das Dokument aus dem angegebenen Stammelement zu analysieren.

  • DTD identifierist eine Kennung für die Dokumenttypdefinition, die der Pfad zu einer Datei im System oder die URL zu einer Datei im Internet sein kann. Wenn die DTD auf einen externen Pfad zeigt, wird sie aufgerufenExternal Subset.

  • The square brackets [ ]Fügen Sie eine optionale Liste von Entitätsdeklarationen mit dem Namen Interne Teilmenge bei .

Interne DTD

Eine DTD wird als interne DTD bezeichnet, wenn Elemente in den XML-Dateien deklariert sind. Um es als interne DTD zu bezeichnen, muss das eigenständige Attribut in der XML-Deklaration auf gesetzt seinyes. Dies bedeutet, dass die Deklaration unabhängig von einer externen Quelle funktioniert.

Syntax

Es folgt die Syntax der internen DTD -

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

Dabei ist root-element der Name des root-Elements und bei Elementdeklarationen deklarieren Sie die Elemente.

Beispiel

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

Lassen Sie uns den obigen Code durchgehen -

Start Declaration - Beginnen Sie die XML-Deklaration mit der folgenden Anweisung.

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

DTD- Unmittelbar nach dem XML-Header folgt die Dokumenttypdeklaration , die üblicherweise als DOCTYPE bezeichnet wird. -

<!DOCTYPE address [

Die DOCTYPE-Deklaration hat ein Ausrufezeichen (!) Am Anfang des Elementnamens. Der DOCTYPE informiert den Parser darüber, dass diesem XML-Dokument eine DTD zugeordnet ist.

DTD Body - Auf die DOCTYPE-Deklaration folgt der Hauptteil der DTD, in dem Sie Elemente, Attribute, Entitäten und Notationen deklarieren.

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

Hier werden mehrere Elemente deklariert, die das Vokabular des <Name> -Dokuments bilden. <! ELEMENT name (#PCDATA)> definiert den Elementnamen von Typ "#PCDATA". Hier bedeutet #PCDATA analysierbare Textdaten.

End Declaration - Schließlich wird der Deklarationsabschnitt der DTD mit einer schließenden Klammer und einer schließenden Klammer geschlossen (]>). Dies beendet effektiv die Definition und danach folgt das XML-Dokument sofort.

Regeln

  • Die Dokumenttypdeklaration muss am Anfang des Dokuments erscheinen (vorangestellt nur der XML-Header) - sie ist an keiner anderen Stelle im Dokument zulässig.

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

  • Der Name in der Dokumenttypdeklaration muss mit dem Elementtyp des Stammelements übereinstimmen.

Externe DTD

In externen DTD werden Elemente außerhalb der XML-Datei deklariert. Auf sie wird zugegriffen, indem die Systemattribute angegeben werden, die entweder die legale .dtd- Datei oder eine gültige URL sein können. Um es als externe DTD zu bezeichnen, muss das eigenständige Attribut in der XML-Deklaration als festgelegt werdenno. Dies bedeutet, dass die Deklaration Informationen aus der externen Quelle enthält.

Syntax

Es folgt die Syntax für die externe DTD -

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

Dabei ist Dateiname die Datei mit der Erweiterung .dtd .

Beispiel

Das folgende Beispiel zeigt die externe DTD-Verwendung -

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

Der Inhalt der DTD-Datei address.dtd ist wie gezeigt -

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

Typen

Sie können auf eine externe DTD verweisen, indem Sie entweder verwenden system identifiers oder public identifiers.

Systemkennungen

Mit einer Systemkennung können Sie den Speicherort einer externen Datei angeben, die DTD-Deklarationen enthält. Die Syntax lautet wie folgt:

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

Wie Sie sehen können, enthält es das Schlüsselwort SYSTEM und eine URI-Referenz, die auf den Speicherort des Dokuments verweist.

Öffentliche Kennungen

Öffentliche Kennungen bieten einen Mechanismus zum Auffinden von DTD-Ressourcen und werden wie folgt geschrieben:

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

Wie Sie sehen können, beginnt es mit dem Schlüsselwort PUBLIC, gefolgt von einer speziellen Kennung. Öffentliche Bezeichner werden verwendet, um einen Eintrag in einem Katalog zu identifizieren. Öffentliche Bezeichner können jedem Format folgen, es wird jedoch ein häufig verwendetes Format genanntFormal Public Identifiers, or FPIs.

XML-Schema ist allgemein bekannt als XML Schema Definition (XSD). Es wird verwendet, um die Struktur und den Inhalt von XML-Daten zu beschreiben und zu validieren. Das XML-Schema definiert die Elemente, Attribute und Datentypen. Das Schemaelement unterstützt Namespaces. Es ähnelt einem Datenbankschema, das die Daten in einer Datenbank beschreibt.

Syntax

Sie müssen ein Schema in Ihrem XML-Dokument wie folgt deklarieren:

Beispiel

Das folgende Beispiel zeigt die Verwendung des Schemas -

<?xml version = "1.0" encoding = "UTF-8"?>
<xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema">
   <xs:element name = "contact">
      <xs:complexType>
         <xs:sequence>
            <xs:element name = "name" type = "xs:string" />
            <xs:element name = "company" type = "xs:string" />
            <xs:element name = "phone" type = "xs:int" />
         </xs:sequence>
      </xs:complexType>
   </xs:element>
</xs:schema>

Die Grundidee hinter XML-Schemas besteht darin, dass sie das legitime Format beschreiben, das ein XML-Dokument annehmen kann.

Elemente

Wie wir im Kapitel XML - Elemente gesehen haben , sind Elemente die Bausteine ​​des XML-Dokuments. Ein Element kann innerhalb einer XSD wie folgt definiert werden:

<xs:element name = "x" type = "y"/>

Definitionstypen

Sie können XML-Schemaelemente folgendermaßen definieren:

Einfacher Typ

Ein einfaches Typelement wird nur im Kontext des Textes verwendet. Einige der vordefinierten einfachen Typen sind: xs: Ganzzahl, xs: Boolescher Wert, xs: Zeichenfolge, xs: Datum. Zum Beispiel -

<xs:element name = "phone_number" type = "xs:int" />

Komplexer Typ

Ein komplexer Typ ist ein Container für andere Elementdefinitionen. Auf diese Weise können Sie angeben, welche untergeordneten Elemente ein Element enthalten kann, und eine Struktur in Ihren XML-Dokumenten bereitstellen. Zum Beispiel -

<xs:element name = "Address">
   <xs:complexType>
      <xs:sequence>
         <xs:element name = "name" type = "xs:string" />
         <xs:element name = "company" type = "xs:string" />
         <xs:element name = "phone" type = "xs:int" /> 
      </xs:sequence> 
   </xs:complexType>
</xs:element>

Im obigen Beispiel besteht das Adresselement aus untergeordneten Elementen. Dies ist ein Container für andere<xs:element> Definitionen, mit denen eine einfache Hierarchie von Elementen im XML-Dokument erstellt werden kann.

Globale Typen

Mit dem globalen Typ können Sie einen einzelnen Typ in Ihrem Dokument definieren, der von allen anderen Referenzen verwendet werden kann. Angenommen, Sie möchten die Person und das Unternehmen für verschiedene Adressen des Unternehmens verallgemeinern . In diesem Fall können Sie einen allgemeinen Typ wie folgt definieren:

<xs:element name = "AddressType">
   <xs:complexType>
      <xs:sequence>
         <xs:element name = "name" type = "xs:string" />
         <xs:element name = "company" type = "xs:string" />
      </xs:sequence> 
   </xs:complexType>
</xs:element>

Verwenden wir diesen Typ nun in unserem Beispiel wie folgt:

<xs:element name = "Address1">
   <xs:complexType>
      <xs:sequence>
         <xs:element name = "address" type = "AddressType" />
         <xs:element name = "phone1" type = "xs:int" /> 
      </xs:sequence> 
   </xs:complexType>
</xs:element> 

<xs:element name = "Address2">
   <xs:complexType>
      <xs:sequence>
         <xs:element name = "address" type = "AddressType" />
         <xs:element name = "phone2" type = "xs:int" /> 
      </xs:sequence> 
   </xs:complexType>
</xs:element>

Anstatt den Namen und das Unternehmen zweimal definieren zu müssen (einmal für Adresse1 und einmal für Adresse2 ), haben wir jetzt eine einzige Definition. Dies vereinfacht die Wartung, dh wenn Sie der Adresse "Postleitzahl" -Elemente hinzufügen möchten, müssen Sie diese nur an einer Stelle hinzufügen.

Attribute

Attribute in XSD bieten zusätzliche Informationen innerhalb eines Elements. Attribute haben Namen und Typ wie unten gezeigt -

<xs:attribute name = "x" type = "y"/>

Ein XML-Dokument ist immer beschreibend. Die Baumstruktur wird oft als bezeichnetXML Tree und spielt eine wichtige Rolle bei der einfachen Beschreibung von XML-Dokumenten.

Die Baumstruktur enthält Stammelemente (übergeordnete Elemente), untergeordnete Elemente usw. Mithilfe der Baumstruktur können Sie alle nachfolgenden Zweige und Unterzweige ab der Wurzel kennenlernen. Das Parsen beginnt an der Wurzel, bewegt sich dann den ersten Zweig hinunter zu einem Element, nimmt den ersten Zweig von dort und so weiter zu den Blattknoten.

Beispiel

Das folgende Beispiel zeigt eine einfache XML-Baumstruktur -

<?xml version = "1.0"?>
<Company>
   <Employee>
      <FirstName>Tanmay</FirstName>
      <LastName>Patil</LastName>
      <ContactNo>1234567890</ContactNo>
      <Email>[email protected]</Email>
      <Address>
         <City>Bangalore</City>
         <State>Karnataka</State>
         <Zip>560212</Zip>
      </Address>
   </Employee>
</Company>

Die folgende Baumstruktur repräsentiert das obige XML-Dokument -

Im obigen Diagramm gibt es ein Stammelement mit dem Namen <Unternehmen>. Darin befindet sich ein weiteres Element <Mitarbeiter>. Innerhalb des Mitarbeiterelements gibt es fünf Zweige mit den Namen <FirstName>, <LastName>, <ContactNo>, <Email> und <Address>. Innerhalb des <Address> -Elements gibt es drei Unterzweige mit den Namen <City> <State> und <Zip>.

Das Document Object Model (DOM)ist die Grundlage von XML. XML-Dokumente haben eine Hierarchie von Informationseinheiten, die als Knoten bezeichnet werden . Mit DOM können diese Knoten und die Beziehungen zwischen ihnen beschrieben werden.

Ein DOM-Dokument ist eine Sammlung von Knoten oder Informationen, die in einer Hierarchie organisiert sind. Diese Hierarchie ermöglicht es einem Entwickler, durch den Baum zu navigieren und nach bestimmten Informationen zu suchen. Da das DOM auf einer Hierarchie von Informationen basiert, wird es als baumbasiert bezeichnet .

Das XML-DOM bietet andererseits auch eine API, mit der Entwickler jederzeit Knoten in der Baumstruktur hinzufügen, bearbeiten, verschieben oder entfernen können, um eine Anwendung zu erstellen.

Beispiel

Im folgenden Beispiel (sample.htm) wird ein XML-Dokument ("address.xml") in ein XML-DOM-Objekt analysiert und anschließend mit JavaScript einige Informationen daraus extrahiert.

<!DOCTYPE html>
<html>
   <body>
      <h1>TutorialsPoint DOM example </h1>
      <div>
         <b>Name:</b> <span id = "name"></span><br>
         <b>Company:</b> <span id = "company"></span><br>
         <b>Phone:</b> <span id = "phone"></span>
      </div>
      <script>
         if (window.XMLHttpRequest)
         {// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp = new XMLHttpRequest();
         }
         else
         {// code for IE6, IE5
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
         }
         xmlhttp.open("GET","/xml/address.xml",false);
         xmlhttp.send();
         xmlDoc = xmlhttp.responseXML;

         document.getElementById("name").innerHTML=
            xmlDoc.getElementsByTagName("name")[0].childNodes[0].nodeValue;
         document.getElementById("company").innerHTML=
            xmlDoc.getElementsByTagName("company")[0].childNodes[0].nodeValue;
         document.getElementById("phone").innerHTML=
            xmlDoc.getElementsByTagName("phone")[0].childNodes[0].nodeValue;
      </script>
   </body>
</html>

Inhalt von address.xml sind wie folgt -

<?xml version = "1.0"?>
<contact-info>
   <name>Tanmay Patil</name>
   <company>TutorialsPoint</company>
   <phone>(011) 123-4567</phone>
</contact-info>

Lassen Sie uns nun diese beiden Dateien behalten sample.htm und address.xml im selben Verzeichnis /xml und führen Sie die sample.htmDatei durch Öffnen in einem beliebigen Browser. Dies sollte die folgende Ausgabe erzeugen.

Hier können Sie sehen, wie jeder der untergeordneten Knoten extrahiert wird, um seine Werte anzuzeigen.

EIN Namespaceist eine Reihe von eindeutigen Namen. Der Namespace ist ein Mechanismus, mit dem Element- und Attributnamen einer Gruppe zugewiesen werden können. Der Namespace wird durch URI (Uniform Resource Identifiers) identifiziert.

Namespace-Deklaration

Ein Namespace wird mit reservierten Attributen deklariert. Ein solcher Attributname muss entweder seinxmlns oder beginnen mit xmlns: wie unten gezeigt -

<element xmlns:name = "URL">

Syntax

  • Der Namespace beginnt mit dem Schlüsselwort xmlns.

  • Das Wort name ist das Namespace-Präfix.

  • Das URL ist die Namespace-ID.

Beispiel

Der Namespace betrifft nur einen begrenzten Bereich im Dokument. Ein Element, das die Deklaration und alle ihre Nachkommen enthält, befindet sich im Bereich des Namespace. Es folgt ein einfaches Beispiel für einen XML-Namespace:

<?xml version = "1.0" encoding = "UTF-8"?>
<cont:contact xmlns:cont = "www.tutorialspoint.com/profile">
   <cont:name>Tanmay Patil</cont:name>
   <cont:company>TutorialsPoint</cont:company>
   <cont:phone>(011) 123-4567</cont:phone>
</cont:contact>

Hier lautet das Namespace-Präfix contund die Namespace- ID (URI) als www.tutorialspoint.com/profile . Dies bedeutet, dass die Elementnamen und Attributnamen mit demcontPräfix (einschließlich des Kontaktelements) gehören alle zum Namespace www.tutorialspoint.com/profile .

XML Databasewird verwendet, um eine große Menge an Informationen im XML-Format zu speichern. Da die Verwendung von XML in jedem Bereich zunimmt, ist ein sicherer Speicherort für die XML-Dokumente erforderlich. Die in der Datenbank gespeicherten Daten können mit abgefragt werdenXQuery, serialisiert und in ein gewünschtes Format exportiert.

XML-Datenbanktypen

Es gibt zwei Haupttypen von XML-Datenbanken:

  • XML-fähig
  • Natives XML (NXD)

XML - Aktivierte Datenbank

XML-fähige Datenbank ist nichts anderes als die Erweiterung, die für die Konvertierung von XML-Dokumenten bereitgestellt wird. Dies ist eine relationale Datenbank, in der Daten in Tabellen gespeichert werden, die aus Zeilen und Spalten bestehen. Die Tabellen enthalten eine Reihe von Datensätzen, die wiederum aus Feldern bestehen.

Native XML-Datenbank

Die native XML-Datenbank basiert eher auf dem Container als auf dem Tabellenformat. Es kann eine große Menge an XML-Dokumenten und -Daten speichern. Die native XML-Datenbank wird von der abgefragtXPath-Ausdrücke.

Die native XML-Datenbank hat einen Vorteil gegenüber der XML-fähigen Datenbank. Es ist in der Lage, das XML-Dokument als XML-fähige Datenbank zu speichern, abzufragen und zu verwalten.

Beispiel

Das folgende Beispiel zeigt die XML-Datenbank -

<?xml version = "1.0"?>
<contact-info>
   <contact1>
      <name>Tanmay Patil</name>
      <company>TutorialsPoint</company>
      <phone>(011) 123-4567</phone>
   </contact1>
	
   <contact2>
      <name>Manisha Patil</name>
      <company>TutorialsPoint</company>
      <phone>(011) 789-4567</phone>
   </contact2>
</contact-info>

Hier wird eine Kontakttabelle erstellt, die die Aufzeichnungen der Kontakte (Kontakt1 und Kontakt2) enthält, die wiederum aus drei Entitäten bestehen - Name, Firma und Telefon .

Dieses Kapitel beschreibt DIE verschiedenen methods to view an XML document. Ein XML-Dokument kann mit einem einfachen Texteditor oder einem beliebigen Browser angezeigt werden. Die meisten gängigen Browser unterstützen XML. XML-Dateien können im Browser geöffnet werden, indem Sie einfach auf das XML-Dokument doppelklicken (wenn es sich um eine lokale Datei handelt) oder indem Sie den URL-Pfad in die Adressleiste eingeben (wenn sich die Datei auf dem Server befindet) Wir öffnen andere Dateien im Browser. XML-Dateien werden mit einem gespeichert".xml" Erweiterung.

Lassen Sie uns verschiedene Methoden untersuchen, mit denen wir eine XML-Datei anzeigen können. Das folgende Beispiel (sample.xml) wird verwendet, um alle Abschnitte dieses Kapitels anzuzeigen.

<?xml version = "1.0"?>
<contact-info>
   <name>Tanmay Patil</name>
   <company>TutorialsPoint</company>
   <phone>(011) 123-4567</phone>
</contact-info>

Texteditoren

Jeder einfache Texteditor wie Notepad, TextPad oder TextEdit kann verwendet werden, um ein XML-Dokument wie unten gezeigt zu erstellen oder anzuzeigen.

Firefox Browser

Öffnen Sie den obigen XML-Code in Chrome, indem Sie auf die Datei doppelklicken. Der XML-Code zeigt eine Codierung mit Farbe an, wodurch der Code lesbar wird. Auf der linken Seite des XML-Elements wird ein Pluszeichen (+) oder ein Minuszeichen (-) angezeigt. Wenn wir auf das Minuszeichen (-) klicken, wird der Code ausgeblendet. Wenn wir auf das Pluszeichen (+) klicken, werden die Codezeilen erweitert. Die Ausgabe in Firefox ist wie folgt:

Chrome Browser

Öffnen Sie den obigen XML-Code im Chrome-Browser. Der Code wird wie folgt angezeigt -

Fehler im XML-Dokument

Wenn in Ihrem XML-Code einige Tags fehlen, wird im Browser eine Meldung angezeigt. Versuchen wir, die folgende XML-Datei in Chrome zu öffnen:

<?xml version = "1.0"?>
<contact-info>
   <name>Tanmay Patil</name>
   <company>TutorialsPoint</company>
   <phone>(011) 123-4567</phone>
</contact-info>

Im obigen Code stimmen die Start- und End-Tags nicht überein (siehe Tag contact_info), daher wird vom Browser eine Fehlermeldung angezeigt, wie unten gezeigt -

XML Editorist ein Markup-Spracheditor. Die XML-Dokumente können mit vorhandenen Editoren wie Notepad, WordPad oder einem ähnlichen Texteditor bearbeitet oder erstellt werden. Sie können einen professionellen XML-Editor auch online oder zum Herunterladen finden, der über leistungsstärkere Bearbeitungsfunktionen verfügt, z.

  • Es schließt automatisch die Tags, die offen bleiben.
  • Die Syntax wird streng überprüft.
  • Es hebt die XML-Syntax mit Farbe hervor, um die Lesbarkeit zu verbessern.
  • Es hilft Ihnen, einen gültigen XML-Code zu schreiben.
  • Es bietet eine automatische Überprüfung von XML-Dokumenten anhand von DTDs und Schemas.

Open Source XML-Editoren

Im Folgenden finden Sie einige Open Source XML-Editoren:

  • Online XML Editor - Dies ist ein leichter XML-Editor, den Sie online verwenden können.

  • Xerlin - Xerlin ist ein Open-Source-XML-Editor für die Java 2-Plattform, der unter einer Apache-Lizenz veröffentlicht wurde. Es ist eine Java-basierte XML-Modellierungsanwendung zum einfachen Erstellen und Bearbeiten von XML-Dateien.

  • CAM - Content Assembly Mechanism - Das CAM XML Editor-Tool wird mit XML + JSON + SQL Open-XDX geliefert, das von Oracle gesponsert wird.

XML parserist eine Softwarebibliothek oder ein Paket, das eine Schnittstelle für Clientanwendungen zur Arbeit mit XML-Dokumenten bietet. Es prüft das korrekte Format des XML-Dokuments und kann auch die XML-Dokumente validieren. Moderne Browser verfügen über integrierte XML-Parser.

Das folgende Diagramm zeigt, wie der XML-Parser mit dem XML-Dokument interagiert.

Das Ziel eines Parsers ist es, XML in einen lesbaren Code umzuwandeln.

Um das Parsen zu vereinfachen, sind einige kommerzielle Produkte verfügbar, die das Aufteilen von XML-Dokumenten erleichtern und zuverlässigere Ergebnisse liefern.

Einige häufig verwendete Parser sind unten aufgeführt -

  • MSXML (Microsoft Core XML Services) - Dies ist ein Standardsatz von XML-Tools von Microsoft, der einen Parser enthält.

  • System.Xml.XmlDocument - Diese Klasse ist Teil der .NET-Bibliothek, die eine Reihe verschiedener Klassen für die Arbeit mit XML enthält.

  • Java built-in parser- Die Java-Bibliothek verfügt über einen eigenen Parser. Die Bibliothek ist so konzipiert, dass Sie den integrierten Parser durch eine externe Implementierung wie Xerces von Apache oder Saxon ersetzen können.

  • Saxon - Saxon bietet Tools zum Parsen, Transformieren und Abfragen von XML.

  • Xerces - Xerces ist in Java implementiert und wird von der bekannten Open Source Apache Software Foundation entwickelt.

Wenn ein Softwareprogramm ein XML-Dokument liest und entsprechende Maßnahmen ergreift, wird dies als Verarbeitung des XML bezeichnet. Jedes Programm, das XML-Dokumente lesen und verarbeiten kann, wird als XML-Prozessor bezeichnet . Ein XML-Prozessor liest die XML-Datei und wandelt sie in speicherinterne Strukturen um, auf die der Rest des Programms zugreifen kann.

Der grundlegendste XML-Prozessor liest ein XML-Dokument und konvertiert es in eine interne Darstellung, die von anderen Programmen oder Unterprogrammen verwendet werden kann. Dies wird als Parser bezeichnet und ist eine wichtige Komponente jedes XML-Verarbeitungsprogramms.

Der Prozessor umfasst die Verarbeitung der Anweisungen, die im Kapitel Verarbeitungsanweisungen behandelt werden können .

Typen

XML-Prozessoren werden als klassifiziert validating oder non-validatingTypen, je nachdem, ob sie XML-Dokumente auf Gültigkeit prüfen oder nicht. Ein Prozessor, der einen Gültigkeitsfehler entdeckt, muss ihn melden können, kann jedoch mit der normalen Verarbeitung fortfahren.

A few validating parsers are - xml4c (IBM in C ++), xml4j (IBM in Java), MSXML (Microsoft in Java), TclXML (TCL), xmlproc (Python), XML :: Parser (Perl), Java Project X (Sun, in Java).

A few non-validating parsers are - OpenXML (Java), Lark (Java), XP (Java), AElfred (Java), Expat (C), XParse (JavaScript), Xmllib (Python).