--- %YAML:1.0
test: Simple Sequence 
brief: | 
    You can specify a list in YAML by placing each 
    member of the list on a new line with an opening 
    dash. These lists are called sequences. 
yaml: | 
    - apple 
    - banana 
    - carrot 
php: |
    array('apple', 'banana', 'carrot')
--- 
test: Nested Sequences 
brief: | 
    You can include a sequence within another 
    sequence by giving the sequence an empty 
    dash, followed by an indented list. 
yaml: | 
    - 
     - foo 
     - bar 
     - baz 
php: | 
    array(array('foo', 'bar', 'baz'))
--- 
test: Mixed Sequences 
brief: | 
    Sequences can contain any YAML data, 
    including strings and other sequences. 
yaml: | 
    - apple 
    - 
     - foo 
     - bar 
     - x123 
    - banana 
    - carrot 
php: | 
    array('apple', array('foo', 'bar', 'x123'), 'banana', 'carrot')
--- 
test: Deeply Nested Sequences 
brief: | 
    Sequences can be nested even deeper, with each 
    level of indentation representing a level of 
    depth. 
yaml: | 
    - 
     - 
      - uno 
      - dos 
php: | 
    array(array(array('uno', 'dos')))
--- 
test: Simple Mapping 
brief: | 
    You can add a keyed list (also known as a dictionary or 
    hash) to your document by placing each member of the 
    list on a new line, with a colon seperating the key 
    from its value.  In YAML, this type of list is called 
    a mapping. 
yaml: | 
    foo: whatever 
    bar: stuff 
php: | 
    array('foo' => 'whatever', 'bar' => 'stuff')
--- 
test: Sequence in a Mapping 
brief: | 
    A value in a mapping can be a sequence. 
yaml: | 
    foo: whatever 
    bar: 
     - uno 
     - dos 
php: | 
    array('foo' => 'whatever', 'bar' => array('uno', 'dos'))
--- 
test: Nested Mappings 
brief: | 
    A value in a mapping can be another mapping. 
yaml: | 
    foo: whatever 
    bar: 
     fruit: apple 
     name: steve 
     sport: baseball 
php: | 
    array(
      'foo' => 'whatever',  
      'bar' => array(
         'fruit' => 'apple',  
         'name' => 'steve', 
         'sport' => 'baseball' 
       ) 
    ) 
--- 
test: Mixed Mapping 
brief: | 
    A mapping can contain any assortment 
    of mappings and sequences as values. 
yaml: | 
    foo: whatever 
    bar: 
     - 
       fruit: apple 
       name: steve 
       sport: baseball 
     - more 
     - 
       python: rocks 
       perl: papers 
       ruby: scissorses 
php: | 
    array(
      'foo' => 'whatever',  
      'bar' => array( 
        array( 
            'fruit' => 'apple',  
            'name' => 'steve', 
            'sport' => 'baseball' 
        ), 
        'more', 
        array( 
            'python' => 'rocks', 
            'perl' => 'papers', 
            'ruby' => 'scissorses' 
        ) 
      ) 
    ) 
--- 
test: Mapping-in-Sequence Shortcut 
todo: true
brief: | 
     If you are adding a mapping to a sequence, you 
     can place the mapping on the same line as the 
     dash as a shortcut. 
yaml: | 
     - work on YAML.py: 
        - work on Store 
php: | 
    array(array('work on YAML.py' => array('work on Store')))
---
test: Sequence-in-Mapping Shortcut
todo: true
brief: |
     The dash in a sequence counts as indentation, so
     you can add a sequence inside of a mapping without
     needing spaces as indentation.
yaml: |
     allow:
     - 'localhost'
     - '%.sourceforge.net'
     - '%.freepan.org'
php: |
     array('allow' => array('localhost', '%.sourceforge.net', '%.freepan.org'))
---
todo: true
test: Merge key
brief: |
     A merge key ('<<') can be used in a mapping to insert other mappings.  If
     the value associated with the merge key is a mapping, each of its key/value
     pairs is inserted into the current mapping.
yaml: |
     mapping:
       name: Joe
       job: Accountant
       <<:
         age: 38
php: |
     array(
       'mapping' =>
       array(
         'name' => 'Joe',
         'job' => 'Accountant',
         'age' => 38
       )
     )
