XML-Tutorial für Anfänger
Was ist XML?
XML steht für eXspannbar MArkupe LSprache. Es handelt sich um eine Sprache (keine Programmiersprache), die das Markup nutzt und erweitern kann. Es ist abgeleitet von Standard Generalisiert MArkupe LSprache (SGML). XML verwendet auch DTDs (DBesetzung Typ Definitions), um die XML-Dokumentstruktur zu definieren.
XML dient nicht zur Verarbeitung von Rechenoperationen und Algorithmen. XML ist also keine Programmiersprache. Das Hauptziel ist die Übertragung von Daten, nicht die Anzeige von Informationen. XML schließt die Lücke zwischen menschlicher und maschineller Lesbarkeit. Im Gegensatz zu HTML-Tags sind XML-Tags selbstbeschreibend.
XML ist ein offenes Format. Die Dateinamenerweiterung von XML ist .xml
Geschichte von XML
XML entstand bereits 1996 und wurde erstmals 1998 veröffentlicht. World Wide Web CDas Sonsortium (W3C) ist der Entwickler von XML, und es wurde ein W3C Empfehlung .
Es gibt zwei Versionen von XML.
- XML1.0
- XML1.1
XML1.1 ist die neueste Version. Noch, XML1.0 ist die am häufigsten verwendete Version.
Herausgeber von XML sind:
- Tim Bray,
- Jean Paoli,
- CM Sperberg,
- Eve Maler,
- François Yergeau.
XML-Funktionen
Hier sind einige wichtige Funktionen von XML:
- Es ist erweiterbar und für Menschen lesbar.
- Es ist plattform- und sprachunabhängig.
- Es bleibt Leerraum erhalten.
- Insgesamt einfach.
- Selbstbeschreibender Charakter.
- Es trennt Daten von HTML.
- XML-Tags sind nicht vordefiniert. Sie müssen Ihre benutzerdefinierten Tags definieren.
- XML wurde entwickelt, um Daten zu übertragen und nicht, um diese Daten anzuzeigen.
- Der Markup-Code von XML ist für einen Menschen leicht zu verstehen.
- Das gut strukturierte Format lässt sich leicht aus Programmen lesen und schreiben.
- XML ist eine erweiterbare Auszeichnungssprache wie HTML.
XML-Kodierung
Unter Kodierung versteht man die Konvertierung von Unicode-Zeichen in ihre binäre Darstellung. UTF wird für die XML-Kodierung verwendet. UTF steht für UCS (UCS steht für Universal CCharakter Sund) TTransformation Format.
Grundsätzlich gibt es zwei Arten der UTF-Kodierung.
- UTF-8: UTF-8 verwendet 8 Bit zur Darstellung der Zeichen.
- UTF-16
Ejemplo:
<?xml version="1.0" encoding="UTF-8"?>
Zur Darstellung der Zeichen werden 16 Bit verwendet.
Ejemplo:
<?xml version="1.0" encoding="UTF-16"?>
Sie können die Codierung innerhalb der XML-Deklaration verwenden. UTF-8 ist die Standardkodierung in XML.
XML-Syntax
Das folgende Codesegment zeigt die grundlegende XML-Syntax.
<?xml version = "1.0" encoding = "UTF-8" ?> <root> <child> <subchild>.....</subchild> </child> </root>
XML-Deklaration
Die XML-Deklaration besteht aus der XML-Version, der Zeichenkodierung und/oder dem Standalone-Status. Die Deklaration ist optional.
Syntax für XML-Deklaration
Das folgende Codesegment zeigt die Syntax für die XML-Deklaration.
<?xml version="version_number," encoding="character_encoding" standalone="yes_or_no" ?>
XML-Deklarationsregeln
Im Folgenden finden Sie die XML-Deklarationsregeln.
- Wenn die XML-Deklaration vorhanden ist, muss sie als erstes angezeigt werden.
- Bei der XML-Deklaration wird die Groß-/Kleinschreibung beachtet und sie muss mit Kleinbuchstaben beginnen <?xml.
- Es hat kein schließendes Tag.
Beispiel einer XML-Deklaration
Der folgende Codeabschnitt zeigt ein Beispiel einer XML-Deklaration.
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
XML-Kommentare
Kommentare sind optional. Das Hinzufügen von Kommentaren hilft, den Dokumentinhalt zu verstehen.
Syntax für XML-Kommentare
Ein Kommentar beginnt mit <!– und endet mit ->.
Der folgende Codeabschnitt zeigt die Syntax für XML-Kommentare.
<!-- Add your comment here -->
XML-Tags und -Elemente
Tags funktionieren als Paare, außer bei Deklarationen. Jedes Tag-Paar besteht aus einem Tag öffnen (Auch bekannt als Starttag) Und eine schließendes Tag (Auch bekannt als End-Tag).
Tag-Namen sind eingeschlossen <>. Für ein bestimmtes Tag-Paar müssen die Start- und End-Tags identisch sein, mit Ausnahme des End-Tags / nach dem <.
<name>...</name>
Alles zwischen den öffnenden und schließenden Tags wird als bezeichnet Inhalt.
Das öffnende Tag, der Inhalt und das schließende Tag werden zusammen als ein bezeichnet Element.
Opening tag + content + closing tag = an element
Hinweis: Elemente können auch Attribute enthalten. Sie werden die Attribute sehr bald lernen.
Betrachten wir das folgende Element.
<age>20</age>
Im obigen Element gilt:
- Alter ist das Name des Elements.
Hinweis: Tag-Name auch als bezeichnet Element or Elementname.
- – Eröffnungs-Tag
- 25 - Inhalt
- – Schluss-Tag.
Wenn zwischen den Tags kein Inhalt vorhanden ist, wie unten gezeigt, wird darauf verwiesen leere Tags.
<result></result>
XML-Tag- und Elementregeln
Die folgende Liste zeigt XML-Tag- und Elementregeln.
- Bei Tags wird die Groß-/Kleinschreibung beachtet.
Ejemplo:
Richtig:
<age>20</age>
Falsch:
<age>20</Age>
Hinweis: ALTER, Alter, und Alter sind drei verschiedene Namen in XML.
- Alle XML-Dokumente müssen ein einzelnes Stammelement enthalten.
- Alle Elemente müssen ein schließendes Tag haben (außer Deklarationen).
- Ein Tag-Name muss mit einem Buchstaben oder einem Unterstrich beginnen und darf nicht mit dem beginnen XML
- Ein Tag-Name kann Buchstaben, Ziffern, Bindestriche, Unterstriche und Punkte enthalten. Bindestriche, Unterstriche und Punkte sind die einzigen zulässigen Satzzeichen.
- Ein Tag-Name darf keine Leerzeichen enthalten.
- Alle Elemente müssen ordnungsgemäß verschachtelt sein.
Ejemplo:
Richtig:
<b><u>This text is bold and italic</u></b>
Falsch:
<b><u>This text is bold and italic.</b></u>
XML-Attribute
Das Attribut für ein Element wird nach dem Tag-Namen im Start-Tag platziert. Sie können für ein einzelnes Element mehr als ein Attribut mit unterschiedlichen Attributnamen hinzufügen.
Betrachten wir das folgende XML-Dokument.
<company name="ABC Holdings" location="London"> <chairman>Mr. John</chairman> <gm>Mr. Wood</gm> </company>
Es gibt zwei Attribute im Unternehmen Element, dh Name und Standort.
Studieren wir die Name Attribut,
- name=“ABC Holdings“ – ein Attribut
- Name – Attributname
- ABC-Bestände - Attributwert
Note: Ein Attributname ist auch als ein bekannt Attribut.
Beachten Sie außerdem, dass im obigen Beispiel die Unternehmen ist das Wurzel Element.
XML-Attributregeln
Die folgende Liste zeigt XML-Attributregeln.
- Attributwerte müssen in Anführungszeichen stehen.
- Ein Element kann nicht mehrere Attribute mit demselben Namen enthalten.
Attribut versus Element
Sind Sie immer noch verwirrt über den Unterschied zwischen einem Attribut und einem Element? Hier ist ein weiteres Beispiel.
Betrachten wir die unten aufgeführten Dokumente A und B.
Dokument A:
<teacher subject="English"> <name>Mr. John</name>. <qualification>Graduate</qualification> </teacher>
Dokument B:
<teacher> <subject>English</subject> <name>Mr. John</name> <qualification>Graduate</qualification> </teacher>
In Dokument A ist die Fach ist ein Attribut.
In Dokument B ist die Fach ist ein Element.
XML-Entitäten
Was sind XML-Entitäten?
Vereinfacht ausgedrückt sind Entitäten eine Möglichkeit, Sonderzeichen darzustellen. Entitäten werden auch als bezeichnet Einheit Referenzen.
Warum benötigen Sie XML-Entitäten?
Einige Charaktere (wie z ", & <usw.) sind in XML reserviert. Sie werden als bezeichnet Sonderzeichen und können nicht direkt für andere Zwecke verwendet werden.
So befasst sich beispielsweise die < und > Symbole, die für verwendet werden Tags. Sie können nicht direkt über die Tastatur tippen weniger als und größer als Zeichen. Stattdessen müssen Sie Entitäten verwenden.
Die folgende Tabelle zeigt einige der gängigen XML-Entitäten.
Charakter | Beschreibung | Entitätsname | Anwendungsbereich |
---|---|---|---|
" | Anführungszeichen (doppeltes Anführungszeichen) | quot | " |
& | Et-Zeichen | amp | machen auf |
' | Apostroph (einfaches Anführungszeichen) | apos | " |
< | Less als Zeichen | lt | < |
> | Größer als Zeichen | gt | > |
Ejemplo:
<friend> <name>My friends are Alice & Jane.</name> </friend>
HTML versus XML
Ähnlichkeiten zwischen HTML und XML
Die folgende Liste zeigt die Ähnlichkeiten zwischen HTML und XML.
- Beides sind offene Formate.
- Beides sind Auszeichnungssprachen.
- Beide verwenden Tags und Attribute, um den Inhalt zu beschreiben.
Unterschiede zwischen HTML und XML
Auch wenn XML wie HTML ist, ist XML kein Ersatz für HTML. Es gibt auch einige wesentliche Unterschiede zwischen HTML und XML.
Die folgende Listentabelle zeigt einen Vergleich zwischen HTML und XML.
HTML | XML | |
---|---|---|
Steht für | Hypertext Markup Language | Extensible Markup Language |
Art der Sprache | Eine vordefinierte Auszeichnungssprache. | Ein Framework zum Spezifizieren von Auszeichnungssprachen. |
Strukturelle Details | Nicht vorgesehen. | Bereitgestellt. |
Sinn | Wird zum Anzeigen von Daten verwendet. | Wird zum Transport von Daten verwendet |
Angetrieben durch | Formatgesteuert. | Inhaltsorientiert. |
Natur | Hat einen statischen Charakter. | Hat einen dynamischen Charakter. |
Tag-Typ | Vordefinierte Tags. | Benutzerdefinierte Tags. |
Tag-Limit | Eine begrenzte Anzahl von Tags ist verfügbar. | Tags sind erweiterbar. |
Schluss-Tags | Es ist nicht notwendig, schließende Tags zu verwenden (wird jedoch empfohlen, schließende Tags zu verwenden). | Schließende Tags sind obligatorisch. |
Namespace-Unterstützung | Nicht unterstützt. | Unterstützt |
Groß- und Kleinschreibung | Bei Tags wird die Groß-/Kleinschreibung nicht beachtet. | Bei Tags wird die Groß-/Kleinschreibung beachtet. |
Leerraum | Leerraum kann nicht beibehalten werden (kann Leerraum ignorieren). | Leerraum bleibt erhalten (Leerraum kann nicht ignoriert werden). |
Parsen in JavaSkript | Keine zusätzliche Anwendung erforderlich. | Benötigen Sie eine DOM-Implementierung. |
Code-Verschachtelung | Nicht unbedingt erforderlich. | Erforderlich. |
Fehler | Kann kleine Fehler ignorieren. | Fehler sind nicht erlaubt. |
Dateinamenerweiterung | . Html or . Htm | . Xml |
Größe | Vergleichsweise groß. | Vergleichsweise klein. |
Zitate | Für Attributwerte sind keine Anführungszeichen erforderlich. | Erforderlich für XML-Attributwerte. |
Objektunterstützung | Bietet native Objektunterstützung. | Objekte müssen durch Konventionen ausgedrückt werden. |
Keine Unterstützung | Erkennt den Nullwert nativ. | Muss xsi:nil für Elemente verwenden. |
Formatierungsentscheidungen | Bietet direkte Zuordnung für Anwendungsdaten. | Erfordern einen größeren Aufwand. |
Lernkurve | Less steile Lernkurve im Vergleich zu XML. | Steile Lernkurve. |
Webseite | https://html.spec.whatwg.org/ | https://www.w3.org/TR/xml11/ |
Grundlegende HTML-Syntax
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> </body> </html>
Grundlegende XML-Syntax
<?xml version = "1.0" encoding = "UTF-8" ?> <root> <child> <subchild>.....</subchild> </child> </root>
Gleiches Beispiel mit HTML und XML
Mit HTML
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <p>Book</p> <p>Name: Anna Karenina</p> <p>Author: Leo Tolstoy</p> <p>Publisher: The Russian Messenger</p> </body> </html>
Mit XML
<?xml version = "1.0" encoding = "UTF-8" ?> <book> <name>Anna Karenina</name> <author>Leo Tolstoy</author> <publisher>The Russian Messenger</publisher> </book>
JSON versus XML
Ähnlichkeiten zwischen JSON und XML
Die folgende Liste zeigt die Ähnlichkeiten zwischen JSON und XML.
- Beides sind offene Formate.
- Beides ist selbsterklärend.
- Beide sind hierarchisch aufgebaut.
- Beide können von mehreren Programmiersprachen analysiert und verwendet werden.
Unterschiede zwischen JSON und XML
Es gibt auch einige Unterschiede zwischen XML und JSON.
Die folgenden Tabellen zeigen einen Vergleich zwischen JSON und XML.
JSON | XML | |
---|---|---|
Steht für | JavaSkriptobjektnotation | Extensible Markup Language |
Erweitert von | JavaSkript | SGML |
Datenspeicher | Daten werden als Schlüssel-Wert-Paare gespeichert. | Daten werden als Baumstruktur gespeichert. |
Namensräume | Keine Unterstützung für Namespaces. | Unterstützt Namespaces. |
Ihre Nachricht | Das Hinzufügen von Kommentaren wird nicht unterstützt. | Kann Kommentare hinzufügen. |
Datenzugriff | Leicht zugänglich als JSON-Objekte. | Daten müssen analysiert werden. |
Metadaten | Das Hinzufügen von Metadaten wird nicht unterstützt. | Kann Metadaten schreiben. |
Typen | JSON-Typen: String, Zahl, Array, Boolean. | Alle XML-Daten sollten sein Streicher. |
Unterstützte Datentypen | Unterstützt Text und Anzahl Nur Datentypen. | Unterstützt viele Datentypen (Text, Zahlen, Bilder usw.) |
Unterstützung des Arrays | Mehr Unterstützung für Arrays im Vergleich zu XML. | Keine oder weniger Unterstützung für Arrays. |
Unterstützung des Objekts | Native Unterstützung für Objekte. | Das Objekt muss durch Konventionen ausgedrückt werden. |
AJAX-Toolkit-Unterstützung | Unterstützt | Nicht vollständig unterstützt. |
Abrufen von Werten | Easy. | Schwierig. |
Deserialisieren/Serialisieren | Vollautomatisch. | Entwickler müssen schreiben JavaSkriptcode. |
Browser-Unterstützung | Wird von den meisten Browsern unterstützt. | Das browserübergreifende XML-Parsing kann schwierig sein. |
Codierung | Unterstützt nur UTF-8-Kodierung. | Es unterstützt verschiedene Kodierungen. |
Anzeigemöglichkeiten | Keine Anzeigemöglichkeiten. | Bieten Sie Anzeigemöglichkeiten. |
Dokumentgröße | Kleiner als XML. | Groß als JSON. |
Dateinamenerweiterung | .json | . Xml |
Sicherheit | Less gesichert. | Sicherer als JSON. |
Leicht zu lesen | Relativ einfach. | Relativ schwierig. |
Lernkurve | Leicht zu lernen. | Steile Lernkurve. |
Webseite | https://www.json.org/json-en.html | https://www.w3.org/TR/xml11/ |
Grundlegende JSON-Syntax
{string:value, .......}
Gleiches Beispiel mit JSON und XML
Mit JSON
{"books":[ {"name":"Anna Karenina", "author":"Leo Tolstoy"}, {"name":"One Hundred Years of Solitude", "author":"Gabriel Garcia Marquez"}, {"name":"The Great Gatsby", "author":"Scott Fitzgerald"}, {"name":"Invisible Man", "author":"Ralph Ellison"} ]}
Mit XML
<?xml version = "1.0" encoding = "UTF-8" ?> <books> <book> <name>Anna Karenina</name> <author>Leo Tolstoy</author> </book> <book> <name>One Hundred Years of Solitude</name> <author>Gabriel Garcia Marquez</author> </book> <book> <name>The Great Gatsby</name> <author>Scott Fitzgerald</author> </book> <book> <name>Invisible Man</name> <author>Ralph Ellison</author> </book> </books>
XML-DTD
Was ist DTD?
DTD steht für DBesetzung Typ DEndung. Es definiert die Struktur eines XML-Dokuments anhand einiger rechtlicher Elemente. XML-DTD ist optional.
DTD-Regeln
Die folgende Liste zeigt DTD-Regeln.
- Wenn eine DTD vorhanden ist, muss sie am Anfang des Dokuments erscheinen (nur die XML-Deklaration kann über der DTD erscheinen).
- Die Elementdeklaration muss mit einem beginnen ! Kennzeichen.
- Der DTD-Name und der Elementtyp des Root-Elements müssen identisch sein.
Beispiele für DTD
Beispiel einer internen DTD:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE student [ <!ELEMENT student (firstname,lastname,school)> <!ELEMENT firstname (#PCDATA)> <!ELEMENT lastname (#PCDATA)> <!ELEMENT school (#PCDATA)> ]> <student> <firstname>Mark</firstname> <lastname>Wood</lastname> <school>Hills College</school> </student>
Im obigen Beispiel ist
- !DOCTYPE-Student gibt den Anfang der DTD-Deklaration an. Und das Schüler ist das Stammelement des XML-Dokuments.
- !ELEMENT-Student zeigt die Schüler Element muss enthalten Vorname Nachname und Schule Elemente.
- !ELEMENT Vorname zeigt die Vorname Element ist vom Typ #PCDATEN (PArsch CCharakter Datum).
- !ELEMENT Nachname zeigt die Nachname Element ist vom Typ #PCDATEN.
- !ELEMENT-Schule zeigt die Schule Element ist vom Typ #PCDATEN.
Beispiel einer externen DTD:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE student SYSTEM "student.dtd"> <student> <firstname>Mark</firstname> <lastname>Wood</lastname> <school>Hills College</school> </student>
Der Inhalt der DTD-Datei (student.dtd) lautet wie folgt.
<!ELEMENT student (firstname,lastname,school)> <!ELEMENT firstname (#PCDATA)> <!ELEMENT lastname (#PCDATA)> <!ELEMENT school (#PCDATA)>
XML-DOM
Was ist DOM?
DOM steht für DBesetzung OObjekt Model. Es definiert eine Standardmethode für den Zugriff auf und die Bearbeitung von XML-Dokumenten. DOM hat eine (hierarchische) Baumstruktur.
Beispiel für DOM
Betrachten wir das folgende XML-Dokument.
<?xml version="1.0" encoding="UTF-8" ?> <school> <student> <name> <first_name>Alex</first_name> <last_name>Clarke</last_name> </name> <age>14</age> <address>No. 35, Flower Road, Leeds</address> </student> </school>
Die Baumstruktur der obigen XML-Datei würde wie im folgenden Bild aussehen.
XML-Validierung
Was sind wohlgeformte XML-Dokumente?
Wohlgeformt XML-Dokumente sind XML-Dokumente mit korrekter Syntax.
Was sind gültige XML-Dokumente?
Gültig XML-Dokumente sind wohlgeformt und entsprechen auch den DTD-Regeln.
XML-Namespaces
Warum Namensräume?
Namespaces helfen, Konflikte bei Elementnamen zu vermeiden.
Namespace-Deklaration
Nachfolgend sehen Sie die Syntax für die Namespace-Deklaration.
<element xmlns:name="URL">
In der obigen Erklärung heißt es:
- Das xmlns Das Schlüsselwort gibt den Anfang des Namensraums an.
- Das Name ist das Präfix des Namespace.
- Das URL ist die Namespace-ID.
Beispiele für Namespaces
Der folgende Codeabschnitt zeigt ein Beispiel für Namespaces.
<?xml version="1.0" encoding="UTF-8" ?> <abt:about xmlns:abt="https://www.guru99.com/about-us.html"> <abt:founder>Krishna</abt:founder> <abt:vision>Fun and Free Education for ALL</abt:vision> </abt:about>
XML-Editoren
Es stehen mehrere XML-Editoren zur Verfügung. Als XML-Editor kann jeder Texteditor (z. B. Notepad usw.) verwendet werden.
Die folgende Liste zeigt einige der beliebtesten XML-Editoren im Jahr 2021.
1) XML-Notizblock
XML Notepad ist ein Open-Source-Editor für XML. Es verfügt über eine Baumansicht und XSL-Ausgabe im linken Bereich und Knotentext auf der rechten Seite. Unten befindet sich ein Fehler-Debugging-Fenster.
Wichtige Statistiken:
- Typ – XML-Editor
- Entwickler – Microsoft
- Unterstütztes Betriebssystem – Microsoft Windows.
- Kostenlos
Link: http://microsoft.github.io/XmlNotepad/
2) Stylus Studio
Stylus Studio ist eine IDE, geschrieben in C++ für Extensible Markup Language (XML). Es ermöglicht einem Benutzer, XML-Dokumente, Daten wie Electronic Data Interchange (EDI), CSV und relationale Daten zu bearbeiten und zu transformieren.
Wichtige Statistiken:
- Typ – Integrierte Entwicklungsumgebung (IDE) für XML
- Entwickler – Progress Software Corporation
- Unterstütztes Betriebssystem – Microsoft Windows.
- Preis – Bezahlt (Den aktuellen Preis finden Sie auf der unten angegebenen Website), kostenlose Testversion verfügbar.
Link: http://www.stylusstudio.com/
3) Altova Xmlspy
XMLSpy wird hauptsächlich als JSON- und XML-Editor vermarktet. Es verfügt über einen integrierten Schema-Designer und -Editor. Es enthält Visual Studio und Eclipse Integration.
Wichtige Statistiken:
- Typ – XML-Editor
- Entwickler – Altova
- Unterstütztes Betriebssystem – Microsoft Windows.
- Preis – Bezahlt (Den aktuellen Preis finden Sie auf der unten angegebenen Website), kostenlose Testversion verfügbar.
Link:https://www.altova.com/xmlspy-xml-editor
4) Oxygen XML-Editor
Oxygen XML ist ein plattformübergreifender Editor, der in Java. Es hilft bei der Validierung von Schemata wie DTD, W3C XML Schema, RELAX NG, Schematron, NRL und NVDL-Schemas.
Wichtige Statistiken:
- Typ – XML-Editor
- Entwickler – SyncRO Soft Ltd
- Unterstütztes Betriebssystem – Windows, Linux und Mac OS X
- Preis – Bezahlt (Den aktuellen Preis finden Sie auf der unten angegebenen Website
Link:https://www.oxygenxml.com/
5) Xmplifizieren
Xmplify XML Editor bietet eine vollständig XML-fähige Bearbeitungsumgebung mit DTD- und XML-Schema-basierter automatischer Dokumentenvalidierung usw.
Wichtige Statistiken:
- Typ – XML-Editor
- Entwickler – MOSO Corporation
- Unterstütztes Betriebssystem – Mac OS.
- Preis – Bezahlt (Den aktuellen Preis finden Sie auf der unten angegebenen Website
Link: http://xmplifyapp.com/
XML-Parser
Ein XML-Parser ist eine Softwarebibliothek, die eine Schnittstelle für die Arbeit mit XML-Dokumenten bereitstellt. Es prüft, ob das Format des XML-Dokuments korrekt ist. Einige Parser können auch die XML-Dokumente validieren. Moderne Browser verfügen über XML-Parser.
SAX
SAX steht für SUmsetzung API für XML. Es ist ein aAnwendung programm iSchnittstelle (API) zum Parsen von XML-Dokumenten. Sie verhalten sich ähnlich wie die Event-Handler in Java.
Im Gegensatz zu DOM ist SAX ein Beispiel für einen ereignisbasierten XML-Parser.
Hier sind einige wichtige Unterschiede zwischen SAX und DOM.
SAX | DOM | |
---|---|---|
Steht für | Einfache API für XML | Dokumentobjektmodell |
Art des Parsers | Ereignisbasiert | Objektbasiert |
XML lesen und schreiben | Nur-Lese- | Sowohl lesen als auch schreiben |
Knoten einfügen/aktualisieren/löschen | Knoten können nicht eingefügt/aktualisiert/gelöscht werden | Kann Knoten einfügen/aktualisieren/löschen |
Speichereffizienz | Gute Speichereffizienz | Variiert |
Schnelligkeit | Langsamer als DOM-Parser | Schneller als SAX Parser |
Geeignet für | Kleine Dateien | Große Dateien |
XML-Datenbindung
Unter XML-Datenbindung versteht man die Darstellung von Daten in einem XML-Dokument als Geschäftsobjekt im Speicher eines Computers.
Es gibt drei Ansätze für die XML-Datenbindung.
- XML-Schema-basierte Datenbindung: Auf Basis des Schemas werden entsprechende XML-Klassen erstellt.
- Klassenbasierte Datenbindung: Basierend auf Klassen wird ein entsprechendes XML-Schema erstellt.
- Mapping-basierte Datenbindung: Es beschreibt, wie ein vorhandenes XML-Schema einer Reihe von Klassen zugeordnet wird (und umgekehrt).
Es gibt auch XML-Datenbindungs-Frameworks.
Beispiele:
Die XML-Datenbindung ist mit Frameworks einfach. Das Datenbindungsframework generiert eine große Menge Code für Sie. Sie müssen ein DTD- oder XML-Schema eingeben.
XML-Schemas
XML Schema (auch bekannt als XML-Schemadefinition or XSD) werden zur Beschreibung der XML-Dokumentstruktur verwendet. Es ist eine Alternative zu DTD.
Warum ist Schema wichtig?
DTD ist als Schema nicht leistungsstark, da sie nicht erweiterbar und flexibel genug ist. Daher ist es für einige Situationen möglicherweise nicht geeignet. In einer solchen Situation ist das Schema wichtig. Der Hauptzweck der Verwendung eines XML-Schemas besteht darin, die Elemente und Attribute eines XML-Dokuments zu definieren.
Wie unterscheidet sich XML-Schema von DTD?
Der folgende Vergleich zeigt, wie sich XSD (XML-Schema) von DTD unterscheidet.
DTD | XSD | |
---|---|---|
Steht für | Dokumenttyp-Definition | XML-Schemadefinition |
Erweiterbarkeit | Nicht erweiterbar | ausziehbar |
Kontrolle der XML-Struktur | Less Smartgeräte App | Mehr Kontrolle |
Unterstützte Datentypen | Nicht unterstützt | Unterstützte |
Namespace-Unterstützung | Nicht unterstützt | Unterstützte |
Das folgende Codesegment zeigt ein Beispiel für ein XML-Schema.
xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema"> <xs:element name = "employee"> <xs:complexType> <xs:sequence> <xs:element name = "firstname" type = "xs:string" /> <xs:element name = "lastname" type = "xs:string" /> <xs:element name = "phone" type = "xs:int" /> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
Vorteile von XML
Hier die Vorteile/Vorteile von XML:
- Es erleichterte den Transport und Austausch von Daten.
- XML verbessert den Datenaustausch zwischen verschiedenen Plattformen.
- Es handelt sich um eine Auszeichnungssprache, bei der es sich um eine Reihe von Zeichen und/oder Symbolen handelt, die in einem Textdokument platziert werden.
- XML gibt an, wie das XML-Dokument nach der Anzeige aussehen soll.
- Es vereinfacht den Plattformwechselprozess.
- Es verbessert die Datenverfügbarkeit.
- Es unterstützt mehrsprachige Dokumente und Unicode.
- Bieten Sie relativ einfach zu erlernendes und zu programmierendes Programm.
- Es handelt sich um eine Auszeichnungssprache, bei der es sich um eine Reihe von Zeichen und/oder Symbolen handelt, die in einem Textdokument platziert werden.
- Es führt eine Validierung mithilfe von DTD und Schema durch.
- Macht Dokumente system- und anwendungsübergreifend transportierbar. Mithilfe von XML können Sie Daten schnell zwischen verschiedenen Plattformen austauschen.
- XML trennt die Daten von HTML.
Nachteile von XML
Hier sind die Vor- und Nachteile der Verwendung von XML:
- XML erfordert eine Verarbeitungsanwendung.
- Die XML-Syntax ähnelt anderen alternativen „textbasierten“ Datenübertragungsformaten, was manchmal verwirrend ist.
- Keine intrinsische Datentypunterstützung
- Die XML-Syntax ist redundant.
- Erlaubt dem Benutzer nicht, seine Tags zu erstellen.
Zusammenfassung
- XML steht für eXtensible Markup Language. XML ist eine Sprache (keine Programmiersprache), die das Markup nutzt und erweitern kann.
- Das Hauptziel besteht darin, Daten zu transportieren und nicht darin, Daten anzuzeigen.
- XML 1.1 ist die neueste Version. Dennoch ist XML 1.0 die am häufigsten verwendete Version.
- Tags funktionieren als Paare, außer bei Deklarationen.
- Öffnendes Tag + Inhalt + schließendes Tag = ein Element
- Entitäten sind eine Möglichkeit, Sonderzeichen darzustellen.
- DTD steht für Document Type Definition. Es definiert die Struktur eines XML-Dokuments anhand einiger rechtlicher Elemente. XML-DTD ist optional.
- DOM steht für Document Object Model. Es definiert eine Standardmethode für den Zugriff auf und die Bearbeitung von XML-Dokumenten.
- Wohlgeformte XML-Dokumente sind XML-Dokumente mit korrekter Syntax.
- Gültige XML-Dokumente sind wohlgeformt und entsprechen auch den DTD-Regeln.
- Namespaces helfen, Konflikte bei Elementnamen zu vermeiden.