XML Revisited

Structured
   Can represent a multilevel data object

Self-describing
   Can be parsed by a generic parser
   Allows ad-hoc object markup languages

Portable, standard, simple, modern
   Born from the Internet and the Web

Ideal for application object definitions
   ... and ideal for code generation