Wiederverwendete Konfiguration

YAML-AnkerJede Referenz bis zur Definition verfolgen

Anker, Alias-Ziele und ein getrenntes Ergebnis ohne Referenzen untersuchen.

YAML-Anker

YAML-Eingabe

Expandiertes YAML

Die Eingabe bleibt in diesem Browser. Sie wird weder hochgeladen noch ausgeführt, gespeichert oder in eine URL aufgenommen.

Merge ist zunächst aus. Explizite Schlüssel und frühere Quellmaps haben Vorrang; die Zusammenführung bleibt flach. Das Merge-Beispiel zeigt auch die Aktivierung in der Vorschau.

yaml 2.9.0 · Quelldirektiven müssen zur gewählten Version passen. Die Ausgabe deklariert ihre Version.

500.000 UTF-16-Einheiten / 2 MB UTF-8; 100 Dokumente; 50.000 Quellknoten und Expansionsbesuche; Tiefe 100; 5.000 Graphzeilen; 2 Mio. Ausgabezeichen und Skalar-Arbeitseinheiten; 5 Sekunden.

Referenzgraph der Quelle

Pfeile führen von der Definition zur Verwendung. Beide Positionen führen zur Eingabe. „Ziel gefunden“ bestätigt eine Definition, aber keine endliche Expansion eines Zyklus.

YAML eingeben oder eine Analyse starten.

YAML-Anker sparen Wiederholungen, verbergen aber auch, woher ein Wert stammt. Bei mehrfach vergebenen Namen zeigt der Referenzgraph für jede Verwendung die tatsächlich gültige vorherige Definition samt Zeile und Spalte.

Hier lassen sich YAML-Anker und Aliase prüfen und YAML expandieren, ohne den Eingabetext sofort zu ersetzen. Merge-Schlüssel sind separat zuschaltbar. Scheitert die Expansion, bleiben bereits erfasste Referenzen zur Fehlersuche sichtbar.

Warum YAML-Anker sichtbar machen?

Vererbte Werte vor einer Änderung nachvollziehen

Gleicher Name, andere Definition

YAML-Anker dürfen mehrfach denselben Namen tragen. Jeder Alias verwendet die nächstgelegene vorherige Definition im selben Dokument. Der Graph unterscheidet diese Stellen, statt gleichnamige Anker zu einem Knoten zusammenzufassen. Ein & oder * innerhalb einer Zeichenkette ist keine Referenz.

Zwei farblich getrennte Definitionen führen zu ihren späteren Verwendungen; eine rote Schleife markiert eine zyklische Abhängigkeit.

Vorrang von Werten prüfen

Mit aktivierter Merge-Erweiterung gewinnen explizite Einstellungen gegenüber geerbten. Bei mehreren Quellmaps liefert die erste den maßgeblichen Standardwert. Die Vorschau hilft, diese Entscheidung zu prüfen, bevor das Ergebnis die Eingabe ersetzt.

Zwei Quellmaps speisen eine Ergebniskarte; ein lokaler Wert ersetzt einen geerbten Wert, während ein verschachtelter Block ganz bleibt.

Drei Entscheidungen vor dem Übernehmen

Schema, Fundstellen und Wiederherstellung bewusst nutzen

01

Version und Merge getrennt wählen

Standard ist YAML 1.2 Core; Merge ist bei 1.2 und 1.1 zunächst aus. YAML 1.1 deutet etwa yes und Datumswerte anders. Eine %YAML-Direktive muss zur Auswahl passen. Das Merge-Beispiel zeigt vor dem Anwenden sowohl den Ersatztext als auch die Aktivierung der Option.

02

Zur richtigen Definition springen

Ein Klick auf Definition oder Verwendung fokussiert die Quellzeile und Spalte. Pro Seite erscheinen 50 Referenzen, auch ungenutzte Definitionen. Bei Fehlern bleiben fehlende Ziele und erkannte Zykluskanten sichtbar; nach einem Limitfehler kann der Graph nur teilweise vorliegen.

03

Ergebnis mit Rückweg übernehmen

Ergebnis übernehmen, Beispiele, Leeren und Dateiimport öffnen eine Vorschau mit Zeilenzahlen. Anwenden bewahrt einen Rückgängig-Schritt für Eingabe, Optionen und Analyse. Manuell startet Ctrl/Cmd+Enter, automatisch erfolgt die Analyse nach 350 ms Ruhe. Veraltete Ergebnisse sind nicht exportierbar.

Quellstruktur statt Textmustersuche

Von Alias-Zielen bis zu typisierten Skalaren

Exakte Positionen

Lexer und Syntaxbaum erkennen echte Ankereigenschaften und Aliasknoten, auch an Zeichenkettenschlüsseln oder auf einer eigenen Zeile. Anführungszeichen und mehrzeilige Textblöcke erzeugen keine Scheinreferenzen. Jedes Dokument erhält eine eigene Definitionstabelle.

Rekursion erkennen

Zyklische YAML-Graphen können gültig sein, lassen sich aber nicht immer in einen endlichen Text ohne Aliase überführen. Die Prüfung meldet die betroffene Kante, behält erfasste Referenzen und sperrt die gesamte Ausgabe. „Ziel gefunden“ allein bestätigt keine erfolgreiche Expansion.

Flache Zusammenführung

Merge akzeptiert Maps, Map-Aliase und Folgen von Maps. Explizite Schlüssel setzen sich unabhängig von ihrer Position durch, sonst gewinnt die frühere Quelle. Verschachtelte Objekte werden als ganze Werte ersetzt; Listen werden nicht verkettet.

Skalare ohne JSON-Umweg

