'''''''''''''''''''''''''
xml start element: document

  :first-child {
    first-child-prop : first-child-value
  }

xml end element: document
'''''''''''''''''''''''''
'''''''''''''''''''''''''
xml start element: E0

  :first-child {
    first-child-prop : first-child-value
  }
  E0 {
    prop0 : val0
  }

xml end element: E0
'''''''''''''''''''''''''
'''''''''''''''''''''''''
xml start element: E1

  E0+E1 {
    pro1 : val1
  }

xml end element: E1
'''''''''''''''''''''''''
'''''''''''''''''''''''''
xml start element: E1-1

  :first-child {
    first-child-prop : first-child-value
  }
  E1 E1-1 {
    prop2 : val2
  }
  E1>E1-1 {
    prop3 : val3
  }
  document E1-1 {
    prop4 : val4
  }

xml end element: E1-1
'''''''''''''''''''''''''
'''''''''''''''''''''''''
xml start element: E2

  [attr2="val2"] {
    prop5 : val5
  }
  E2[attr2="val2"] {
    prop8 : val8
  }

xml end element: E2
'''''''''''''''''''''''''
'''''''''''''''''''''''''
xml start element: E3

  [attr3~="val3_2"] {
    prop6 : val6
  }

xml end element: E3
'''''''''''''''''''''''''
'''''''''''''''''''''''''
xml start element: E4

  [attr4|="val4"] {
    prop7 : val7
  }

xml end element: E4
'''''''''''''''''''''''''
'''''''''''''''''''''''''
xml start element: E5

  .class5 {
    prop8 : val8
  }

xml end element: E5
'''''''''''''''''''''''''
'''''''''''''''''''''''''
xml start element: E6

  #id6 {
    prop9 : val9
  }

xml end element: E6
'''''''''''''''''''''''''
'''''''''''''''''''''''''
xml start element: E7

  :lang(fr) {
    lang-prop : lang-value
  }

xml end element: E7
'''''''''''''''''''''''''
