================================================================================ Block Scalar Header ================================================================================ - | # Empty header literal - >1 # Indentation indicator folded - |+ # Chomping indicator keep - >1- # Both indicators strip -------------------------------------------------------------------------------- (stream (document (block_node (block_sequence (block_sequence_item (block_node (block_scalar (comment)))) (block_sequence_item (block_node (block_scalar (comment)))) (block_sequence_item (block_node (block_scalar (comment)))) (block_sequence_item (block_node (block_scalar (comment)))))))) ================================================================================ Block Indentation Indicator ================================================================================ - | detected - > # detected - |1 explicit - > detected -------------------------------------------------------------------------------- (stream (document (block_node (block_sequence (block_sequence_item (block_node (block_scalar))) (block_sequence_item (block_node (block_scalar))) (block_sequence_item (block_node (block_scalar))) (block_sequence_item (block_node (block_scalar))))))) ================================================================================ Invalid Block Scalar Indentation Indicators :error ================================================================================ - | text - > text text - |2 text -------------------------------------------------------------------------------- ================================================================================ Chomping Final Line Break ================================================================================ strip: |- text clip: | text keep: |+ text -------------------------------------------------------------------------------- (stream (document (block_node (block_mapping (block_mapping_pair (flow_node (plain_scalar (string_scalar))) (block_node (block_scalar))) (block_mapping_pair (flow_node (plain_scalar (string_scalar))) (block_node (block_scalar))) (block_mapping_pair (flow_node (plain_scalar (string_scalar))) (block_node (block_scalar))))))) ================================================================================ Chomping Trailing Lines ================================================================================ # Strip # Comments: strip: |- # text ⇓ # Clip # comments: clip: | # text # Keep # comments: keep: |+ # text # Trail # comments. -------------------------------------------------------------------------------- (stream (comment) (comment) (document (block_node (block_mapping (block_mapping_pair (flow_node (plain_scalar (string_scalar))) (block_node (block_scalar))) (comment) (comment) (block_mapping_pair (flow_node (plain_scalar (string_scalar))) (block_node (block_scalar))) (comment) (comment) (block_mapping_pair (flow_node (plain_scalar (string_scalar))) (block_node (block_scalar))) (comment) (comment))))) ================================================================================ Empty Scalar Chomping ================================================================================ strip: >- clip: > keep: |+ -------------------------------------------------------------------------------- (stream (document (block_node (block_mapping (block_mapping_pair (flow_node (plain_scalar (string_scalar))) (block_node (block_scalar))) (block_mapping_pair (flow_node (plain_scalar (string_scalar))) (block_node (block_scalar))) (block_mapping_pair (flow_node (plain_scalar (string_scalar))) (block_node (block_scalar))))))) ================================================================================ Literal Scalar ================================================================================ | literal text -------------------------------------------------------------------------------- (stream (document (block_node (block_scalar)))) ================================================================================ Literal Content ================================================================================ | literal text # Comment -------------------------------------------------------------------------------- (stream (document (block_node (block_scalar))) (comment)) ================================================================================ Folded Scalar ================================================================================ > folded text -------------------------------------------------------------------------------- (stream (document (block_node (block_scalar)))) ================================================================================ Folded Lines ================================================================================ > folded line next line * bullet * list * lines last line # Comment -------------------------------------------------------------------------------- (stream (document (block_node (block_scalar))) (comment)) ================================================================================ More Indented Lines ================================================================================ > folded line next line * bullet * list * lines last line # Comment -------------------------------------------------------------------------------- (stream (document (block_node (block_scalar))) (comment)) ================================================================================ Empty Separation Lines ================================================================================ > folded line next line * bullet * list * line last line # Comment -------------------------------------------------------------------------------- (stream (document (block_node (block_scalar))) (comment)) ================================================================================ Final Empty Lines ================================================================================ > folded line next line * bullet * list * line last line # Comment -------------------------------------------------------------------------------- (stream (document (block_node (block_scalar))) (comment)) ================================================================================ Block Sequence ================================================================================ block sequence: - one - two : three -------------------------------------------------------------------------------- (stream (document (block_node (block_mapping (block_mapping_pair (flow_node (plain_scalar (string_scalar))) (block_node (block_sequence (block_sequence_item (flow_node (plain_scalar (string_scalar)))) (block_sequence_item (block_node (block_mapping (block_mapping_pair (flow_node (plain_scalar (string_scalar))) (flow_node (plain_scalar (string_scalar)))))))))))))) ================================================================================ Block Sequence Entry Types ================================================================================ - # Empty - | block node - - one # Compact - two # sequence - one: two # Compact mapping -------------------------------------------------------------------------------- (stream (document (block_node (block_sequence (block_sequence_item) (comment) (block_sequence_item (block_node (block_scalar))) (block_sequence_item (block_node (block_sequence (block_sequence_item (flow_node (plain_scalar (string_scalar)))) (comment) (block_sequence_item (flow_node (plain_scalar (string_scalar)))) (comment)))) (block_sequence_item (block_node (block_mapping (block_mapping_pair (flow_node (plain_scalar (string_scalar))) (flow_node (plain_scalar (string_scalar)))) (comment)))))))) ================================================================================ Block Mappings ================================================================================ block mapping: key: value -------------------------------------------------------------------------------- (stream (document (block_node (block_mapping (block_mapping_pair (flow_node (plain_scalar (string_scalar))) (block_node (block_mapping (block_mapping_pair (flow_node (plain_scalar (string_scalar))) (flow_node (plain_scalar (string_scalar))))))))))) ================================================================================ Explicit Block Mapping Entries ================================================================================ ? explicit key # Empty value ? | block key : - one # Explicit compact - two # block value -------------------------------------------------------------------------------- (stream (document (block_node (block_mapping (block_mapping_pair (flow_node (plain_scalar (string_scalar)))) (comment) (block_mapping_pair (block_node (block_scalar)) (block_node (block_sequence (block_sequence_item (flow_node (plain_scalar (string_scalar)))) (comment) (block_sequence_item (flow_node (plain_scalar (string_scalar)))) (comment)))))))) ================================================================================ Implicit Block Mapping Entries ================================================================================ plain key: in-line value : # Both empty "quoted key": - entry -------------------------------------------------------------------------------- (stream (document (block_node (block_mapping (block_mapping_pair (flow_node (plain_scalar (string_scalar))) (flow_node (plain_scalar (string_scalar)))) (block_mapping_pair) (comment) (block_mapping_pair (flow_node (double_quote_scalar)) (block_node (block_sequence (block_sequence_item (flow_node (plain_scalar (string_scalar))))))))))) ================================================================================ Compact Block Mappings ================================================================================ - sun: yellow - ? earth: blue : moon: white -------------------------------------------------------------------------------- (stream (document (block_node (block_sequence (block_sequence_item (block_node (block_mapping (block_mapping_pair (flow_node (plain_scalar (string_scalar))) (flow_node (plain_scalar (string_scalar))))))) (block_sequence_item (block_node (block_mapping (block_mapping_pair (block_node (block_mapping (block_mapping_pair (flow_node (plain_scalar (string_scalar))) (flow_node (plain_scalar (string_scalar)))))) (block_node (block_mapping (block_mapping_pair (flow_node (plain_scalar (string_scalar))) (flow_node (plain_scalar (string_scalar)))))))))))))) ================================================================================ Block Node Types ================================================================================ - "flow in block" - > Block scalar - !!map # Block collection foo : bar -------------------------------------------------------------------------------- (stream (document (block_node (block_sequence (block_sequence_item (flow_node (double_quote_scalar))) (block_sequence_item (block_node (block_scalar))) (block_sequence_item (block_node (tag) (comment) (block_mapping (block_mapping_pair (flow_node (plain_scalar (string_scalar))) (flow_node (plain_scalar (string_scalar))))))))))) ================================================================================ Block Scalar Nodes ================================================================================ literal: |2 value folded: !foo >1 value -------------------------------------------------------------------------------- (stream (document (block_node (block_mapping (block_mapping_pair (flow_node (plain_scalar (string_scalar))) (block_node (block_scalar))) (block_mapping_pair (flow_node (plain_scalar (string_scalar))) (block_node (tag) (block_scalar))))))) ================================================================================ Block Collection Nodes ================================================================================ sequence: !!seq - entry - !!seq - nested mapping: !!map foo: bar -------------------------------------------------------------------------------- (stream (document (block_node (block_mapping (block_mapping_pair (flow_node (plain_scalar (string_scalar))) (block_node (tag) (block_sequence (block_sequence_item (flow_node (plain_scalar (string_scalar)))) (block_sequence_item (block_node (tag) (block_sequence (block_sequence_item (flow_node (plain_scalar (string_scalar)))))))))) (block_mapping_pair (flow_node (plain_scalar (string_scalar))) (block_node (tag) (block_mapping (block_mapping_pair (flow_node (plain_scalar (string_scalar))) (flow_node (plain_scalar (string_scalar)))))))))))