Referencias de configuración

Anclas YAMLComprueba qué definición usa cada alias

Consulta las referencias del origen y revisa por separado el resultado expandido.

Anclas YAML

Entrada YAML

YAML expandido

La entrada permanece en este navegador. No se sube, ejecuta, guarda ni añade a una URL.

La fusión empieza desactivada. Ganan las claves explícitas y los primeros mapas de origen; la fusión es superficial. Su ejemplo también muestra la activación de la opción.

yaml 2.9.0 · Las directivas deben coincidir con la versión elegida. La salida declara su versión.

500.000 unidades UTF-16 / 2 MB UTF-8; 100 documentos; 50.000 nodos y visitas de expansión; profundidad 100; 5.000 filas de grafo; 2 millones de caracteres y unidades de trabajo escalar; 5 segundos.

Grafo de referencias del origen

Las flechas van de la definición al uso. Pulsa cualquiera de las posiciones para volver al texto. «Destino encontrado» identifica una definición; no garantiza que un ciclo pueda expandirse.

Introduce YAML o inicia un análisis.

Las anclas YAML permiten reutilizar valores, pero el nombre por sí solo no explica qué definición se aplica. El grafo distingue cada aparición y conecta el alias con la definición anterior más cercana del mismo documento.

Inspecciona anclas y alias YAML en archivos de configuración o en YAML multidocumento. El contenido expandido YAML permite revisar valores concretos, mientras que el grafo conserva las referencias recogidas incluso cuando la expansión falla.

Por qué inspeccionar las anclas YAML

Haz visibles las decisiones de reutilización

Seguir la definición correcta

Las anclas YAML con el mismo nombre siguen siendo nodos distintos. Cada uso apunta a la definición anterior más cercana dentro de su documento. La posición permite distinguirlas; un & o * dentro de una cadena no se confunde con una referencia.

Dos definiciones de distinto color se conectan con sus usos posteriores y una curva roja muestra una dependencia circular.

Revisar qué valor prevalece

La fusión opcional expone los valores heredados: una clave explícita gana siempre y, entre varios mapas de origen, gana el primero. La salida permanece separada hasta que revises y apliques la sustitución.

Dos mapas alimentan el resultado; una clave local sustituye el valor heredado y un objeto anidado permanece completo.

Tres controles que evitan sorpresas

Elige cómo interpretar y sustituir el contenido

01

Separar versión y fusión

El valor inicial es YAML 1.2 Core, con fusión desactivada tanto en 1.2 como en 1.1. La versión 1.1 cambia la interpretación de yes y fechas. Las directivas %YAML deben coincidir con la selección. El ejemplo de fusión muestra en la vista previa tanto el texto como la activación de la opción.

02

Navegar hasta el origen

Pulsa la definición o el uso para enfocar su línea y columna. El grafo presenta 50 filas por página e incluye definiciones sin usos. Tras un fallo conserva destinos ausentes y ciclos detectados; si se alcanza un límite, puede mostrar solo una parte de las referencias.

03

Conservar un paso para deshacer

Usar resultado, ejemplos, Vaciar e importar archivo abren una vista previa con recuento de líneas. Aplicar conserva un paso de Deshacer para entrada, opciones y análisis. Ctrl/Cmd+Intro inicia el modo manual; el automático espera 350 ms tras editar. No se exportan resultados desactualizados.

Referencias y valores con su tipo

Analizar la estructura sin pasar por JSON

Posiciones reales

El analizador léxico y el árbol sintáctico reconocen anclas y alias, incluso en claves de texto o en una línea aparte. Las cadenas entre comillas y los bloques multilínea siguen siendo datos. Cada documento tiene su propia tabla de definiciones.

Ciclos diagnosticables

Un grafo YAML recursivo puede ser válido, aunque no exista una expansión finita sin alias. La detección señala las aristas implicadas, conserva las referencias recogidas y bloquea toda la salida. Encontrar el destino no equivale a haber expandido su valor.

Fusión superficial

Se admiten mapas, alias de mapas y secuencias de mapas como origen. Las claves explícitas tienen prioridad sin importar su posición, seguidas por los primeros orígenes. Los objetos anidados se sustituyen completos y las secuencias no se concatenan.

Tokens escalares conservados

