YAML, kurz für "YAML Ain't Markup Language," ist ein vom Menschen lesbares Datenserialisierungsformat, das häufig bei Konfigurationsdateien, beim Datenaustausch und bei der Applikationsprogrammierung zum Einsatz kommt. Die meisten Programmiersprachen bieten Bibliotheken oder integrierte Unterstützung für das Parsen von YAML-Dokumenten. YAML ist als einfach zu lesendes und schreibendes Format konzipiert, wodurch es sich ausgezeichnet für Konfigurationen eignet, die vom Menschen bearbeitet werden müssen.
Einer der Hauptvorteile von YAML ist seine Einfachheit und Flexibilität. Zur Definition hierarchischer Strukturen werden in YAML Einrückungen und Doppelpunkte verwendet, sodass das Dokument prägnant und leicht verständlich ist. YAML unterstützt die verschiedensten Datentypen, darunter Skalare (Strings, Zahl, Boolean), Sequenzen (Listen) und Zuordnungen (Schlüssel-Wert-Paare). Außerdem unterstützt YAML Anker und Aliasse, wodurch Daten wiederverwendet und komplexe Datenstrukturen effizient dargestellt werden können.
YAML-Dateien haben normalerweise die Dateierweiterung .yaml oder .yml.
In vielen modernen Applikationen und Systemen wird für Konfigurationsdateien, den Datenaustausch und API Payloads eine Kombination aus XML, JSON und YAML verwendet.
Neben seinem YAML-Editor bietet XMLSpy umfangreiche Unterstützung für XML und JSON. Dadurch, dass alle diese Formate in einem einzigen Editor unterstützt werden, können Entwickler flexibel mit Dateien aus verschiedenen Quellen arbeiten und diese nahtlos in ihre Projekte integrieren.
XMLSpy bietet die folgenden YAML-Funktionalitäten:
Zusätzlich zum Text-Editor bietet XMLSpy eine Grid-Ansicht für die visuelle Bearbeitung von YAML-Dokumenten. Entwicklern, die mit der XML-Grid-Ansicht und der JSON-Grid-Ansicht in XMLSpy arbeiten, wird die YAML-Grid-Ansicht sofort vertraut sein.
In der YAML-Grid-Ansicht wird die Struktur des Dokuments grafisch und dadurch viel übersichtlicher dargestellt, als der entsprechende Code in der Textansicht wäre. Die Grid-Ansicht ermöglicht die Interaktion mit YAML-Daten in einem benutzerfreundlicheren Format, wodurch weniger Fehler als beim manuellen Bearbeiten von YAML-Rohdaten (wie z.B. falsche Einrückungen) entstehen. Die Möglichkeit YAML-Datenabschnitte erweitert und reduziert anzeigen zu lassen erleichtert die Navigation in großen Dateien und das Auffinden bestimmter Elemente.
Innovative Tools wie der Tabellenmodus (oben im markierten Bereich zu sehen) und XPath/XQuery-Filter machen die YAML-Grid-Ansicht zu einer besonders nützlichen Ansicht. Außerdem bietet die Grid-Ansicht eine Vielzahl von Tools, die das Arbeiten mit YAML-Daten erleichtern:
Da die YAML-Spezifikation kein Schema enthält, unterstützt XMLSpy die Validierung von YAML-Dokumenten anhand von JSON-Schemas, um die Dokumente auf Datenkonsistenz und Fehler zu überprüfen. Unterstützt werden sowohl herkömmliche JSON-Schemas als auch in YAML-Schemas (in YAML-Syntax geschriebene JSON-Schemas). JSON-Schemas und YAML-Schemas können im grafischen JSON-Schema-Editor von XMLSpy einfach bearbeitet werden.
Über das Register "JSON" des XMLSpy Info-Fensters können Sie Ihrem YAML-Dokument ein Schema zuweisen. Die Validierungsergebnisse werden im Dokument markiert und die Details der Validierung werden im Fenster "Meldungen" angezeigt. Um Fehler schnell zu beheben, klicken Sie im Fenster "Meldungen" auf einen Fehler, um zum entsprechenden Fehler im Dokument zu gelangen.
Um die Kompatibilität und Interoperabilität zu gewährleisten, unterstützt XMLSpy die Konvertierung zwischen YAML, XML und JSON mit einem Klick.
Dazu gehören die folgenden Konvertierungen:
XMLSpy kann ein JSON- oder ein YAML-Schema anhand einer YAML-Instanz generieren. Diese Funktion ist sehr nützlich, da Sie dadurch sofort ein auf einem vorhandenen YAML-Dokument basierendes Schema zur Verfügung haben. Dadurch sparen Sie sich die Mühe, manuell ein Schema von Grund auf neu erstellen zu müssen. Sie können das generierte Schema anschließend Ihren Anforderungen entsprechend anpassen oder erweitern.