Die Expansion kopiert Syntaxbaumknoten. Große Ganzzahlen, Zahlenschreibweisen, spezielle Fließkommawerte und Timestamp-Tokens bleiben erhalten. Vor dem Export wird die Ausgabe erneut mit demselben Schema geparst und auf Werterhaltung geprüft.

Welche Grenzen gelten?

Ein endlicher YAML-Wert bleibt das Ziel

Versionskonflikte stoppen die Analyse
yaml 2.9.0 verarbeitet YAML 1.2 Core oder das YAML-1.1-Schema. Widersprechende %YAML-Direktiven führen zum Fehler. Jedes Ausgabedokument deklariert die Auswahl. Merge bleibt eine eigenständige Erweiterung und ist auch unter 1.1 standardmäßig deaktiviert.
Merge ist keine tiefe Vereinigung
Aktiviert wirken unzitierte <<- und !!merge-Schlüssel als Merge. Mehrere Merge-Schlüssel sind als Engine-Erweiterung zulässig und werden in Quellreihenfolge behandelt: frühere Maps gewinnen, explizite Schlüssel haben immer Vorrang. Zitierte << und !!str << bleiben normale Zeichenketten. Ohne Merge ist auch unzitiertes << ein normaler Schlüssel; doppelte normale Schlüssel werden abgewiesen.
Nur Zeichenkettenschlüssel
Schlüssel müssen Zeichenketten ergeben, auch bei Aliasen auf verankerte Zeichenketten. Zahlen, boolesche Werte, null und Sammlungen sind als Schlüssel unzulässig. Unterstützt sind Core-Tags, timestamp und binary mit kanonischem Base64 samt Padding. Unbekannte Tags sowie set, omap und pairs werden abgewiesen; eigene Konstruktoren laufen nicht.
Werte erhalten, Format neu schreiben
Die Ausgabe entfernt Anker- und Alias-Syntax, Kommentare und ursprüngliche Abstände. Zahlen- und Timestamp-Tokens werden ohne Rundung über Number oder Date kopiert. Spezielle Floats und Binärdaten bleiben YAML-Typen; Zeichenketten können andere Anführungszeichen erhalten. Die Originaldatei wird nicht automatisch überschrieben.
Dokumentgrenzen bleiben bestehen
Aliase brauchen eine vorherige Definition im eigenen Dokument. Vorwärtsreferenzen und dokumentübergreifende Ziele scheitern. Erneute Ankernamen sind zulässig, doppelte Map-Schlüssel dagegen nicht. Compose-Interpolation, include, GitLab extends oder !reference, Helm-Vorlagen, JSON $ref und Dateiimporte werden nicht ausgewertet.
Begrenzte Arbeit statt gekürzter Ausgabe
Es gelten 500.000 UTF-16-Einheiten und 2 MB UTF-8 Eingabe, 100 Dokumente, 50.000 Quellknoten und Tiefe 100. Die 50.000 Expansionsbesuche zählen auch wiederholte Aliase, überschriebene Merge-Quellen und Merge-Schlüssel. Quell- und Wertskalare teilen 2 Mio. Arbeitseinheiten; zusätzlich gelten 2 Mio. Ausgabezeichen, 5.000 Graphzeilen und 5 Sekunden pro Worker. Jeder Fehler sperrt den kompletten Export.

Fragen zu YAML-Anker und Expansion

Typen und Referenzen richtig einordnen

Was passiert mit Ankern und Aliasen?

YAML-Anker definieren wiederverwendbare Werte. Hier zeigt der Graph die Beziehung zwischen Definition und Alias; das getrennte Ergebnis ersetzt die Aliase durch Wertkopien. Ein Zyklus kann eine endliche Expansion verhindern. Navigation allein verändert den Eingabetext nicht.

Kann eine Datei mehrere YAML-Dokumente enthalten?

Ja, bis zu 100 Dokumente werden getrennt analysiert und ausgegeben. Die Ankernamen gelten nur innerhalb des jeweiligen Dokuments. Ein Alias kann keine Definition hinter einer Dokumentgrenze verwenden, selbst wenn der Name dort vorhanden ist.

Was geschieht bei einem Syntaxfehler?

Die Diagnose nennt nach Möglichkeit Zeile und Spalte. Es gibt keinen exportierbaren Teilerfolg. Bereits erfasste Quellreferenzen bleiben zur Untersuchung sichtbar; bei früh auftretenden Fehlern oder Limits können sie unvollständig sein.

Warum ist ein doppelter Schlüssel ein Fehler statt „der letzte gewinnt“?

Normale Map-Schlüssel müssen eindeutig sein, auch nach Auflösung eines Alias-Schlüssels. So geht kein Wert unbemerkt verloren. Wiederverwendete Ankernamen sind etwas anderes und zulässig. Mehrere aktive Merge-Schlüssel sind eine gesonderte Erweiterung mit festgelegtem Vorrang.

Werden lange Zahlen verändert oder .inf zu null?

Diese Seite konvertiert nicht über JSON. Sie kopiert Zahlen-Tokens aus dem Syntaxbaum und erhält große Ganzzahlen sowie .inf als YAML-Werte. Auch Timestamp-Schreibweisen bleiben erhalten. Eine nachgeschaltete Anwendung kann Typen anders lesen; prüfen Sie deren Schema separat.

Eine unerwartete Referenz oder einen Skalar gefunden?

YAML-Anker jetzt untersuchen

YAML-Anker zeigen, welche Werte eine Konfiguration wiederverwendet. Prüfen Sie Ziele und expandierte Ausgabe vor dem Ersetzen.

Die expandierte Datei benötigt weiterhin die Prüfung durch ihre Zielanwendung.