test.yaml

    # YAML test

    # Comment

    key: value
    another key: Another value
    another key: O'Brien
    another key: O"Brien
    boolean: true
    null_value: null
    single quotes: 'have ''one'' escape pattern'
    double quotes: "have many: \", \0, \t, \u263A, \x0d\x0a == \r\n, and more. \x"

    decimal: +12345
    negative: -1_4
    zero: 0
    octal: 0o14
    another octal: 014_2
    hexadecimal: 0x_Ca2
    float: 1.23015e+3
    exponential: 12.3015e+02
    fixed: 12__30.1_5
    sexagesimal: 19_0:20:30.15
    sexagesimal-inline: [123:45:12, 123:45:32.234_32, +12__3:23]
    infinity: !!float .inf
    not a number: !!float .NaN
    datetime: 2001-12-15T02:59:43.1Z
    date: 2002-12-14

    json_map: {"key": "value", "key":value, key: value, nokey:value}
    json_seq: [3, 2, -.inf, "value", "key": value, "key":value, key: value, nokey:value]
    another key: [O'Brien, O"Brien,true,false , null]
    another key: {key: [+0x12a, , !!hello: bye, 1, off, {a: [{b: ''}]}]}

    ? !!python/tuple [5, 7]
    : Fifty Seven

    ? set2:
      item1: null
      item2: null

    foo: &foo
      <<: *base
      age: 10

    !!seq [
      !!str "Block scalar\n",
      !!map {
        ? &B1 !!str "foo"
        : !!str "bar",
        ? !!str "baz"
        : *B1,
      },
      !!map {
         !!str "sun" : !!str "yellow",
      },
    ]

    !!map {
      !!str "Booleans": !!seq [
        !!bool "true", !!bool "false"
      ],
      !!str "Invalid": !!seq [
        # Rejected by the schema
        True, Null, 0o7, 0x3A, +12.3,
      ],
    }

    --- !clarkevans.com,2002/graph/^shape
    - !^circle
      center: &ORIGIN {x: 73, y: 129}
      radius: 7

    ? - Dog
      - Cat
    : [ 2018-08-11, 2016-01-01 ]

    # Literal/Folded Style

    --- |
      \//||\/||
      // ||  ||__

    --- >
      Mark McGwire's
      year was crippled
      by a knee injury.

    ? |
      This is a key
      that has multiple lines
    : |
      and this is it's literal value

    # Capture the indentation of the Key. The "-" and "?" operators
    # are considered as part of the indentation:
    key1:
       key2: !!hello |
        literal: " text" # [ ]

        # literal { }
       key3: |+
        literal: 'text'
       no-literal: " text"
        #comment

    ?  key: |-
        literal: "text"
       no-literal: "text"
    - item1
        - item2:
            - - - key: >-
                   "literal text" # [ ]

                   'literal block'
                  no-literal: 12

    ? - - - - ? key: |
                 literal: [ ]
                no-literal: [ ]

     - # bla bla
       a: # comment
        !str
        - value # new value
       a: # ds
        !str text
        - text # - is a text
       a: # ds
        !str text
        - text
       - value # new value (desindented)

    # This implementation only supports 4 dashes at most.
    - - - - abc
            - cde # = "abc - cde"
    - - - - - abc
              - cde # mistakenly detected as new indent

    [key]: text: text

    # Capture the indentation of the literal/folded operator:
    |-
     literal: "text"

    | # comment
      # no comment
     # comment

    !!binary |
     R0lGODlhDAAMAIQAAP//9/X
     17unp5WZmZgAAAOfn515eXv
     Pz7Y6OjuDg4J+fn5OTk6enp
     56enmleECcgggoBADs=

    key1:
      key2:
       |
       literal: "text"
      key3:
       !!str |
       literal: "text"
       #literal

    # Capture the indentation of the operators "-" or "?":
    ? - - - !!hello |+
           literal: "sdfsd" # [ ]
          no-literal: "sdfsd" # [ ]

    - - - - >-
           literal: "text"
           #literal
          no-literal: "text"

    # This implementation of literal blocks has a limitation:
    # it only supports 4 dashes at most for indent detection.
    - - - - - - - key: |
                   literal? "dfsf"

    # Only comments after spaces & strings in multiline attributes (bug #407060)
    reg_list:
    - reg: ?#XPath //div[@class="product_item cf"][@id] ))(?sx)
        id="product(?P<code>[^"]+)"
        .+?<h4><a\s+[^>]+>(?P<title>[^<]+)</a></h4>