YAML - Propiedades del nodo

Cada nodo de presentación incluye dos características principales llamadas anchor y tag. Las propiedades del nodo se pueden especificar con el contenido del nodo, omitido del flujo de caracteres.

El ejemplo básico de representación de un nodo es el siguiente:

%YAML 1.1
---
!!map {
   ? &A1 !!str "foo"
   : !!str "bar",
   ? !!str &A2 "baz"
   : *a1
}

Anclajes de nodo

La propiedad de anclaje representa un nodo para referencia futura. El flujo de caracteres de la representación YAML en el nodo se denota con elampersand (&)indicador. El procesador YAML no necesita conservar el nombre del ancla con los detalles de representación compuestos en él. El siguiente código explica esto:

%YAML 1.1
---
!!map {
   ? !!str "First occurence"
   : &A !!str "Value",
   ? !!str "Second occurence"
   : *A
}

La salida de YAML generado con nodos de anclaje se muestra a continuación:

---
!!map {
   ? !!str "First occurence"
   : !!str "Value",
   ? !!str "Second occurence"
   : !!str "Value",
}

Etiquetas de nodo

La propiedad de la etiqueta representa el tipo de estructura de datos nativa que define un nodo por completo. Una etiqueta se representa con (!) indicador. Las etiquetas se consideran una parte inherente del gráfico de representación. El siguiente ejemplo de explica las etiquetas de nodo en detalle:

%YAML 1.1
---
!!map {
   ? !<tag:yaml.org,2002:str> "foo"
   : !<!bar> "baz"
}

Contenido de nodo

El contenido del nodo se puede representar en un contenido de flujo o en un formato de bloque. El contenido del bloque se extiende hasta el final de la línea y usa sangría para denotar estructura. Cada tipo de colección se puede representar en un estilo de colección de flujo único específico o se puede considerar como un solo bloque. El siguiente código explica esto en detalle:

%YAML 1.1
---
!!map {
   ? !!str "foo"
   : !!str "bar baz"
}

%YAML 1.1
---
!!str "foo bar"

%YAML 1.1
---
!!str "foo bar"

%YAML 1.1
---
!!str "foo bar\n"