Se copian nodos sintácticos para conservar enteros grandes, notaciones numéricas, flotantes especiales y tokens timestamp. Antes de habilitar la exportación, el YAML generado se vuelve a analizar con el mismo esquema y se comprueba la conservación de valores.

Alcance de documentos, tipos y límites

Solo se exporta una expansión completa y finita

Versiones declaradas
yaml 2.9.0 admite YAML 1.2 Core y el esquema YAML 1.1. Una directiva %YAML incompatible detiene la operación; cada documento de salida declara la versión elegida. La fusión es una extensión independiente, desactivada también en 1.1.
Reglas de la extensión de fusión
Con la opción activa, << sin comillas y !!merge fusionan mapas. Se permiten varias claves de fusión como extensión del motor, procesadas en orden de origen: ganan los primeros mapas y siempre prevalecen las claves explícitas. "<<" y !!str << son claves de texto normales. Con la opción desactivada, << sin comillas también es una clave normal; los duplicados normales se rechazan.
Claves de texto y etiquetas conocidas
Las claves deben ser cadenas, incluidos alias de cadenas ancladas. Se rechazan claves numéricas, booleanas, nulas y colecciones. Se admiten tipos Core, timestamp y binary; binary exige Base64 canónico con relleno. Las etiquetas desconocidas y las colecciones set, omap y pairs provocan error. No se ejecutan constructores personalizados.
Conservar valores no conserva el formato
La salida elimina sintaxis de anclas y alias, comentarios y espaciado original. Conserva tokens numéricos y timestamp sin redondearlos mediante Number o Date. Los flotantes especiales y binarios siguen siendo tipos YAML; las cadenas pueden cambiar de comillas o presentación. El archivo original no se sobrescribe automáticamente.
Cada documento tiene sus referencias
Un alias necesita una definición anterior en su propio documento. Las referencias futuras o entre documentos fallan. Reutilizar nombres de ancla es válido; duplicar claves normales no. No se evalúan Compose include ni interpolación, GitLab extends o !reference, plantillas Helm, JSON $ref ni importaciones entre archivos.
Presupuestos para toda la expansión
Entrada máxima: 500.000 unidades UTF-16 y 2 MB UTF-8; 100 documentos, 50.000 nodos de origen y profundidad 100. Las 50.000 visitas incluyen alias repetidos, claves de fusión y orígenes anulados. Los escalares del origen y de valores comparten 2 millones de unidades de trabajo; la salida tiene otro límite de 2 millones de caracteres. Máximo 5.000 filas de grafo y 5 segundos por worker. Cualquier error impide exportar, sin generar un archivo truncado.

Preguntas sobre anclas YAML

Documentos, nombres y secuencias

¿Cómo se manejan los archivos YAML multidocumento?

Se analizan hasta 100 documentos por separado. Las anclas YAML de uno no están disponibles en los demás. El grafo indica el documento de cada referencia y cada documento de salida declara la versión seleccionada.

¿Se admiten anclas (&) y alias (*) de YAML?

Sí. Se reconocen en el árbol sintáctico, se muestran sus relaciones y se genera aparte una copia de valores sin alias. Los símbolos dentro de cadenas son texto. Un ciclo o un límite de trabajo puede impedir obtener una salida completa.

¿Se puede reutilizar el nombre de un ancla?

Sí. Un alias usa la definición del mismo nombre más cercana que lo precede en su documento. El grafo distingue las definiciones por su posición. No se permiten referencias a definiciones futuras ni a otro documento.

¿Están activadas las claves de fusión?

No inicialmente, en ninguna de las dos versiones. Activa la opción para expandir mapas heredados. Ganan las claves explícitas y luego el primer origen. Las claves << entre comillas son texto literal, incluso con la fusión activada.

¿Puede un alias hacer referencia a un array?

Sí, puede representar una secuencia completa o aparecer como elemento dentro de otra. Esto no inserta sus elementos individualmente ni concatena arrays. Si hay recursión o se agota un presupuesto, se bloquea la exportación completa.

¿Encontraste una referencia o un valor inesperado?

Examina tus anclas YAML

Comprueba las anclas YAML en su contexto y compara los valores expandidos antes de sustituir la configuración.

El archivo expandido aún requiere la validación de la aplicación que lo utiliza.