8543 lines
224 KiB
Plaintext
8543 lines
224 KiB
Plaintext
![]() |
================================================================================
|
||
|
Aliases in Block Sequence
|
||
|
================================================================================
|
||
|
- &a a
|
||
|
- &b b
|
||
|
- *a
|
||
|
- *b
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(anchor) (plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(anchor) (plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(alias)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(alias)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Aliases in Explicit Block Mapping
|
||
|
================================================================================
|
||
|
? &a a
|
||
|
: &b b
|
||
|
: *a
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(anchor) (plain_scalar))
|
||
|
value: (flow_node
|
||
|
(anchor) (plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
value: (flow_node
|
||
|
(alias)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Aliases in Flow Objects
|
||
|
================================================================================
|
||
|
{ &a [a, &b b]: *b, *a : [c, *b, d]}
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(anchor)
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(anchor) (plain_scalar))))
|
||
|
value: (flow_node
|
||
|
(alias)))
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(alias))
|
||
|
value: (flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(alias))
|
||
|
(flow_node
|
||
|
(plain_scalar)))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Aliases in Implicit Block Mapping
|
||
|
================================================================================
|
||
|
&a a: &b b
|
||
|
*a : *b
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(anchor) (plain_scalar))
|
||
|
value: (flow_node
|
||
|
(anchor) (plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(alias))
|
||
|
value: (flow_node
|
||
|
(alias)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Allowed characters in alias
|
||
|
================================================================================
|
||
|
a: &:@*!$"<foo>: scalar a
|
||
|
b: *:@*!$"<foo>:
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(anchor) (plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(alias)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Allowed characters in keys
|
||
|
================================================================================
|
||
|
a!"#$%&'()*+,-./09:;<=>?@AZ[\]^_`az{|}~: safe
|
||
|
?foo: safe question mark
|
||
|
:foo: safe colon
|
||
|
-foo: safe dash
|
||
|
this is#not: a comment
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Allowed characters in plain scalars
|
||
|
================================================================================
|
||
|
safe: a!"#$%&'()*+,-./09:;<=>?@AZ[\]^_`az{|}~
|
||
|
!"#$%&'()*+,-./09:;<=>?@AZ[\]^_`az{|}~
|
||
|
safe question mark: ?foo
|
||
|
safe colon: :foo
|
||
|
safe dash: -foo
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Allowed characters in quoted mapping key
|
||
|
================================================================================
|
||
|
"foo\nbar:baz\tx \\$%^&*()x": 23
|
||
|
'x\ny:z\tx $%^&*()x': 24
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(double_quote_scalar
|
||
|
(escape_sequence) (escape_sequence) (escape_sequence)))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(single_quote_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Anchor and alias as mapping key [INVALID]
|
||
|
================================================================================
|
||
|
key1: &alias value1
|
||
|
&b *alias : value2
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(anchor) (plain_scalar)))
|
||
|
(flow_node
|
||
|
(anchor)))
|
||
|
|
||
|
================================================================================
|
||
|
Anchor before sequence entry on same line [INVALID]
|
||
|
================================================================================
|
||
|
&anchor - sequence entry
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(flow_node
|
||
|
(anchor)))
|
||
|
|
||
|
================================================================================
|
||
|
Anchor before zero indented sequence
|
||
|
================================================================================
|
||
|
---
|
||
|
seq:
|
||
|
&anchor
|
||
|
- a
|
||
|
- b
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(anchor)
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Anchor for empty node
|
||
|
================================================================================
|
||
|
---
|
||
|
a: &anchor
|
||
|
b: *anchor
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(anchor)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(alias)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Anchor plus Alias [INVALID]
|
||
|
================================================================================
|
||
|
key1: &a value
|
||
|
key2: &b *a
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(anchor) (plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(anchor))))
|
||
|
|
||
|
================================================================================
|
||
|
Anchor with colon in the middle
|
||
|
================================================================================
|
||
|
---
|
||
|
key: &an:chor value
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(anchor) (plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Anchor with unicode character
|
||
|
================================================================================
|
||
|
---
|
||
|
- &😁 unicode anchor
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(anchor) (plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Anchors and Tags
|
||
|
================================================================================
|
||
|
- &a !!str a
|
||
|
- !!int 2
|
||
|
- !!int &c 4
|
||
|
- &d d
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(anchor) (tag) (plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(tag) (plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(tag) (anchor) (plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(anchor) (plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Anchors in Mapping
|
||
|
================================================================================
|
||
|
&a a: b
|
||
|
c: &d d
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(anchor) (plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(anchor) (plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Anchors on Empty Scalars
|
||
|
================================================================================
|
||
|
- &a
|
||
|
- a
|
||
|
-
|
||
|
&a : a
|
||
|
b: &b
|
||
|
-
|
||
|
&c : &a
|
||
|
-
|
||
|
? &d
|
||
|
-
|
||
|
? &e
|
||
|
: &a
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(anchor)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(anchor))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(anchor))))))
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(anchor))
|
||
|
value: (flow_node
|
||
|
(anchor))))))
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(anchor))))))
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(anchor))
|
||
|
value: (flow_node
|
||
|
(anchor))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Anchors With Colon in Name
|
||
|
================================================================================
|
||
|
&a: key: &a value
|
||
|
foo:
|
||
|
*a:
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(anchor) (plain_scalar))
|
||
|
value: (flow_node
|
||
|
(anchor) (plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(alias)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Backslashes in singlequotes
|
||
|
================================================================================
|
||
|
'foo: bar\': baz'
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(single_quote_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Bad indentation in mapping (2) [INVALID]
|
||
|
================================================================================
|
||
|
map:
|
||
|
key1: "quoted1"
|
||
|
key2: "bad indentation"
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(double_quote_scalar)))
|
||
|
(ERROR))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Bad indentation in mapping [INVALID]
|
||
|
================================================================================
|
||
|
map:
|
||
|
key1: "quoted1"
|
||
|
key2: "bad indentation"
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(double_quote_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Bare document after document end marker
|
||
|
================================================================================
|
||
|
---
|
||
|
scalar1
|
||
|
...
|
||
|
key: value
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Blank lines
|
||
|
================================================================================
|
||
|
foo: 1
|
||
|
|
||
|
bar: 2
|
||
|
|
||
|
text: |
|
||
|
a
|
||
|
|
||
|
b
|
||
|
|
||
|
c
|
||
|
|
||
|
d
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Block Mapping with Missing Keys
|
||
|
================================================================================
|
||
|
: a
|
||
|
: b
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Block Mapping with Missing Values
|
||
|
================================================================================
|
||
|
? a
|
||
|
? b
|
||
|
c:
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Block Mapping with Multiline Scalars
|
||
|
================================================================================
|
||
|
? a
|
||
|
true
|
||
|
: null
|
||
|
d
|
||
|
? e
|
||
|
42
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Block Mappings in Block Sequence
|
||
|
================================================================================
|
||
|
- key: value
|
||
|
key2: value2
|
||
|
-
|
||
|
key3: value3
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Block scalar indicator order
|
||
|
================================================================================
|
||
|
- |2-
|
||
|
explicit indent and chomp
|
||
|
- |-2
|
||
|
chomp and explicit indent
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_scalar)))
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Block Scalar Keep
|
||
|
================================================================================
|
||
|
--- |+
|
||
|
ab
|
||
|
|
||
|
|
||
|
...
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Block Scalar Strip
|
||
|
================================================================================
|
||
|
|-
|
||
|
ab
|
||
|
|
||
|
|
||
|
...
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Block Scalar Strip [1.3]
|
||
|
================================================================================
|
||
|
--- |-
|
||
|
ab
|
||
|
|
||
|
|
||
|
...
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Block scalar with spaces only
|
||
|
================================================================================
|
||
|
empty block scalar: >
|
||
|
|
||
|
|
||
|
|
||
|
# comment
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_scalar)))
|
||
|
(comment)))))
|
||
|
|
||
|
================================================================================
|
||
|
Block scalar with wrong indented line after spaces only [INVALID]
|
||
|
================================================================================
|
||
|
block scalar: >
|
||
|
|
||
|
|
||
|
|
||
|
invalid
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_scalar)))
|
||
|
(ERROR)))))
|
||
|
|
||
|
================================================================================
|
||
|
Block Sequence in Block Mapping
|
||
|
================================================================================
|
||
|
key:
|
||
|
- item1
|
||
|
- item2
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Block Sequence in Block Sequence
|
||
|
================================================================================
|
||
|
- - s1_i1
|
||
|
- s1_i2
|
||
|
- s2
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Block Submapping
|
||
|
================================================================================
|
||
|
foo:
|
||
|
bar: 1
|
||
|
baz: 2
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Colon and adjacent value after comment on next line
|
||
|
================================================================================
|
||
|
---
|
||
|
{ "foo" # comment
|
||
|
:bar }
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(double_quote_scalar))
|
||
|
(comment)
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Colon and adjacent value on next line
|
||
|
================================================================================
|
||
|
---
|
||
|
{ "foo"
|
||
|
:bar }
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(double_quote_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Colon followed by comma
|
||
|
================================================================================
|
||
|
---
|
||
|
- :,
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Colon in Double Quoted String
|
||
|
================================================================================
|
||
|
"foo: bar\": baz"
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(double_quote_scalar
|
||
|
(escape_sequence)))))
|
||
|
|
||
|
================================================================================
|
||
|
Comment and document-end marker
|
||
|
================================================================================
|
||
|
# comment
|
||
|
...
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(comment) (document))
|
||
|
|
||
|
================================================================================
|
||
|
Comment between plain scalar lines [INVALID]
|
||
|
================================================================================
|
||
|
word1 # comment
|
||
|
word2
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(comment))
|
||
|
|
||
|
================================================================================
|
||
|
Comment in flow sequence before comma
|
||
|
================================================================================
|
||
|
---
|
||
|
[ word1
|
||
|
# comment
|
||
|
, word2]
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(comment)
|
||
|
(flow_node
|
||
|
(plain_scalar))))))
|
||
|
|
||
|
================================================================================
|
||
|
Comment in plain multiline value [INVALID]
|
||
|
================================================================================
|
||
|
key: word1
|
||
|
# xxx
|
||
|
word2
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(comment)
|
||
|
(ERROR)))))
|
||
|
|
||
|
================================================================================
|
||
|
Comment that looks like a mapping key [INVALID]
|
||
|
================================================================================
|
||
|
key: value
|
||
|
this is #not a: key
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(ERROR
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(comment)))))
|
||
|
|
||
|
================================================================================
|
||
|
Comment without whitespace after block scalar indicator [INVALID]
|
||
|
================================================================================
|
||
|
block: ># comment
|
||
|
scalar
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
|
||
|
================================================================================
|
||
|
Comment without whitespace after doublequoted scalar [INVALID]
|
||
|
================================================================================
|
||
|
key: "value"# invalid comment
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(double_quote_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Construct Binary
|
||
|
================================================================================
|
||
|
canonical: !!binary "\
|
||
|
R0lGODlhDAAMAIQAAP//9/X17unp5WZmZgAAAOfn515eXvPz7Y6OjuDg4J+fn5\
|
||
|
OTk6enp56enmlpaWNjY6Ojo4SEhP/++f/++f/++f/++f/++f/++f/++f/++f/+\
|
||
|
+f/++f/++f/++f/++f/++SH+Dk1hZGUgd2l0aCBHSU1QACwAAAAADAAMAAAFLC\
|
||
|
AgjoEwnuNAFOhpEMTRiggcz4BNJHrv/zCFcLiwMWYNG84BwwEeECcgggoBADs="
|
||
|
generic: !!binary |
|
||
|
R0lGODlhDAAMAIQAAP//9/X17unp5WZmZgAAAOfn515eXvPz7Y6OjuDg4J+fn5
|
||
|
OTk6enp56enmlpaWNjY6Ojo4SEhP/++f/++f/++f/++f/++f/++f/++f/++f/+
|
||
|
+f/++f/++f/++f/++f/++SH+Dk1hZGUgd2l0aCBHSU1QACwAAAAADAAMAAAFLC
|
||
|
AgjoEwnuNAFOhpEMTRiggcz4BNJHrv/zCFcLiwMWYNG84BwwEeECcgggoBADs=
|
||
|
description:
|
||
|
The binary value above is a tiny arrow encoded as a gif image.
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(tag)
|
||
|
(double_quote_scalar
|
||
|
(escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(tag) (block_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Directive without document [INVALID]
|
||
|
================================================================================
|
||
|
%YAML 1.2
|
||
|
...
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(ERROR
|
||
|
(yaml_directive
|
||
|
(yaml_version)))
|
||
|
(document))
|
||
|
|
||
|
================================================================================
|
||
|
Document start on last line
|
||
|
================================================================================
|
||
|
---
|
||
|
a: b
|
||
|
---
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(document))
|
||
|
|
||
|
================================================================================
|
||
|
Document with footer
|
||
|
================================================================================
|
||
|
aaa: bbb
|
||
|
...
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Document-end marker
|
||
|
================================================================================
|
||
|
...
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document))
|
||
|
|
||
|
================================================================================
|
||
|
Double quoted scalar with escaped single quote [INVALID]
|
||
|
================================================================================
|
||
|
---
|
||
|
double: "quoted \' scalar"
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
|
||
|
================================================================================
|
||
|
Double quoted string without closing quote [INVALID]
|
||
|
================================================================================
|
||
|
---
|
||
|
key: "missing closing quote
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(ERROR)))))
|
||
|
|
||
|
================================================================================
|
||
|
Doublequoted scalar starting with a tab
|
||
|
================================================================================
|
||
|
---
|
||
|
tab: "\tstring"
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(double_quote_scalar
|
||
|
(escape_sequence))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Duplicate YAML directive
|
||
|
================================================================================
|
||
|
%YAML 1.2
|
||
|
%YAML 1.2
|
||
|
---
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(yaml_directive
|
||
|
(yaml_version))
|
||
|
(yaml_directive
|
||
|
(yaml_version))))
|
||
|
|
||
|
================================================================================
|
||
|
Empty flow collections
|
||
|
================================================================================
|
||
|
---
|
||
|
nested sequences:
|
||
|
- - - []
|
||
|
- - - {}
|
||
|
key1: []
|
||
|
key2: {}
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(flow_sequence)))))))))
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(flow_mapping))))))))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(flow_sequence)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(flow_mapping)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Empty Lines at End of Document
|
||
|
================================================================================
|
||
|
:
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair)))))
|
||
|
|
||
|
================================================================================
|
||
|
Empty Lines Between Mapping Elements
|
||
|
================================================================================
|
||
|
1: 2
|
||
|
|
||
|
|
||
|
3: 4
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Empty Stream
|
||
|
================================================================================
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream)
|
||
|
|
||
|
================================================================================
|
||
|
Escaped slash in double quotes
|
||
|
================================================================================
|
||
|
escaped slash: "a\/b"
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(double_quote_scalar
|
||
|
(escape_sequence))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Explicit key and value seperated by comment
|
||
|
================================================================================
|
||
|
---
|
||
|
? key
|
||
|
# comment
|
||
|
: value
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
(comment)
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Explicit Non-Specific Tag
|
||
|
================================================================================
|
||
|
! a
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(tag) (plain_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Explicit Non-Specific Tag [1.3]
|
||
|
================================================================================
|
||
|
---
|
||
|
! a
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(tag) (plain_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Flow Mapping
|
||
|
================================================================================
|
||
|
{foo: you, bar: far}
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Flow mapping colon on line after key
|
||
|
================================================================================
|
||
|
{"foo"
|
||
|
: "bar"}
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(double_quote_scalar))
|
||
|
value: (flow_node
|
||
|
(double_quote_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Flow Mapping in Block Sequence
|
||
|
================================================================================
|
||
|
- {a: b}
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Flow Mapping Key on two lines [INVALID]
|
||
|
================================================================================
|
||
|
[23
|
||
|
]: 42
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(plain_scalar)))))
|
||
|
(MISSING _eof))
|
||
|
|
||
|
================================================================================
|
||
|
Flow mapping missing a separating comma [INVALID]
|
||
|
================================================================================
|
||
|
---
|
||
|
{
|
||
|
foo: 1
|
||
|
bar: 2 }
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Flow Sequence
|
||
|
================================================================================
|
||
|
[foo, bar, 42]
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar))))))
|
||
|
|
||
|
================================================================================
|
||
|
Flow Sequence in Block Mapping
|
||
|
================================================================================
|
||
|
a: [b, c]
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar)))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Flow Sequence in Flow Mapping
|
||
|
================================================================================
|
||
|
{a: [b, c], [d, e]: f}
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar)))))
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar))))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Flow Sequence in Flow Sequence
|
||
|
================================================================================
|
||
|
[a, [b, c]]
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Flow sequence with invalid comma at the beginning [INVALID]
|
||
|
================================================================================
|
||
|
---
|
||
|
[ , a, b, c ]
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR)
|
||
|
|
||
|
================================================================================
|
||
|
Flow sequence with invalid extra closing bracket [INVALID]
|
||
|
================================================================================
|
||
|
---
|
||
|
[ a, b, c ] ]
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar)))))
|
||
|
|
||
|
================================================================================
|
||
|
Flow sequence with invalid extra comma [INVALID]
|
||
|
================================================================================
|
||
|
---
|
||
|
[ a, b, c, , ]
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
|
||
|
================================================================================
|
||
|
Flow sequence without closing bracket [INVALID]
|
||
|
================================================================================
|
||
|
---
|
||
|
[ [ a, b, c ]
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar)))))
|
||
|
|
||
|
================================================================================
|
||
|
Folded Block Scalar
|
||
|
================================================================================
|
||
|
>
|
||
|
ab
|
||
|
cd
|
||
|
|
||
|
ef
|
||
|
|
||
|
|
||
|
gh
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Folded Block Scalar [1.3]
|
||
|
================================================================================
|
||
|
--- >
|
||
|
ab
|
||
|
cd
|
||
|
|
||
|
ef
|
||
|
|
||
|
|
||
|
gh
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Implicit Flow Mapping Key on one line
|
||
|
================================================================================
|
||
|
[flow]: block
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(plain_scalar))))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Implicit key followed by newline [INVALID]
|
||
|
================================================================================
|
||
|
---
|
||
|
[ key
|
||
|
: value ]
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
|
||
|
================================================================================
|
||
|
Implicit key followed by newline and adjacent value [INVALID]
|
||
|
================================================================================
|
||
|
[ "key"
|
||
|
:value ]
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(flow_node
|
||
|
(double_quote_scalar)))
|
||
|
|
||
|
================================================================================
|
||
|
Invalid anchor in zero indented sequence [INVALID]
|
||
|
================================================================================
|
||
|
---
|
||
|
seq:
|
||
|
&anchor
|
||
|
- a
|
||
|
- b
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(flow_node
|
||
|
(anchor)))
|
||
|
|
||
|
================================================================================
|
||
|
Invalid block mapping key on same line as previous key [INVALID]
|
||
|
================================================================================
|
||
|
---
|
||
|
x: { y: z }in: valid
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Invalid comment after comma [INVALID]
|
||
|
================================================================================
|
||
|
---
|
||
|
[ a, b, c,#invalid
|
||
|
]
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
|
||
|
================================================================================
|
||
|
Invalid comment after end of flow sequence [INVALID]
|
||
|
================================================================================
|
||
|
---
|
||
|
[ a, b, c, ]#invalid
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar)))))
|
||
|
|
||
|
================================================================================
|
||
|
Invalid content after document end marker [INVALID]
|
||
|
================================================================================
|
||
|
---
|
||
|
key: value
|
||
|
... invalid
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(MISSING _eof))
|
||
|
|
||
|
================================================================================
|
||
|
Invalid document markers in flow style [INVALID]
|
||
|
================================================================================
|
||
|
[
|
||
|
--- ,
|
||
|
...
|
||
|
]
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(plain_scalar))
|
||
|
|
||
|
================================================================================
|
||
|
Invalid document-end marker in single quoted string [INVALID]
|
||
|
================================================================================
|
||
|
---
|
||
|
'
|
||
|
...
|
||
|
'
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(document
|
||
|
(ERROR)))
|
||
|
|
||
|
================================================================================
|
||
|
Invalid document-start marker in doublequoted tring [INVALID]
|
||
|
================================================================================
|
||
|
---
|
||
|
"
|
||
|
---
|
||
|
"
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(ERROR))
|
||
|
|
||
|
================================================================================
|
||
|
Invalid escape in double quoted string [INVALID]
|
||
|
================================================================================
|
||
|
---
|
||
|
"\."
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR)
|
||
|
|
||
|
================================================================================
|
||
|
Invalid item after end of flow sequence [INVALID]
|
||
|
================================================================================
|
||
|
---
|
||
|
[
|
||
|
sequence item
|
||
|
]
|
||
|
invalid item
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(plain_scalar)))))
|
||
|
(MISSING _eof))
|
||
|
|
||
|
================================================================================
|
||
|
Invalid mapping after sequence [INVALID]
|
||
|
================================================================================
|
||
|
- item1
|
||
|
- item2
|
||
|
invalid: x
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(plain_scalar))
|
||
|
|
||
|
================================================================================
|
||
|
Invalid mapping in plain multiline [INVALID]
|
||
|
================================================================================
|
||
|
this
|
||
|
is
|
||
|
invalid: x
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(MISSING _eof))
|
||
|
|
||
|
================================================================================
|
||
|
Invalid Mapping in plain scalar [INVALID]
|
||
|
================================================================================
|
||
|
key:
|
||
|
word1 word2
|
||
|
no: key
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Invalid mapping in plain single line value [INVALID]
|
||
|
================================================================================
|
||
|
a: b: c: d
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Invalid nested mapping [INVALID]
|
||
|
================================================================================
|
||
|
---
|
||
|
a: 'b': c
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(single_quote_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Invalid scalar after sequence [INVALID]
|
||
|
================================================================================
|
||
|
- item1
|
||
|
- item2
|
||
|
invalid
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(ERROR
|
||
|
(plain_scalar))))))
|
||
|
|
||
|
================================================================================
|
||
|
Invalid scalar at the end of mapping [INVALID]
|
||
|
================================================================================
|
||
|
key:
|
||
|
- item1
|
||
|
- item2
|
||
|
invalid
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar))))))
|
||
|
(ERROR
|
||
|
(flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Invalid scalar at the end of sequence [INVALID]
|
||
|
================================================================================
|
||
|
key:
|
||
|
- bar
|
||
|
- baz
|
||
|
invalid
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(ERROR
|
||
|
(plain_scalar)))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Invalid sequene item on same line as previous item [INVALID]
|
||
|
================================================================================
|
||
|
---
|
||
|
- { y: z }- invalid
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
|
||
|
================================================================================
|
||
|
Invalid tabs as indendation in a mapping [INVALID]
|
||
|
================================================================================
|
||
|
---
|
||
|
a:
|
||
|
b:
|
||
|
c: value
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
|
||
|
================================================================================
|
||
|
Invalid tag [INVALID]
|
||
|
================================================================================
|
||
|
---
|
||
|
!invalid{}tag scalar
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(flow_node
|
||
|
(tag) (flow_mapping)))
|
||
|
|
||
|
================================================================================
|
||
|
Invalid text after block scalar indicator [INVALID]
|
||
|
================================================================================
|
||
|
---
|
||
|
folded: > first line
|
||
|
second line
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
|
||
|
================================================================================
|
||
|
Invalid value after mapping [INVALID]
|
||
|
================================================================================
|
||
|
foo:
|
||
|
bar
|
||
|
invalid
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(ERROR
|
||
|
(flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Key with anchor after missing explicit mapping value
|
||
|
================================================================================
|
||
|
---
|
||
|
a: 1
|
||
|
? b
|
||
|
&anchor c: 3
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(anchor) (plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Literal Block Scalar
|
||
|
================================================================================
|
||
|
a: |
|
||
|
ab
|
||
|
|
||
|
cd
|
||
|
ef
|
||
|
|
||
|
|
||
|
...
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Literal block scalar with more spaces in first line [INVALID]
|
||
|
================================================================================
|
||
|
---
|
||
|
block scalar: |
|
||
|
|
||
|
more spaces at the beginning
|
||
|
are invalid
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_scalar)))
|
||
|
(ERROR)))))
|
||
|
|
||
|
================================================================================
|
||
|
Literal unicode
|
||
|
================================================================================
|
||
|
---
|
||
|
wanted: love ♥ and peace ☮
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Lookahead test cases
|
||
|
================================================================================
|
||
|
- bla"keks: foo
|
||
|
- bla]keks: foo
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Mapping starting at --- line [INVALID]
|
||
|
================================================================================
|
||
|
--- key1: value1
|
||
|
key2: value2
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
|
||
|
================================================================================
|
||
|
Mapping with anchor on document start line [INVALID]
|
||
|
================================================================================
|
||
|
--- &anchor a: b
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(anchor) (plain_scalar)))
|
||
|
(MISSING _eof))
|
||
|
|
||
|
================================================================================
|
||
|
Mapping, key and flow sequence item anchors
|
||
|
================================================================================
|
||
|
---
|
||
|
&mapping
|
||
|
&key [ &item a, b, c ]: value
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(anchor)
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(anchor)
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(anchor) (plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar))))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Missing colon [INVALID]
|
||
|
================================================================================
|
||
|
top1:
|
||
|
key1: val1
|
||
|
top2
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(ERROR
|
||
|
(flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Missing comma in flow [INVALID]
|
||
|
================================================================================
|
||
|
key: [ word1
|
||
|
# xxx
|
||
|
word2 ]
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(ERROR
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(comment))))))
|
||
|
|
||
|
================================================================================
|
||
|
Missing document-end marker before directive [INVALID]
|
||
|
================================================================================
|
||
|
---
|
||
|
scalar1 # comment
|
||
|
%YAML 1.2
|
||
|
---
|
||
|
scalar2
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document)
|
||
|
(ERROR
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(comment))
|
||
|
(document
|
||
|
(flow_node
|
||
|
(plain_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Missing space in YAML directive
|
||
|
================================================================================
|
||
|
%YAML1.2
|
||
|
---
|
||
|
key: value
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(reserved_directive
|
||
|
(directive_name))
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Mixed Block Mapping (explicit to implicit)
|
||
|
================================================================================
|
||
|
? a
|
||
|
: 13
|
||
|
1.5: d
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Mixed Block Mapping (implicit to explicit)
|
||
|
================================================================================
|
||
|
a: 4.2
|
||
|
? 23
|
||
|
: d
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
More indented lines at the beginning of folded block scalars
|
||
|
================================================================================
|
||
|
---
|
||
|
a: >2
|
||
|
more indented
|
||
|
regular
|
||
|
b: >2
|
||
|
|
||
|
|
||
|
more indented
|
||
|
regular
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Multi-level Mapping Indent
|
||
|
================================================================================
|
||
|
a:
|
||
|
b:
|
||
|
c: d
|
||
|
e:
|
||
|
f: g
|
||
|
h: i
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Multiline double quoted flow mapping key
|
||
|
================================================================================
|
||
|
---
|
||
|
- { "single line": value}
|
||
|
- { "multi
|
||
|
line": value}
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(double_quote_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(double_quote_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Multiline double quoted implicit keys [INVALID]
|
||
|
================================================================================
|
||
|
"a\nb": 1
|
||
|
"c
|
||
|
d": 1
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(double_quote_scalar
|
||
|
(escape_sequence)))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(ERROR)))))
|
||
|
|
||
|
================================================================================
|
||
|
Multiline doublequoted flow mapping key without value
|
||
|
================================================================================
|
||
|
---
|
||
|
- { "single line", a: b}
|
||
|
- { "multi
|
||
|
line", a: b}
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(flow_mapping
|
||
|
(flow_node
|
||
|
(double_quote_scalar))
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(flow_mapping
|
||
|
(flow_node
|
||
|
(double_quote_scalar))
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Multiline implicit keys [INVALID]
|
||
|
================================================================================
|
||
|
a\nb: 1
|
||
|
c
|
||
|
d: 1
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Multiline plain flow mapping key
|
||
|
================================================================================
|
||
|
---
|
||
|
- { single line: value}
|
||
|
- { multi
|
||
|
line: value}
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Multiline plain flow mapping key without value
|
||
|
================================================================================
|
||
|
---
|
||
|
- { single line, a: b}
|
||
|
- { multi
|
||
|
line, a: b}
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(flow_mapping
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(flow_mapping
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Multiline plain scalar with empty line
|
||
|
================================================================================
|
||
|
---
|
||
|
plain: a
|
||
|
b
|
||
|
|
||
|
c
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Multiline plain value with tabs on empty lines
|
||
|
================================================================================
|
||
|
key:
|
||
|
value
|
||
|
with
|
||
|
|
||
|
tabs
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Multiline Scalar at Top Level
|
||
|
================================================================================
|
||
|
a
|
||
|
b
|
||
|
c
|
||
|
d
|
||
|
|
||
|
e
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(plain_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Multiline Scalar at Top Level [1.3]
|
||
|
================================================================================
|
||
|
---
|
||
|
a
|
||
|
b
|
||
|
c
|
||
|
d
|
||
|
|
||
|
e
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(plain_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Multiline Scalar in Mapping
|
||
|
================================================================================
|
||
|
a: b
|
||
|
c
|
||
|
d:
|
||
|
e
|
||
|
f
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Multiline scalar that looks like a YAML directive
|
||
|
================================================================================
|
||
|
---
|
||
|
scalar
|
||
|
%YAML 1.2
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(plain_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Multiline single quoted implicit keys [INVALID]
|
||
|
================================================================================
|
||
|
'a\nb': 1
|
||
|
'c
|
||
|
d': 1
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(single_quote_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(ERROR)))))
|
||
|
|
||
|
================================================================================
|
||
|
Multiple Entry Block Sequence
|
||
|
================================================================================
|
||
|
- foo
|
||
|
- bar
|
||
|
- 42
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Multiple Pair Block Mapping
|
||
|
================================================================================
|
||
|
foo: blue
|
||
|
bar: arrr
|
||
|
baz: jazz
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Nested flow collections
|
||
|
================================================================================
|
||
|
---
|
||
|
{
|
||
|
a: [
|
||
|
b, c, {
|
||
|
d: [e, f]
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar))))))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Nested flow collections on one line
|
||
|
================================================================================
|
||
|
---
|
||
|
{ a: [b, c, { d: [e, f] } ] }
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar))))))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Nested flow mapping sequence and mappings
|
||
|
================================================================================
|
||
|
---
|
||
|
{ top1: [item1, {key2: value2}, item3], top2: value2 }
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))
|
||
|
(flow_node
|
||
|
(plain_scalar)))))
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Nested implicit complex keys
|
||
|
================================================================================
|
||
|
---
|
||
|
[
|
||
|
[ a, [ [[b,c]]: d, e]]: 23
|
||
|
]
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(flow_sequence
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(flow_sequence
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar))))))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(flow_node
|
||
|
(plain_scalar))))))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Nested top level flow mapping
|
||
|
================================================================================
|
||
|
{ key: [[[
|
||
|
value
|
||
|
]]]
|
||
|
}
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(plain_scalar)))))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Node Anchor and Tag on Seperate Lines
|
||
|
================================================================================
|
||
|
key: &anchor
|
||
|
!!map
|
||
|
a: b
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(anchor)
|
||
|
(tag)
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Node anchor in sequence [INVALID]
|
||
|
================================================================================
|
||
|
- item1
|
||
|
&node
|
||
|
- item2
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(ERROR
|
||
|
(anchor))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Node anchor not indented [INVALID]
|
||
|
================================================================================
|
||
|
key: &x
|
||
|
!!map
|
||
|
a: b
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(anchor)))
|
||
|
(ERROR
|
||
|
(tag))))))
|
||
|
|
||
|
================================================================================
|
||
|
Node and Mapping Key Anchors
|
||
|
================================================================================
|
||
|
---
|
||
|
top1: &node1
|
||
|
&k1 key1: one
|
||
|
top2: &node2 # comment
|
||
|
key2: two
|
||
|
top3:
|
||
|
&k3 key3: three
|
||
|
top4:
|
||
|
&node4
|
||
|
&k4 key4: four
|
||
|
top5:
|
||
|
&node5
|
||
|
key5: five
|
||
|
top6: &val6
|
||
|
six
|
||
|
top7:
|
||
|
&val7 seven
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(anchor)
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(anchor) (plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(anchor)
|
||
|
(comment)
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(anchor) (plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(anchor)
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(anchor) (plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(anchor)
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(anchor) (plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(anchor) (plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Node and Mapping Key Anchors [1.3]
|
||
|
================================================================================
|
||
|
---
|
||
|
top1: &node1
|
||
|
&k1 key1: one
|
||
|
top2: &node2 # comment
|
||
|
key2: two
|
||
|
top3:
|
||
|
&k3 key3: three
|
||
|
top4: &node4
|
||
|
&k4 key4: four
|
||
|
top5: &node5
|
||
|
key5: five
|
||
|
top6: &val6
|
||
|
six
|
||
|
top7:
|
||
|
&val7 seven
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(anchor)
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(anchor) (plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(anchor)
|
||
|
(comment)
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(anchor) (plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(anchor)
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(anchor) (plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(anchor)
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(anchor) (plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(anchor) (plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Non-Specific Tags on Scalars
|
||
|
================================================================================
|
||
|
- plain
|
||
|
- "double quoted"
|
||
|
- 'single quoted'
|
||
|
- >
|
||
|
block
|
||
|
- plain again
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(double_quote_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(single_quote_scalar)))
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Plain mapping key ending with colon
|
||
|
================================================================================
|
||
|
---
|
||
|
key ends with two colons::: value
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Plain Scalar looking like key, comment, anchor and tag
|
||
|
================================================================================
|
||
|
k:#foo
|
||
|
&a !t s
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(plain_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Plain Scalar looking like key, comment, anchor and tag [1.3]
|
||
|
================================================================================
|
||
|
---
|
||
|
k:#foo
|
||
|
&a !t s
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(plain_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Plain scalar with backslashes
|
||
|
================================================================================
|
||
|
---
|
||
|
plain\value\with\backslashes
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(plain_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Plain URL in flow mapping
|
||
|
================================================================================
|
||
|
- { url: http://example.org }
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Scalar value with two anchors [INVALID]
|
||
|
================================================================================
|
||
|
top1: &node1
|
||
|
&k1 key1: val1
|
||
|
top2: &node2
|
||
|
&v2 val2
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(anchor)
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(anchor) (plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(anchor)))
|
||
|
(ERROR
|
||
|
(flow_node
|
||
|
(anchor) (plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Scalars on --- line
|
||
|
================================================================================
|
||
|
--- "quoted
|
||
|
string"
|
||
|
--- &node foo
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(double_quote_scalar)))
|
||
|
(document
|
||
|
(flow_node
|
||
|
(anchor) (plain_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Sequence entry that looks like two with wrong indentation
|
||
|
================================================================================
|
||
|
- single multiline
|
||
|
- sequence entry
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Sequence Indent
|
||
|
================================================================================
|
||
|
foo:
|
||
|
- 42
|
||
|
bar:
|
||
|
- 44
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Sequence on same Line as Mapping Key [INVALID]
|
||
|
================================================================================
|
||
|
key: - a
|
||
|
- b
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
|
||
|
================================================================================
|
||
|
Sequence With Same Indentation as Parent Mapping
|
||
|
================================================================================
|
||
|
1:
|
||
|
- 2
|
||
|
- 3
|
||
|
4: 5
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Simple Mapping Indent
|
||
|
================================================================================
|
||
|
foo:
|
||
|
bar: baz
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Single block sequence with anchor
|
||
|
================================================================================
|
||
|
&sequence
|
||
|
- a
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(anchor)
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Single block sequence with anchor and explicit document start
|
||
|
================================================================================
|
||
|
--- &sequence
|
||
|
- a
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(anchor)
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Single Entry Block Sequence
|
||
|
================================================================================
|
||
|
- foo
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Single Pair Block Mapping
|
||
|
================================================================================
|
||
|
foo: bar
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 2.1. Sequence of Scalars
|
||
|
================================================================================
|
||
|
- Mark McGwire
|
||
|
- Sammy Sosa
|
||
|
- Ken Griffey
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 2.2. Mapping Scalars to Scalars
|
||
|
================================================================================
|
||
|
hr: 65 # Home runs
|
||
|
avg: 0.278 # Batting average
|
||
|
rbi: 147 # Runs Batted In
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(comment)
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(comment)
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(comment)))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 2.3. Mapping Scalars to Sequences
|
||
|
================================================================================
|
||
|
american:
|
||
|
- Boston Red Sox
|
||
|
- Detroit Tigers
|
||
|
- New York Yankees
|
||
|
national:
|
||
|
- New York Mets
|
||
|
- Chicago Cubs
|
||
|
- Atlanta Braves
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 2.4. Sequence of Mappings
|
||
|
================================================================================
|
||
|
-
|
||
|
name: Mark McGwire
|
||
|
hr: 65
|
||
|
avg: 0.278
|
||
|
-
|
||
|
name: Sammy Sosa
|
||
|
hr: 63
|
||
|
avg: 0.288
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 2.5. Sequence of Sequences
|
||
|
================================================================================
|
||
|
- [name , hr, avg ]
|
||
|
- [Mark McGwire, 65, 0.278]
|
||
|
- [Sammy Sosa , 63, 0.288]
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar)))))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar)))))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar)))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 2.6. Mapping of Mappings
|
||
|
================================================================================
|
||
|
Mark McGwire: {hr: 65, avg: 0.278}
|
||
|
Sammy Sosa: {
|
||
|
hr: 63,
|
||
|
avg: 0.288
|
||
|
}
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 2.7. Two Documents in a Stream
|
||
|
================================================================================
|
||
|
# Ranking of 1998 home runs
|
||
|
---
|
||
|
- Mark McGwire
|
||
|
- Sammy Sosa
|
||
|
- Ken Griffey
|
||
|
|
||
|
# Team ranking
|
||
|
---
|
||
|
- Chicago Cubs
|
||
|
- St Louis Cardinals
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(comment)
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(comment))))
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 2.8. Play by Play Feed from a Game
|
||
|
================================================================================
|
||
|
---
|
||
|
time: 20:03:20
|
||
|
player: Sammy Sosa
|
||
|
action: strike (miss)
|
||
|
...
|
||
|
---
|
||
|
time: 20:03:47
|
||
|
player: Sammy Sosa
|
||
|
action: grand slam
|
||
|
...
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 2.9. Single Document with Two Comments
|
||
|
================================================================================
|
||
|
---
|
||
|
hr: # 1998 hr ranking
|
||
|
- Mark McGwire
|
||
|
- Sammy Sosa
|
||
|
rbi:
|
||
|
# 1998 rbi ranking
|
||
|
- Sammy Sosa
|
||
|
- Ken Griffey
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
(comment)
|
||
|
value: (block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
(comment)
|
||
|
value: (block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 2.10. Node for “Sammy Sosa” appears twice in this document
|
||
|
================================================================================
|
||
|
---
|
||
|
hr:
|
||
|
- Mark McGwire
|
||
|
# Following node labeled SS
|
||
|
- &SS Sammy Sosa
|
||
|
rbi:
|
||
|
- *SS # Subsequent occurrence
|
||
|
- Ken Griffey
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(comment)
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(anchor) (plain_scalar))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(alias)))
|
||
|
(comment)
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 2.11. Mapping between Sequences
|
||
|
================================================================================
|
||
|
? - Detroit Tigers
|
||
|
- Chicago cubs
|
||
|
:
|
||
|
- 2001-07-23
|
||
|
|
||
|
? [ New York Yankees,
|
||
|
Atlanta Braves ]
|
||
|
: [ 2001-07-02, 2001-08-12,
|
||
|
2001-08-14 ]
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))))
|
||
|
value: (block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar))))
|
||
|
value: (flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar)))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 2.12. Compact Nested Mapping
|
||
|
================================================================================
|
||
|
---
|
||
|
# Products purchased
|
||
|
- item : Super Hoop
|
||
|
quantity: 1
|
||
|
- item : Basketball
|
||
|
quantity: 4
|
||
|
- item : Big Shoes
|
||
|
quantity: 1
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(comment)
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 2.13. In literals, newlines are preserved
|
||
|
================================================================================
|
||
|
# ASCII Art
|
||
|
--- |
|
||
|
\//||\/||
|
||
|
// || ||__
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(comment)
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 2.14. In the folded scalars, newlines become spaces
|
||
|
================================================================================
|
||
|
--- >
|
||
|
Mark McGwire's
|
||
|
year was crippled
|
||
|
by a knee injury.
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 2.15. Folded newlines are preserved for "more indented" and blank lines
|
||
|
================================================================================
|
||
|
>
|
||
|
Sammy Sosa completed another
|
||
|
fine season with great stats.
|
||
|
|
||
|
63 Home Runs
|
||
|
0.288 Batting Average
|
||
|
|
||
|
What a year!
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 2.16. Indentation determines scope
|
||
|
================================================================================
|
||
|
name: Mark McGwire
|
||
|
accomplishment: >
|
||
|
Mark set a major league
|
||
|
home run record in 1998.
|
||
|
stats: |
|
||
|
65 Home Runs
|
||
|
0.278 Batting Average
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 2.17. Quoted Scalars
|
||
|
================================================================================
|
||
|
unicode: "Sosa did fine.\u263A"
|
||
|
control: "\b1998\t1999\t2000\n"
|
||
|
hex esc: "\x0d\x0a is \r\n"
|
||
|
|
||
|
single: '"Howdy!" he cried.'
|
||
|
quoted: ' # Not a ''comment''.'
|
||
|
tie-fighter: '|\-*-/|'
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(double_quote_scalar
|
||
|
(escape_sequence))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(double_quote_scalar
|
||
|
(escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(double_quote_scalar
|
||
|
(escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(single_quote_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(single_quote_scalar
|
||
|
(escape_sequence) (escape_sequence))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(single_quote_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 2.18. Multi-line Flow Scalars
|
||
|
================================================================================
|
||
|
plain:
|
||
|
This unquoted scalar
|
||
|
spans many lines.
|
||
|
|
||
|
quoted: "So does this
|
||
|
quoted scalar.\n"
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(double_quote_scalar
|
||
|
(escape_sequence))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 2.23. Various Explicit Tags
|
||
|
================================================================================
|
||
|
---
|
||
|
not-date: !!str 2002-04-28
|
||
|
|
||
|
picture: !!binary |
|
||
|
R0lGODlhDAAMAIQAAP//9/X
|
||
|
17unp5WZmZgAAAOfn515eXv
|
||
|
Pz7Y6OjuDg4J+fn5OTk6enp
|
||
|
56enmleECcgggoBADs=
|
||
|
|
||
|
application specific tag: !something |
|
||
|
The semantics of the tag
|
||
|
above may be different for
|
||
|
different documents.
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(tag) (plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(tag) (block_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(tag) (block_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 2.24. Global Tags
|
||
|
================================================================================
|
||
|
%TAG ! tag:clarkevans.com,2002:
|
||
|
--- !shape
|
||
|
# Use the ! handle for presenting
|
||
|
# tag:clarkevans.com,2002:circle
|
||
|
- !circle
|
||
|
center: &ORIGIN {x: 73, y: 129}
|
||
|
radius: 7
|
||
|
- !line
|
||
|
start: *ORIGIN
|
||
|
finish: { x: 89, y: 102 }
|
||
|
- !label
|
||
|
start: *ORIGIN
|
||
|
color: 0xFFEEBB
|
||
|
text: Pretty vector drawing.
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(tag_directive
|
||
|
(tag_handle) (tag_prefix))
|
||
|
(block_node
|
||
|
(tag)
|
||
|
(comment)
|
||
|
(comment)
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(tag)
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(anchor)
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(tag)
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(alias)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))))
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(tag)
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(alias)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 2.25. Unordered Sets
|
||
|
================================================================================
|
||
|
# Sets are represented as a
|
||
|
# Mapping where each key is
|
||
|
# associated with a null value
|
||
|
--- !!set
|
||
|
? Mark McGwire
|
||
|
? Sammy Sosa
|
||
|
? Ken Griff
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(comment)
|
||
|
(comment)
|
||
|
(comment)
|
||
|
(document
|
||
|
(block_node
|
||
|
(tag)
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 2.26. Ordered Mappings
|
||
|
================================================================================
|
||
|
# Ordered maps are represented as
|
||
|
# A sequence of mappings, with
|
||
|
# each mapping having one key
|
||
|
--- !!omap
|
||
|
- Mark McGwire: 65
|
||
|
- Sammy Sosa: 63
|
||
|
- Ken Griffy: 58
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(comment)
|
||
|
(comment)
|
||
|
(comment)
|
||
|
(document
|
||
|
(block_node
|
||
|
(tag)
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 2.27. Invoice
|
||
|
================================================================================
|
||
|
--- !<tag:clarkevans.com,2002:invoice>
|
||
|
invoice: 34843
|
||
|
date : 2001-01-23
|
||
|
bill-to: &id001
|
||
|
given : Chris
|
||
|
family : Dumars
|
||
|
address:
|
||
|
lines: |
|
||
|
458 Walkman Dr.
|
||
|
Suite #292
|
||
|
city : Royal Oak
|
||
|
state : MI
|
||
|
postal : 48046
|
||
|
ship-to: *id001
|
||
|
product:
|
||
|
- sku : BL394D
|
||
|
quantity : 4
|
||
|
description : Basketball
|
||
|
price : 450.00
|
||
|
- sku : BL4438H
|
||
|
quantity : 1
|
||
|
description : Super Hoop
|
||
|
price : 2392.00
|
||
|
tax : 251.42
|
||
|
total: 4443.52
|
||
|
comments:
|
||
|
Late afternoon is best.
|
||
|
Backup contact is Nancy
|
||
|
Billsmer @ 338-4338.
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(tag)
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(anchor)
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(alias)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 2.28. Log File
|
||
|
================================================================================
|
||
|
---
|
||
|
Time: 2001-11-23 15:01:42 -5
|
||
|
User: ed
|
||
|
Warning:
|
||
|
This is an error message
|
||
|
for the log file
|
||
|
---
|
||
|
Time: 2001-11-23 15:02:31 -5
|
||
|
User: ed
|
||
|
Warning:
|
||
|
A slightly different error
|
||
|
message.
|
||
|
---
|
||
|
Date: 2001-11-23 15:03:17 -5
|
||
|
User: ed
|
||
|
Fatal:
|
||
|
Unknown variable "bar"
|
||
|
Stack:
|
||
|
- file: TopClass.py
|
||
|
line: 23
|
||
|
code: |
|
||
|
x = MoreObject("345\n")
|
||
|
- file: MoreClass.py
|
||
|
line: 58
|
||
|
code: |-
|
||
|
foo = bar
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_scalar))))))
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_scalar)))))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 5.3. Block Structure Indicators
|
||
|
================================================================================
|
||
|
sequence:
|
||
|
- one
|
||
|
- two
|
||
|
mapping:
|
||
|
? sky
|
||
|
: blue
|
||
|
sea : green
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 5.4. Flow Collection Indicators
|
||
|
================================================================================
|
||
|
sequence: [ one, two, ]
|
||
|
mapping: { sky: blue, sea: green }
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar)))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 5.5. Comment Indicator
|
||
|
================================================================================
|
||
|
# Comment only.
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(comment))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 5.6. Node Property Indicators
|
||
|
================================================================================
|
||
|
anchored: !local &anchor value
|
||
|
alias: *anchor
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(tag) (anchor) (plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(alias)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 5.7. Block Scalar Indicators
|
||
|
================================================================================
|
||
|
literal: |
|
||
|
some
|
||
|
text
|
||
|
folded: >
|
||
|
some
|
||
|
text
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 5.8. Quoted Scalar Indicators
|
||
|
================================================================================
|
||
|
single: 'text'
|
||
|
double: "text"
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(single_quote_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(double_quote_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 5.9. Directive Indicator
|
||
|
================================================================================
|
||
|
%YAML 1.2
|
||
|
--- text
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(yaml_directive
|
||
|
(yaml_version))
|
||
|
(flow_node
|
||
|
(plain_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 5.12. Tabs and Spaces
|
||
|
================================================================================
|
||
|
# Tabs and spaces
|
||
|
quoted: "Quoted "
|
||
|
block: |
|
||
|
void main() {
|
||
|
printf("Hello, world!\n");
|
||
|
}
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(comment)
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(double_quote_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 6.1. Indentation Spaces
|
||
|
================================================================================
|
||
|
# Leading comment line spaces are
|
||
|
# neither content nor indentation.
|
||
|
|
||
|
Not indented:
|
||
|
By one space: |
|
||
|
By four
|
||
|
spaces
|
||
|
Flow style: [ # Leading spaces
|
||
|
By two, # in flow style
|
||
|
Also by two, # are neither
|
||
|
Still by two # content nor
|
||
|
] # indentation.
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(comment)
|
||
|
(comment)
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(flow_sequence
|
||
|
(comment)
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(comment)
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(comment)
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(comment))))
|
||
|
(comment))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 6.2. Indentation Indicators
|
||
|
================================================================================
|
||
|
? a
|
||
|
: - b
|
||
|
- - c
|
||
|
- d
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 6.3. Separation Spaces
|
||
|
================================================================================
|
||
|
- foo: bar
|
||
|
- - baz
|
||
|
- baz
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 6.4. Line Prefixes
|
||
|
================================================================================
|
||
|
plain: text
|
||
|
lines
|
||
|
quoted: "text
|
||
|
lines"
|
||
|
block: |
|
||
|
text
|
||
|
lines
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(double_quote_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 6.5. Empty Lines
|
||
|
================================================================================
|
||
|
Folding:
|
||
|
"Empty line
|
||
|
|
||
|
as a line feed"
|
||
|
Chomping: |
|
||
|
Clipped empty lines
|
||
|
|
||
|
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(double_quote_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 6.5. Empty Lines [1.3]
|
||
|
================================================================================
|
||
|
Folding:
|
||
|
"Empty line
|
||
|
|
||
|
as a line feed"
|
||
|
Chomping: |
|
||
|
Clipped empty lines
|
||
|
|
||
|
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(double_quote_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 6.6. Line Folding
|
||
|
================================================================================
|
||
|
>-
|
||
|
trimmed
|
||
|
|
||
|
|
||
|
|
||
|
as
|
||
|
space
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 6.6. Line Folding [1.3]
|
||
|
================================================================================
|
||
|
--- >-
|
||
|
trimmed
|
||
|
|
||
|
|
||
|
|
||
|
as
|
||
|
space
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 6.7. Block Folding
|
||
|
================================================================================
|
||
|
>
|
||
|
foo
|
||
|
|
||
|
bar
|
||
|
|
||
|
baz
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 6.8. Flow Folding
|
||
|
================================================================================
|
||
|
"
|
||
|
foo
|
||
|
|
||
|
bar
|
||
|
|
||
|
baz
|
||
|
"
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(double_quote_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 6.8. Flow Folding [1.3]
|
||
|
================================================================================
|
||
|
---
|
||
|
"
|
||
|
foo
|
||
|
|
||
|
bar
|
||
|
|
||
|
baz
|
||
|
"
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(double_quote_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 6.9. Separated Comment
|
||
|
================================================================================
|
||
|
key: # Comment
|
||
|
value
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
(comment)
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 6.10. Comment Lines
|
||
|
================================================================================
|
||
|
# Comment
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(comment))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 6.11. Multi-Line Comments
|
||
|
================================================================================
|
||
|
key: # Comment
|
||
|
# lines
|
||
|
value
|
||
|
|
||
|
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
(comment)
|
||
|
(comment)
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 6.12. Separation Spaces
|
||
|
================================================================================
|
||
|
{ first: Sammy, last: Sosa }:
|
||
|
# Statistics:
|
||
|
hr: # Home runs
|
||
|
65
|
||
|
avg: # Average
|
||
|
0.278
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))
|
||
|
(comment)
|
||
|
value: (block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
(comment)
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
(comment)
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 6.13. Reserved Directives
|
||
|
================================================================================
|
||
|
%FOO bar baz # Should be ignored
|
||
|
# with a warning.
|
||
|
--- "foo"
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(reserved_directive
|
||
|
(directive_name) (directive_parameter) (directive_parameter))
|
||
|
(comment)
|
||
|
(comment)
|
||
|
(flow_node
|
||
|
(double_quote_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 6.13. Reserved Directives [1.3]
|
||
|
================================================================================
|
||
|
%FOO bar baz # Should be ignored
|
||
|
# with a warning.
|
||
|
---
|
||
|
"foo"
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(reserved_directive
|
||
|
(directive_name) (directive_parameter) (directive_parameter))
|
||
|
(comment)
|
||
|
(comment)
|
||
|
(flow_node
|
||
|
(double_quote_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 6.14. “YAML” directive
|
||
|
================================================================================
|
||
|
%YAML 1.3 # Attempt parsing
|
||
|
# with a warning
|
||
|
---
|
||
|
"foo"
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(yaml_directive
|
||
|
(yaml_version))
|
||
|
(comment)
|
||
|
(comment)
|
||
|
(flow_node
|
||
|
(double_quote_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 6.16. “TAG” directive
|
||
|
================================================================================
|
||
|
%TAG !yaml! tag:yaml.org,2002:
|
||
|
---
|
||
|
!yaml!str "foo"
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(tag_directive
|
||
|
(tag_handle) (tag_prefix))
|
||
|
(flow_node
|
||
|
(tag) (double_quote_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 6.18. Primary Tag Handle
|
||
|
================================================================================
|
||
|
# Private
|
||
|
!foo "bar"
|
||
|
...
|
||
|
# Global
|
||
|
%TAG ! tag:example.com,2000:app/
|
||
|
---
|
||
|
!foo "bar"
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(comment)
|
||
|
(document
|
||
|
(flow_node
|
||
|
(tag) (double_quote_scalar)))
|
||
|
(comment)
|
||
|
(document
|
||
|
(tag_directive
|
||
|
(tag_handle) (tag_prefix))
|
||
|
(flow_node
|
||
|
(tag) (double_quote_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 6.18. Primary Tag Handle [1.3]
|
||
|
================================================================================
|
||
|
# Private
|
||
|
---
|
||
|
!foo "bar"
|
||
|
...
|
||
|
# Global
|
||
|
%TAG ! tag:example.com,2000:app/
|
||
|
---
|
||
|
!foo "bar"
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(comment)
|
||
|
(document
|
||
|
(flow_node
|
||
|
(tag) (double_quote_scalar)))
|
||
|
(comment)
|
||
|
(document
|
||
|
(tag_directive
|
||
|
(tag_handle) (tag_prefix))
|
||
|
(flow_node
|
||
|
(tag) (double_quote_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 6.19. Secondary Tag Handle
|
||
|
================================================================================
|
||
|
%TAG !! tag:example.com,2000:app/
|
||
|
---
|
||
|
!!int 1 - 3 # Interval, not integer
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(tag_directive
|
||
|
(tag_handle) (tag_prefix))
|
||
|
(flow_node
|
||
|
(tag) (plain_scalar)))
|
||
|
(comment))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 6.20. Tag Handles
|
||
|
================================================================================
|
||
|
%TAG !e! tag:example.com,2000:app/
|
||
|
---
|
||
|
!e!foo "bar"
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(tag_directive
|
||
|
(tag_handle) (tag_prefix))
|
||
|
(flow_node
|
||
|
(tag) (double_quote_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 6.21. Local Tag Prefix
|
||
|
================================================================================
|
||
|
%TAG !m! !my-
|
||
|
--- # Bulb here
|
||
|
!m!light fluorescent
|
||
|
...
|
||
|
%TAG !m! !my-
|
||
|
--- # Color here
|
||
|
!m!light green
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(tag_directive
|
||
|
(tag_handle) (tag_prefix))
|
||
|
(comment)
|
||
|
(flow_node
|
||
|
(tag) (plain_scalar)))
|
||
|
(document
|
||
|
(tag_directive
|
||
|
(tag_handle) (tag_prefix))
|
||
|
(comment)
|
||
|
(flow_node
|
||
|
(tag) (plain_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 6.22. Global Tag Prefix
|
||
|
================================================================================
|
||
|
%TAG !e! tag:example.com,2000:app/
|
||
|
---
|
||
|
- !e!foo "bar"
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(tag_directive
|
||
|
(tag_handle) (tag_prefix))
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(tag) (double_quote_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 6.23. Node Properties
|
||
|
================================================================================
|
||
|
!!str &a1 "foo":
|
||
|
!!str bar
|
||
|
&a2 baz : *a1
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(tag) (anchor) (double_quote_scalar))
|
||
|
value: (flow_node
|
||
|
(tag) (plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(anchor) (plain_scalar))
|
||
|
value: (flow_node
|
||
|
(alias)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 6.24. Verbatim Tags
|
||
|
================================================================================
|
||
|
!<tag:yaml.org,2002:str> foo :
|
||
|
!<!bar> baz
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(tag) (plain_scalar))
|
||
|
value: (flow_node
|
||
|
(tag) (plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 6.26. Tag Shorthands
|
||
|
================================================================================
|
||
|
%TAG !e! tag:example.com,2000:app/
|
||
|
---
|
||
|
- !local foo
|
||
|
- !!str bar
|
||
|
- !e!tag%21 baz
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(tag_directive
|
||
|
(tag_handle) (tag_prefix))
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(tag) (plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(tag) (plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(tag) (plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 6.28. Non-Specific Tags
|
||
|
================================================================================
|
||
|
# Assuming conventional resolution:
|
||
|
- "12"
|
||
|
- 12
|
||
|
- ! 12
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(comment)
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(double_quote_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(tag) (plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 6.29. Node Anchors
|
||
|
================================================================================
|
||
|
First occurrence: &anchor Value
|
||
|
Second occurrence: *anchor
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(anchor) (plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(alias)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 7.1. Alias Nodes
|
||
|
================================================================================
|
||
|
First occurrence: &anchor Foo
|
||
|
Second occurrence: *anchor
|
||
|
Override anchor: &anchor Bar
|
||
|
Reuse anchor: *anchor
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(anchor) (plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(alias)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(anchor) (plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(alias)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 7.2. Empty Content
|
||
|
================================================================================
|
||
|
{
|
||
|
foo : !!str,
|
||
|
!!str : bar,
|
||
|
}
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(tag)))
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(tag))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 7.3. Completely Empty Flow Nodes
|
||
|
================================================================================
|
||
|
{
|
||
|
? foo :,
|
||
|
: bar,
|
||
|
}
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(flow_pair
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 7.4. Double Quoted Implicit Keys
|
||
|
================================================================================
|
||
|
"implicit block key" : [
|
||
|
"implicit flow key" : value,
|
||
|
]
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(double_quote_scalar))
|
||
|
value: (flow_node
|
||
|
(flow_sequence
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(double_quote_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 7.5. Double Quoted Line Breaks
|
||
|
================================================================================
|
||
|
"folded
|
||
|
to a space,
|
||
|
|
||
|
to a line feed, or \
|
||
|
\ non-content"
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(double_quote_scalar
|
||
|
(escape_sequence) (escape_sequence)))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 7.5. Double Quoted Line Breaks [1.3]
|
||
|
================================================================================
|
||
|
---
|
||
|
"folded
|
||
|
to a space,
|
||
|
|
||
|
to a line feed, or \
|
||
|
\ non-content"
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(double_quote_scalar
|
||
|
(escape_sequence) (escape_sequence)))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 7.6. Double Quoted Lines
|
||
|
================================================================================
|
||
|
" 1st non-empty
|
||
|
|
||
|
2nd non-empty
|
||
|
3rd non-empty "
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(double_quote_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 7.6. Double Quoted Lines [1.3]
|
||
|
================================================================================
|
||
|
---
|
||
|
" 1st non-empty
|
||
|
|
||
|
2nd non-empty
|
||
|
3rd non-empty "
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(double_quote_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 7.7. Single Quoted Characters
|
||
|
================================================================================
|
||
|
'here''s to "quotes"'
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(single_quote_scalar
|
||
|
(escape_sequence)))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 7.7. Single Quoted Characters [1.3]
|
||
|
================================================================================
|
||
|
---
|
||
|
'here''s to "quotes"'
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(single_quote_scalar
|
||
|
(escape_sequence)))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 7.8. Single Quoted Implicit Keys
|
||
|
================================================================================
|
||
|
'implicit block key' : [
|
||
|
'implicit flow key' : value,
|
||
|
]
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(single_quote_scalar))
|
||
|
value: (flow_node
|
||
|
(flow_sequence
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(single_quote_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 7.9. Single Quoted Lines
|
||
|
================================================================================
|
||
|
' 1st non-empty
|
||
|
|
||
|
2nd non-empty
|
||
|
3rd non-empty '
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(single_quote_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 7.9. Single Quoted Lines [1.3]
|
||
|
================================================================================
|
||
|
---
|
||
|
' 1st non-empty
|
||
|
|
||
|
2nd non-empty
|
||
|
3rd non-empty '
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(single_quote_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 7.10. Plain Characters
|
||
|
================================================================================
|
||
|
# Outside flow collection:
|
||
|
- ::vector
|
||
|
- ": - ()"
|
||
|
- Up, up, and away!
|
||
|
- -123
|
||
|
- http://example.com/foo#bar
|
||
|
# Inside flow collection:
|
||
|
- [ ::vector,
|
||
|
": - ()",
|
||
|
"Up, up and away!",
|
||
|
-123,
|
||
|
http://example.com/foo#bar ]
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(comment)
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(double_quote_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(comment)
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(double_quote_scalar))
|
||
|
(flow_node
|
||
|
(double_quote_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar)))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 7.11. Plain Implicit Keys
|
||
|
================================================================================
|
||
|
implicit block key : [
|
||
|
implicit flow key : value,
|
||
|
]
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(flow_sequence
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 7.12. Plain Lines
|
||
|
================================================================================
|
||
|
1st non-empty
|
||
|
|
||
|
2nd non-empty
|
||
|
3rd non-empty
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(plain_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 7.13. Flow Sequence
|
||
|
================================================================================
|
||
|
- [ one, two, ]
|
||
|
- [three ,four]
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar)))))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar)))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 7.14. Flow Sequence Entries
|
||
|
================================================================================
|
||
|
[
|
||
|
"double
|
||
|
quoted", 'single
|
||
|
quoted',
|
||
|
plain
|
||
|
text, [ nested ],
|
||
|
single: pair,
|
||
|
]
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(double_quote_scalar))
|
||
|
(flow_node
|
||
|
(single_quote_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(plain_scalar))))
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 7.15. Flow Mappings
|
||
|
================================================================================
|
||
|
- { one : two , three: four , }
|
||
|
- {five: six,seven : eight}
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 7.16. Flow Mapping Entries
|
||
|
================================================================================
|
||
|
{
|
||
|
? explicit: entry,
|
||
|
implicit: entry,
|
||
|
?
|
||
|
}
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(flow_pair)))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 7.17. Flow Mapping Separate Values
|
||
|
================================================================================
|
||
|
{
|
||
|
unquoted : "separate",
|
||
|
http://foo.com,
|
||
|
omitted value:,
|
||
|
: omitted key,
|
||
|
}
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(double_quote_scalar)))
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(flow_pair
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 7.18. Flow Mapping Adjacent Values
|
||
|
================================================================================
|
||
|
{
|
||
|
"adjacent":value,
|
||
|
"readable": value,
|
||
|
"empty":
|
||
|
}
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(double_quote_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(double_quote_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(double_quote_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 7.19. Single Pair Flow Mappings
|
||
|
================================================================================
|
||
|
[
|
||
|
foo: bar
|
||
|
]
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(flow_sequence
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 7.20. Single Pair Explicit Entry
|
||
|
================================================================================
|
||
|
[
|
||
|
? foo
|
||
|
bar : baz
|
||
|
]
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(flow_sequence
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 7.21. Single Pair Implicit Entries
|
||
|
================================================================================
|
||
|
- [ YAML : separate ]
|
||
|
- [ : empty key entry ]
|
||
|
- [ {JSON: like}:adjacent ]
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(flow_sequence
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(flow_sequence
|
||
|
(flow_pair
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(flow_sequence
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 7.21. Single Pair Implicit Entries [1.3
|
||
|
================================================================================
|
||
|
- [ YAML : separate ]
|
||
|
- [ : empty key entry ]
|
||
|
- [ "JSON like":adjacent ]
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(flow_sequence
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(flow_sequence
|
||
|
(flow_pair
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(flow_sequence
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(double_quote_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 7.23. Flow Content
|
||
|
================================================================================
|
||
|
- [ a, b ]
|
||
|
- { a: b }
|
||
|
- "a"
|
||
|
- 'b'
|
||
|
- c
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar)))))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(double_quote_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(single_quote_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 7.24. Flow Nodes
|
||
|
================================================================================
|
||
|
- !!str "a"
|
||
|
- 'b'
|
||
|
- &anchor "c"
|
||
|
- *anchor
|
||
|
- !!str
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(tag) (double_quote_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(single_quote_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(anchor) (double_quote_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(alias)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(tag)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 8.1. 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))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 8.2. 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)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 8.2. Block Indentation Indicator [1.3]
|
||
|
================================================================================
|
||
|
- |
|
||
|
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)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 8.4. Chomping Final Line Break
|
||
|
================================================================================
|
||
|
strip: |-
|
||
|
text
|
||
|
clip: |
|
||
|
text
|
||
|
keep: |+
|
||
|
text
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 8.5. 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
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_scalar)))
|
||
|
(comment)
|
||
|
(comment)
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_scalar)))
|
||
|
(comment)
|
||
|
(comment)
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_scalar)))
|
||
|
(comment)
|
||
|
(comment)))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 8.6. Empty Scalar Chomping
|
||
|
================================================================================
|
||
|
strip: >-
|
||
|
|
||
|
clip: >
|
||
|
|
||
|
keep: |+
|
||
|
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 8.7. Literal Scalar
|
||
|
================================================================================
|
||
|
|
|
||
|
literal
|
||
|
text
|
||
|
|
||
|
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 8.7. Literal Scalar [1.3]
|
||
|
================================================================================
|
||
|
--- |
|
||
|
literal
|
||
|
text
|
||
|
|
||
|
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 8.8. Literal Content
|
||
|
================================================================================
|
||
|
|
|
||
|
|
||
|
|
||
|
literal
|
||
|
|
||
|
|
||
|
text
|
||
|
|
||
|
# Comment
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_scalar)))
|
||
|
(comment))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 8.8. Literal Content [1.3]
|
||
|
================================================================================
|
||
|
--- |
|
||
|
|
||
|
|
||
|
literal
|
||
|
|
||
|
|
||
|
text
|
||
|
|
||
|
# Comment
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_scalar)))
|
||
|
(comment))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 8.9. Folded Scalar
|
||
|
================================================================================
|
||
|
>
|
||
|
folded
|
||
|
text
|
||
|
|
||
|
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 8.9. Folded Scalar [1.3]
|
||
|
================================================================================
|
||
|
--- >
|
||
|
folded
|
||
|
text
|
||
|
|
||
|
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 8.10. Folded Lines - 8.13. Final Empty Lines
|
||
|
================================================================================
|
||
|
>
|
||
|
|
||
|
folded
|
||
|
line
|
||
|
|
||
|
next
|
||
|
line
|
||
|
* bullet
|
||
|
|
||
|
* list
|
||
|
* lines
|
||
|
|
||
|
last
|
||
|
line
|
||
|
|
||
|
# Comment
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_scalar)))
|
||
|
(comment))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 8.14. Block Sequence
|
||
|
================================================================================
|
||
|
block sequence:
|
||
|
- one
|
||
|
- two : three
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 8.15. 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)))
|
||
|
(comment)
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(comment))))
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(comment))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 8.16. Block Mappings
|
||
|
================================================================================
|
||
|
block mapping:
|
||
|
key: value
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 8.17. 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
|
||
|
key: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(comment)
|
||
|
(block_mapping_pair
|
||
|
key: (block_node
|
||
|
(block_scalar))
|
||
|
value: (block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(comment)
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(comment))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 8.18. Implicit Block Mapping Entries
|
||
|
================================================================================
|
||
|
plain key: in-line value
|
||
|
: # Both empty
|
||
|
"quoted key":
|
||
|
- entry
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair)
|
||
|
(comment)
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(double_quote_scalar))
|
||
|
value: (block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 8.19. 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
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))
|
||
|
value: (block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 8.20. 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
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 8.21. Block Scalar Nodes
|
||
|
================================================================================
|
||
|
literal: |2
|
||
|
value
|
||
|
folded:
|
||
|
!foo
|
||
|
>1
|
||
|
value
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(tag) (block_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 8.21. Block Scalar Nodes [1.3]
|
||
|
================================================================================
|
||
|
literal: |2
|
||
|
value
|
||
|
folded: !foo >1
|
||
|
value
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(tag) (block_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 8.22. Block Collection Nodes
|
||
|
================================================================================
|
||
|
sequence: !!seq
|
||
|
- entry
|
||
|
- !!seq
|
||
|
- nested
|
||
|
mapping: !!map
|
||
|
foo: bar
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(tag)
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(tag)
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(tag)
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 9.2. Document Markers
|
||
|
================================================================================
|
||
|
%YAML 1.2
|
||
|
---
|
||
|
Document
|
||
|
... # Suffix
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(yaml_directive
|
||
|
(yaml_version))
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(comment))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 9.3. Bare Documents
|
||
|
================================================================================
|
||
|
Bare
|
||
|
document
|
||
|
...
|
||
|
# No document
|
||
|
...
|
||
|
|
|
||
|
%!PS-Adobe-2.0 # Not the first line
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(comment)
|
||
|
(document)
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 9.4. Explicit Documents
|
||
|
================================================================================
|
||
|
---
|
||
|
{ matches
|
||
|
% : 20 }
|
||
|
...
|
||
|
---
|
||
|
# Empty
|
||
|
...
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(document
|
||
|
(comment)))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 9.5. Directives Documents
|
||
|
================================================================================
|
||
|
%YAML 1.2
|
||
|
--- |
|
||
|
%!PS-Adobe-2.0
|
||
|
...
|
||
|
%YAML 1.2
|
||
|
---
|
||
|
# Empty
|
||
|
...
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(yaml_directive
|
||
|
(yaml_version))
|
||
|
(block_node
|
||
|
(block_scalar)))
|
||
|
(document
|
||
|
(yaml_directive
|
||
|
(yaml_version))
|
||
|
(comment)))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 9.6. Stream
|
||
|
================================================================================
|
||
|
Document
|
||
|
---
|
||
|
# Empty
|
||
|
...
|
||
|
%YAML 1.2
|
||
|
---
|
||
|
matches %: 20
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(document
|
||
|
(comment))
|
||
|
(document
|
||
|
(yaml_directive
|
||
|
(yaml_version))
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Spec Example 9.6. Stream [1.3]
|
||
|
================================================================================
|
||
|
Mapping: Document
|
||
|
---
|
||
|
# Empty
|
||
|
...
|
||
|
%YAML 1.2
|
||
|
---
|
||
|
matches %: 20
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(document
|
||
|
(comment))
|
||
|
(document
|
||
|
(yaml_directive
|
||
|
(yaml_version))
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Tab after document header
|
||
|
================================================================================
|
||
|
--- scalar
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(plain_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Tab at beginning of line followed by a flow mapping
|
||
|
================================================================================
|
||
|
{}
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(flow_mapping))))
|
||
|
|
||
|
================================================================================
|
||
|
Tag shorthand used in documents but only defined in the first
|
||
|
================================================================================
|
||
|
%TAG !prefix! tag:example.com,2011:
|
||
|
--- !prefix!A
|
||
|
a: b
|
||
|
--- !prefix!B
|
||
|
c: d
|
||
|
--- !prefix!C
|
||
|
e: f
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(tag_directive
|
||
|
(tag_handle) (tag_prefix))
|
||
|
(block_node
|
||
|
(tag)
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(document
|
||
|
(block_node
|
||
|
(tag)
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(document
|
||
|
(block_node
|
||
|
(tag)
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Tags for Block Objects
|
||
|
================================================================================
|
||
|
foo: !!seq
|
||
|
- !!str a
|
||
|
- !!map
|
||
|
key: !!str value
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(tag)
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(tag) (plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(tag)
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(tag) (plain_scalar)))))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Tags for Flow Objects
|
||
|
================================================================================
|
||
|
!!map {
|
||
|
k: !!seq
|
||
|
[ a, !!str b]
|
||
|
}
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(tag)
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(tag)
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(tag) (plain_scalar)))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Tags for Root Objects
|
||
|
================================================================================
|
||
|
--- !!map
|
||
|
? a
|
||
|
: b
|
||
|
--- !!seq
|
||
|
- !!str c
|
||
|
--- !!str
|
||
|
d
|
||
|
e
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(tag)
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(document
|
||
|
(block_node
|
||
|
(tag)
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(tag) (plain_scalar))))))
|
||
|
(document
|
||
|
(flow_node
|
||
|
(tag) (plain_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Tags in Block Sequence
|
||
|
================================================================================
|
||
|
- !!str a
|
||
|
- b
|
||
|
- !!int 42
|
||
|
- d
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(tag) (plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(tag) (plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Tags in Explicit Mapping
|
||
|
================================================================================
|
||
|
? !!str a
|
||
|
: !!int 47
|
||
|
? c
|
||
|
: !!str d
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(tag) (plain_scalar))
|
||
|
value: (flow_node
|
||
|
(tag) (plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(tag) (plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Tags in Implicit Mapping
|
||
|
================================================================================
|
||
|
!!str a: b
|
||
|
c: !!int 42
|
||
|
e: !!str f
|
||
|
g: h
|
||
|
!!int 23: !!bool false
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(tag) (plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(tag) (plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(tag) (plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(tag) (plain_scalar))
|
||
|
value: (flow_node
|
||
|
(tag) (plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Tags on Empty Scalars
|
||
|
================================================================================
|
||
|
- !!str
|
||
|
-
|
||
|
!!null : a
|
||
|
b: !!str
|
||
|
- !!str : !!null
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(tag)))
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(tag))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(tag))))))
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(tag))
|
||
|
value: (flow_node
|
||
|
(tag))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Three dashes and content without space
|
||
|
================================================================================
|
||
|
---word1
|
||
|
word2
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(plain_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Three dashes and content without space [1.3]
|
||
|
================================================================================
|
||
|
---
|
||
|
---word1
|
||
|
word2
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(plain_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Trailing comment in multiline plain scalar [INVALID]
|
||
|
================================================================================
|
||
|
---
|
||
|
plain: a
|
||
|
b # end of scalar
|
||
|
c
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(comment)
|
||
|
(ERROR)))))
|
||
|
|
||
|
================================================================================
|
||
|
Trailing content after quoted value [INVALID]
|
||
|
================================================================================
|
||
|
key1: "quoted1"
|
||
|
key2: "quoted2" trailing content
|
||
|
key3: "quoted3"
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(double_quote_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(double_quote_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Trailing content that looks like a mapping [INVALID]
|
||
|
================================================================================
|
||
|
key1: "quoted1"
|
||
|
key2: "quoted2" no key: nor value
|
||
|
key3: "quoted3"
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(double_quote_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(double_quote_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Two document start markers
|
||
|
================================================================================
|
||
|
---
|
||
|
---
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document) (document))
|
||
|
|
||
|
================================================================================
|
||
|
Various combinations of explicit block mappings
|
||
|
================================================================================
|
||
|
complex1:
|
||
|
? - a
|
||
|
complex2:
|
||
|
? - a
|
||
|
: b
|
||
|
complex3:
|
||
|
? - a
|
||
|
: >
|
||
|
b
|
||
|
complex4:
|
||
|
? >
|
||
|
a
|
||
|
:
|
||
|
complex5:
|
||
|
? - a
|
||
|
: - b
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))))
|
||
|
value: (block_node
|
||
|
(block_scalar))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (block_node
|
||
|
(block_scalar))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))))
|
||
|
value: (block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Various combinations of tags and anchors
|
||
|
================================================================================
|
||
|
---
|
||
|
&a1
|
||
|
!!str
|
||
|
scalar1
|
||
|
---
|
||
|
!!str
|
||
|
&a2
|
||
|
scalar2
|
||
|
---
|
||
|
&a3
|
||
|
!!str scalar3
|
||
|
---
|
||
|
&a4 !!map
|
||
|
&a5 !!str key5: value4
|
||
|
---
|
||
|
a6: 1
|
||
|
&anchor6 b6: 2
|
||
|
---
|
||
|
!!map
|
||
|
&a8 !!str key8: value7
|
||
|
---
|
||
|
!!map
|
||
|
!!str &a10 key10: value9
|
||
|
---
|
||
|
!!str &a11
|
||
|
value11
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(anchor) (tag) (plain_scalar)))
|
||
|
(document
|
||
|
(flow_node
|
||
|
(tag) (anchor) (plain_scalar)))
|
||
|
(document
|
||
|
(flow_node
|
||
|
(anchor) (tag) (plain_scalar)))
|
||
|
(document
|
||
|
(block_node
|
||
|
(anchor)
|
||
|
(tag)
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(anchor) (tag) (plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(anchor) (plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(document
|
||
|
(block_node
|
||
|
(tag)
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(anchor) (tag) (plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(document
|
||
|
(block_node
|
||
|
(tag)
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(tag) (anchor) (plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(document
|
||
|
(flow_node
|
||
|
(tag) (anchor) (plain_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Various empty or newline only quoted strings
|
||
|
================================================================================
|
||
|
---
|
||
|
a: '
|
||
|
'
|
||
|
b: '
|
||
|
'
|
||
|
c: "
|
||
|
"
|
||
|
d: "
|
||
|
"
|
||
|
e: '
|
||
|
|
||
|
'
|
||
|
f: "
|
||
|
|
||
|
"
|
||
|
g: '
|
||
|
|
||
|
|
||
|
'
|
||
|
h: "
|
||
|
|
||
|
|
||
|
"
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(single_quote_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(single_quote_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(double_quote_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(double_quote_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(single_quote_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(double_quote_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(single_quote_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(double_quote_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Various location of anchors in flow sequence
|
||
|
================================================================================
|
||
|
&flowseq [
|
||
|
a: b,
|
||
|
&c c: d,
|
||
|
{ &e e: f },
|
||
|
&g { g: h }
|
||
|
]
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(flow_node
|
||
|
(anchor)
|
||
|
(flow_sequence
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(anchor) (plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(anchor) (plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))
|
||
|
(flow_node
|
||
|
(anchor)
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Various Trailing Comments
|
||
|
================================================================================
|
||
|
a: "double
|
||
|
quotes" # lala
|
||
|
b: plain
|
||
|
value # lala
|
||
|
c : #lala
|
||
|
d
|
||
|
? # lala
|
||
|
- seq1
|
||
|
: # lala
|
||
|
- #lala
|
||
|
seq2
|
||
|
e:
|
||
|
&node # lala
|
||
|
- x: y
|
||
|
block: > # lala
|
||
|
abcde
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(double_quote_scalar)))
|
||
|
(comment)
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(comment)
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
(comment)
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
(comment)
|
||
|
key: (block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))))
|
||
|
(comment)
|
||
|
value: (block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(comment)
|
||
|
(flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(anchor)
|
||
|
(comment)
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_scalar
|
||
|
(comment))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Various Trailing Comments [1.3]
|
||
|
================================================================================
|
||
|
a: "double
|
||
|
quotes" # lala
|
||
|
b: plain
|
||
|
value # lala
|
||
|
c : #lala
|
||
|
d
|
||
|
? # lala
|
||
|
- seq1
|
||
|
: # lala
|
||
|
- #lala
|
||
|
seq2
|
||
|
e: &node # lala
|
||
|
- x: y
|
||
|
block: > # lala
|
||
|
abcde
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(double_quote_scalar)))
|
||
|
(comment)
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(comment)
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
(comment)
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
(comment)
|
||
|
key: (block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))))
|
||
|
(comment)
|
||
|
value: (block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(comment)
|
||
|
(flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(anchor)
|
||
|
(comment)
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_scalar
|
||
|
(comment))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Various trailing tabs
|
||
|
================================================================================
|
||
|
a: b
|
||
|
seq:
|
||
|
- a
|
||
|
c: d #X
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(comment)))))
|
||
|
|
||
|
================================================================================
|
||
|
Whitespace After Scalars in Flow
|
||
|
================================================================================
|
||
|
- [a, b , c ]
|
||
|
- { "a" : b
|
||
|
, c : 'd' ,
|
||
|
e : "f"
|
||
|
}
|
||
|
- [ ]
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(flow_sequence
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar)))))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(flow_mapping
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(double_quote_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(single_quote_scalar)))
|
||
|
(flow_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(double_quote_scalar))))))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(flow_sequence)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Whitespace around colon in mappings
|
||
|
================================================================================
|
||
|
"top1" :
|
||
|
"key1" : &alias1 scalar1
|
||
|
'top2' :
|
||
|
'key2' : &alias2 scalar2
|
||
|
top3: &node3
|
||
|
*alias1 : scalar3
|
||
|
top4:
|
||
|
*alias2 : scalar4
|
||
|
top5 :
|
||
|
scalar5
|
||
|
top6:
|
||
|
&anchor6 'key6' : scalar6
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(double_quote_scalar))
|
||
|
value: (block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(double_quote_scalar))
|
||
|
value: (flow_node
|
||
|
(anchor) (plain_scalar))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(single_quote_scalar))
|
||
|
value: (block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(single_quote_scalar))
|
||
|
value: (flow_node
|
||
|
(anchor) (plain_scalar))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(anchor)
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(alias))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(alias))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(anchor) (single_quote_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))))))))
|
||
|
|
||
|
================================================================================
|
||
|
Wrong indendation in Map [INVALID]
|
||
|
================================================================================
|
||
|
key:
|
||
|
ok: 1
|
||
|
wrong: 2
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Wrong indendation in mapping [INVALID]
|
||
|
================================================================================
|
||
|
k1: v1
|
||
|
k2: v2
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Wrong indendation in Sequence [INVALID]
|
||
|
================================================================================
|
||
|
key:
|
||
|
- ok
|
||
|
- also ok
|
||
|
- wrong
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
|
||
|
================================================================================
|
||
|
Wrong indented flow sequence [INVALID]
|
||
|
================================================================================
|
||
|
---
|
||
|
flow: [a,
|
||
|
b,
|
||
|
c]
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(ERROR
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(plain_scalar)
|
||
|
(plain_scalar))))))
|
||
|
|
||
|
================================================================================
|
||
|
Wrong indented multiline quoted scalar [INVALID]
|
||
|
================================================================================
|
||
|
---
|
||
|
quoted: "a
|
||
|
b
|
||
|
c"
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar)))
|
||
|
(ERROR
|
||
|
(flow_node
|
||
|
(plain_scalar))
|
||
|
(flow_node
|
||
|
(plain_scalar)))))))
|
||
|
|
||
|
================================================================================
|
||
|
Wrong indented sequence item [INVALID]
|
||
|
================================================================================
|
||
|
- key: value
|
||
|
- item1
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(ERROR
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
YAML directive without document end marker [INVALID]
|
||
|
================================================================================
|
||
|
---
|
||
|
key: value
|
||
|
%YAML 1.2
|
||
|
---
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(ERROR
|
||
|
(block_mapping_pair
|
||
|
key: (flow_node
|
||
|
(plain_scalar))
|
||
|
value: (flow_node
|
||
|
(plain_scalar))))
|
||
|
(document
|
||
|
(yaml_directive
|
||
|
(yaml_version))))
|
||
|
|
||
|
================================================================================
|
||
|
Zero indented block scalar
|
||
|
================================================================================
|
||
|
--- >
|
||
|
line1
|
||
|
line2
|
||
|
line3
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Zero indented block scalar with line that looks like a comment
|
||
|
================================================================================
|
||
|
--- >
|
||
|
line1
|
||
|
# no comment
|
||
|
line3
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_scalar))))
|
||
|
|
||
|
================================================================================
|
||
|
Zero-indented sequences in explicit mapping keys
|
||
|
================================================================================
|
||
|
---
|
||
|
?
|
||
|
- a
|
||
|
- b
|
||
|
:
|
||
|
- c
|
||
|
- d
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(stream
|
||
|
(document
|
||
|
(block_node
|
||
|
(block_mapping
|
||
|
(block_mapping_pair
|
||
|
key: (block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))))
|
||
|
value: (block_node
|
||
|
(block_sequence
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar)))
|
||
|
(block_sequence_item
|
||
|
(flow_node
|
||
|
(plain_scalar))))))))))
|