Another shortcoming of XML is that there still is no support for binary objects. This again is partly based in its markup roots.
It was with this in mind that XNM was created. Its design philosophy is:
  fontsize: 16
  fonts: { roman:  Sans
           italic: "Sans Italic"
	   bold:   "Sans bold"
	 }
  path: ["/usr/bin" "/bin" "/usr/local/bin"]
    firstName: John
    lastName: Smith
    address: {
        city: "New York, NY"
        zipCode: 10021
        streetAddress: "21 2nd Street"
    }
    phoneNumbers: [
        "212 732-1234"
        "646 123-4567"
    ]
core => {
  away => {
    idle_reporting=>system
    away_when_idle=>0
    mins_before_way=>10
    auto_reply=>awayidle
    report_idle=>1
  }
  buddies => {}
  contact => {
    last_match => 0
    offline_score => 2
    away_score => 2
    idle_score => 1
  }
  gaim => {
    gtk=> {
      browsers=> {
        place=>F
	command=>"xterm -e lynx %s"
	browser=>firefox
	new_window=>F
      }
      plugins => [
        '/usr/lib/gaim/gaimrc.so'
	'/usr/lib/gaim/ssl-nss.so'
	'/usr/lib/gaim/ssl.so'
      ]
    }
  }
}
face: <size=12458 type="png">...12458 bytes follow...
  dir: "/home/foo"
  file: "$dir/foo"
  bar: {
    baz: 3
    foo: "$dir/baz"
    woz: {
      dir "/home/waz"
      waz: "$dir/maz"  # Should use definition of innermost scope
    }
  }
  | 
 |