Was ist XML?
XML ist eine vielseitige Markup-Sprache zur Strukturierung und Übertragung von Daten. Sie verfügt über anpassbare Tags, eine hierarchische Struktur und Schema-Definitionen. Im Gegensatz zu HTML konzentriert sich XML auf die Datenrepräsentation und nicht auf die Darstellung.
Extensible Markup Language (XML) verwendet Tags, um anzugeben, wie Text in Datendateien strukturiert, gespeichert und übertragen werden soll. XML ist so konzipiert, dass es sowohl von Menschen als auch von Maschinen lesbar ist, was es zu einem leistungsstarken und hochgradig anpassbaren Markup-Tool macht.
XML wurde 1996 vom World Wide Web Consortium (W3C) erstellt. Das Ziel des W3C war es, eine Sprache zu schaffen, die helfen könnte, Dokumententypen zu definieren und die Möglichkeit bietet, benutzerdefinierte Tags zu erstellen. Der resultierende Markup-Sprachtyp ermöglicht es, wie Daten auf einer Seite markiert werden, bevor sie als XML-Datei mit einem anderen System geteilt werden. Solange zwei Systeme dieselbe XML-Sprache verwenden (mit Tags, die beide interpretieren können), können beide Systeme das XML-Dateiformat "verstehen". Wenn XML ordnungsgemäß implementiert wird, wird sichergestellt, dass jede Datendatei gespeichert, übertragen und dann verwendet werden kann, wobei jedes Mal dieselben Daten und dieselbe Struktur reproduziert werden, wenn darauf zugegriffen wird.
XML-Inhaltsbeispiel
XML-Daten bestehen aus Text in einer digitalen Datei. Ähnlich wie bei HTML erstellen Sie den erforderlichen "Code" für XML-Dateien, indem Sie Tags einfügen, um anzugeben, wie der Text interpretiert werden soll. Zum Beispiel:
Dieses Beispiel zeigt drei Benutzer. Der XML-Inhalt umfasst Namen, Benutzernamen, E-Mail und Benutzerstufe.
Dies erzeugt ein XML-Dokument, das zwischen Identitätsanbietern und Ressourcenanbietern geteilt und gelesen werden kann.
Wichtig ist, dass das obige Beispiel die hierarchische Natur von XML-Dokumenten demonstriert. Zum Beispiel:
- Der Inhalt der ersten Zeile
<?xml version="1.0" encoding="UTF-8"?>
ist die XML-Deklaration, die die Version und Kodierung angibt - In einem XML-Dokument muss ein Wurzelelement vorhanden sein, das in diesem Beispiel
<users>
ist - Alle anderen Elemente innerhalb des Wurzelelements werden als "Kindelemente" bezeichnet
- Im obigen Beispiel gibt es 3 Kindelemente, die mit dem
<user>
Tag markiert sind - Innerhalb der
<user>
Kindelemente befinden sich mehrere weitere Kindelemente, wie<name>
,<username>
,<email>
und<level>
- Auf dem
<user>
Tag gibt es auch eineid
, die als XML-Attribut bezeichnet wird. Ein Element kann nicht mehrere Attribute mit demselben Namen enthalten
Die verwendeten Tags zeigen, welcher Datentyp vorliegt, wobei Klartext als die Daten selbst dient. Beachten Sie auch, wie der Inhalt eingerückt ist. Dies dient nicht dazu, Systemen zu helfen, die XML-Datei zu verarbeiten, sondern Menschen, die XML-Datei und ihre hierarchische Reihenfolge leichter zu durchsuchen, um alle Fehler oder Auslassungen zu entdecken und zu beheben.
Was ist ein XML-Schema?
Ein Schema fungiert als die "Definition" für ein XML-Dokument. Dies bedeutet, es beschreibt die wichtigsten Regeln und Einschränkungen der XML-Dateistruktur sowie Kontrollen über Inhalte und Datentypen—regelnd, wie sie innerhalb des Dokuments miteinander interagieren. Dies stellt sicher, dass die Datenintegrität von XML jederzeit geschützt bleibt, selbst wenn sie zwischen verschiedenen Anwendungen oder sogar Systemen verarbeitet wird.
Die beiden Hauptschema-Sprachen sind Document Type Definition (DTD) und XML Schema Definition (XSD). XSD ist die am häufigsten verwendete Sprache in XML-Dokumenten aufgrund ihres umfangreichen Funktionssatzes, leistungsstarker Datentyp-Fähigkeiten und mehr.
Was ist XML-Syntax?
Wenn XML-Schemas wie XSD detaillierte Spezifikationen für XML-Dokumente bieten, um deren Gültigkeit zu gewährleisten, dann bietet XML-Syntax eine Reihe von Regeln, die die gesamte Struktur von XML-Dateien steuern und kontrollieren. Zum Beispiel kann XML-Syntax Textinhalte umfassen, wie selbstschließende Elemente (einzelne Informationen, die keine zusätzlichen Inhalte benötigen) oder XML-Deklarationen (am Anfang von Dokumenten verwendet, um wichtige Informationen zu beschreiben, wie Zeichensatzkodierung) sowie die von dem Dokument verwendete XML-Version.
XML vs HTML
Wenn du mit HTML vertraut bist, wird dir die Art und Weise, wie XML-Dateien Markup verwenden, sehr vertraut vorkommen—aber es gibt einen wesentlichen Unterschied zwischen diesen beiden Markup-Sprachen—ihre Anwendungszwecke und Ziele unterscheiden sich:
- HTML ist eine Markup-Sprache, die Browsern hilft zu verstehen, wie Inhalte auf dem Bildschirm angezeigt werden sollen
- XML ist eine Markup-Sprache, die verwendet wird, um Daten zu speichern, anzuzeigen und zu übertragen
Darüber hinaus gibt es noch einige weitere Unterschiede:
- Da HTML zur Anzeige von Seiteninhalten für Browser gedacht ist, sind seine Tag-Typen vordefiniert, während XML-Tags an tatsächliche Situationen angepasst werden können
- HTML ist oft statisch, da es zur Darstellung von Inhalten verwendet wird; XML ist dynamisch, da es zum Übertragen von Daten verwendet wird
- HTML unterstützt keine Namensräume, während XML Namensräume verwenden kann, um Tags zu unterscheiden, die denselben Namen haben könnten, aber in unterschiedlichen Kontexten verwendet werden, um Verwechslungen zu vermeiden
In diesem Beispiel:
tech:title
verwendet<http://www.example.com/tech>
als Namensraum, was anzeigt, dass dieses<title>
Element zumtech
Namensraum gehörtbio:author
verwendet<http://www.example.com/bio>
als Namensraum, was anzeigt, dass dieses<author>
Element zumbio
Namensraum gehört
Wie wird XML in Logto verwendet?
Logto unterstützt das SAML-Protokoll für SSO. Bei der Konfiguration von SSO liefert der Identitätsanbieter eine XML-Format-Konfigurationsdatei, die wichtige Konfigurationen wie Zertifikate und SSO-URLs enthält.
Bei der Konfiguration von SAML SSO ermöglicht es Logto, die vom Identitätsanbieter erhaltene XML-Konfigurationsdatei direkt hochzuladen, ohne dass jede Konfiguration manuell ausgefüllt werden muss.