730 lines
16 KiB
Plaintext
730 lines
16 KiB
Plaintext
================================================================================
|
|
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
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar)))
|
|
(flow_node
|
|
(anchor
|
|
(anchor_name))
|
|
(plain_scalar
|
|
(string_scalar))))
|
|
(block_mapping_pair
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar)))
|
|
(flow_node
|
|
(alias
|
|
(alias_name))))
|
|
(block_mapping_pair
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar)))
|
|
(flow_node
|
|
(anchor
|
|
(anchor_name))
|
|
(plain_scalar
|
|
(string_scalar))))
|
|
(block_mapping_pair
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar)))
|
|
(flow_node
|
|
(alias
|
|
(alias_name))))))))
|
|
|
|
================================================================================
|
|
Empty Content
|
|
================================================================================
|
|
{
|
|
foo : !!str,
|
|
!!str : bar,
|
|
}
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(stream
|
|
(document
|
|
(flow_node
|
|
(flow_mapping
|
|
(flow_pair
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar)))
|
|
(flow_node
|
|
(tag)))
|
|
(flow_pair
|
|
(flow_node
|
|
(tag))
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar))))))))
|
|
|
|
================================================================================
|
|
Completely Empty Flow Nodes
|
|
================================================================================
|
|
{
|
|
? foo :,
|
|
: bar,
|
|
}
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(stream
|
|
(document
|
|
(flow_node
|
|
(flow_mapping
|
|
(flow_pair
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar))))
|
|
(flow_pair
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar))))))))
|
|
|
|
================================================================================
|
|
Double Quoted Implicit Keys
|
|
================================================================================
|
|
"implicit block key" : [
|
|
"implicit flow key" : value,
|
|
]
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(stream
|
|
(document
|
|
(block_node
|
|
(block_mapping
|
|
(block_mapping_pair
|
|
(flow_node
|
|
(double_quote_scalar))
|
|
(flow_node
|
|
(flow_sequence
|
|
(flow_pair
|
|
(flow_node
|
|
(double_quote_scalar))
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar)))))))))))
|
|
|
|
================================================================================
|
|
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)))))
|
|
|
|
================================================================================
|
|
Double Quoted Lines
|
|
================================================================================
|
|
" 1st non-empty
|
|
|
|
|
|
|
|
2nd non-empty
|
|
3rd non-empty "
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(stream
|
|
(document
|
|
(flow_node
|
|
(double_quote_scalar))))
|
|
|
|
================================================================================
|
|
Single Quoted Characters
|
|
================================================================================
|
|
'here''s to "quotes"'
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(stream
|
|
(document
|
|
(flow_node
|
|
(single_quote_scalar
|
|
(escape_sequence)))))
|
|
|
|
================================================================================
|
|
Single Quoted Implicit Keys
|
|
================================================================================
|
|
'implicit block key' : [
|
|
'implicit flow key' : value,
|
|
]
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(stream
|
|
(document
|
|
(block_node
|
|
(block_mapping
|
|
(block_mapping_pair
|
|
(flow_node
|
|
(single_quote_scalar))
|
|
(flow_node
|
|
(flow_sequence
|
|
(flow_pair
|
|
(flow_node
|
|
(single_quote_scalar))
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar)))))))))))
|
|
|
|
================================================================================
|
|
Single Quoted Lines
|
|
================================================================================
|
|
' 1st non-empty
|
|
|
|
|
|
|
|
2nd non-empty
|
|
3rd non-empty '
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(stream
|
|
(document
|
|
(flow_node
|
|
(single_quote_scalar))))
|
|
|
|
================================================================================
|
|
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
|
|
(string_scalar))))
|
|
(block_sequence_item
|
|
(flow_node
|
|
(double_quote_scalar)))
|
|
(block_sequence_item
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar))))
|
|
(block_sequence_item
|
|
(flow_node
|
|
(plain_scalar
|
|
(integer_scalar))))
|
|
(block_sequence_item
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar))))
|
|
(comment)
|
|
(block_sequence_item
|
|
(flow_node
|
|
(flow_sequence
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar)))
|
|
(flow_node
|
|
(double_quote_scalar))
|
|
(flow_node
|
|
(double_quote_scalar))
|
|
(flow_node
|
|
(plain_scalar
|
|
(integer_scalar)))
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar))))))))))
|
|
|
|
================================================================================
|
|
Plain Implicit Keys
|
|
================================================================================
|
|
implicit block key : [
|
|
implicit flow key : value,
|
|
]
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(stream
|
|
(document
|
|
(block_node
|
|
(block_mapping
|
|
(block_mapping_pair
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar)))
|
|
(flow_node
|
|
(flow_sequence
|
|
(flow_pair
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar)))
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar)))))))))))
|
|
|
|
================================================================================
|
|
Plain Lines
|
|
================================================================================
|
|
1st non-empty
|
|
|
|
|
|
|
|
2nd non-empty
|
|
3rd non-empty
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(stream
|
|
(document
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar)))))
|
|
|
|
================================================================================
|
|
Flow Sequence
|
|
================================================================================
|
|
- [ one, two, ]
|
|
- [three ,four]
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(stream
|
|
(document
|
|
(block_node
|
|
(block_sequence
|
|
(block_sequence_item
|
|
(flow_node
|
|
(flow_sequence
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar)))
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar))))))
|
|
(block_sequence_item
|
|
(flow_node
|
|
(flow_sequence
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar)))
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar))))))))))
|
|
|
|
================================================================================
|
|
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
|
|
(string_scalar)))
|
|
(flow_node
|
|
(flow_sequence
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar)))))
|
|
(flow_pair
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar)))
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar))))))))
|
|
|
|
================================================================================
|
|
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
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar)))
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar))))
|
|
(flow_pair
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar)))
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar)))))))
|
|
(block_sequence_item
|
|
(flow_node
|
|
(flow_mapping
|
|
(flow_pair
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar)))
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar))))
|
|
(flow_pair
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar)))
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar)))))))))))
|
|
|
|
================================================================================
|
|
Flow Mapping Entries
|
|
================================================================================
|
|
{
|
|
? explicit: entry,
|
|
implicit: entry,
|
|
?
|
|
}
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(stream
|
|
(document
|
|
(flow_node
|
|
(flow_mapping
|
|
(flow_pair
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar)))
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar))))
|
|
(flow_pair
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar)))
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar))))
|
|
(flow_pair)))))
|
|
|
|
================================================================================
|
|
Flow Mapping Separate Values
|
|
================================================================================
|
|
{
|
|
unquoted : "separate",
|
|
http://foo.com,
|
|
omitted value:,
|
|
: omitted key,
|
|
}
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(stream
|
|
(document
|
|
(flow_node
|
|
(flow_mapping
|
|
(flow_pair
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar)))
|
|
(flow_node
|
|
(double_quote_scalar)))
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar)))
|
|
(flow_pair
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar))))
|
|
(flow_pair
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar))))))))
|
|
|
|
================================================================================
|
|
Flow Mapping Adjacent Values
|
|
================================================================================
|
|
{
|
|
"adjacent":value,
|
|
"readable": value,
|
|
"empty":
|
|
}
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(stream
|
|
(document
|
|
(flow_node
|
|
(flow_mapping
|
|
(flow_pair
|
|
(flow_node
|
|
(double_quote_scalar))
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar))))
|
|
(flow_pair
|
|
(flow_node
|
|
(double_quote_scalar))
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar))))
|
|
(flow_pair
|
|
(flow_node
|
|
(double_quote_scalar)))))))
|
|
|
|
================================================================================
|
|
Single Pair Flow Mappings
|
|
================================================================================
|
|
[
|
|
foo: bar
|
|
]
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(stream
|
|
(document
|
|
(flow_node
|
|
(flow_sequence
|
|
(flow_pair
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar)))
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar))))))))
|
|
|
|
================================================================================
|
|
Single Pair Explicit Entry
|
|
================================================================================
|
|
[
|
|
? foo
|
|
bar : baz
|
|
]
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(stream
|
|
(document
|
|
(flow_node
|
|
(flow_sequence
|
|
(flow_pair
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar)))
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar))))))))
|
|
|
|
================================================================================
|
|
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
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar)))
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar)))))))
|
|
(block_sequence_item
|
|
(flow_node
|
|
(flow_sequence
|
|
(flow_pair
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar)))))))
|
|
(block_sequence_item
|
|
(flow_node
|
|
(flow_sequence
|
|
(flow_pair
|
|
(flow_node
|
|
(flow_mapping
|
|
(flow_pair
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar)))
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar))))))
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar)))))))))))
|
|
|
|
================================================================================
|
|
Invalid Implicit Keys
|
|
================================================================================
|
|
[ foo
|
|
bar: invalid,
|
|
"foo...>1K characters...bar": invalid ]
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(stream
|
|
(document
|
|
(flow_node
|
|
(flow_sequence
|
|
(flow_pair
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar)))
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar))))
|
|
(flow_pair
|
|
(flow_node
|
|
(double_quote_scalar))
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar))))))))
|
|
|
|
================================================================================
|
|
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
|
|
(string_scalar)))
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar))))))
|
|
(block_sequence_item
|
|
(flow_node
|
|
(flow_mapping
|
|
(flow_pair
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar)))
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar)))))))
|
|
(block_sequence_item
|
|
(flow_node
|
|
(double_quote_scalar)))
|
|
(block_sequence_item
|
|
(flow_node
|
|
(single_quote_scalar)))
|
|
(block_sequence_item
|
|
(flow_node
|
|
(plain_scalar
|
|
(string_scalar))))))))
|
|
|
|
================================================================================
|
|
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
|
|
(anchor_name))
|
|
(double_quote_scalar)))
|
|
(block_sequence_item
|
|
(flow_node
|
|
(alias
|
|
(alias_name))))
|
|
(block_sequence_item
|
|
(flow_node
|
|
(tag)))))))
|