in reply to XML to CGI form

You will want to have a look at Chapter 17, Template Driven Code Generation, in the "Advanced Perl Programming" book. This uses a C like language to specify object models to generate C++ headers and SQL statements.

The classical reference for this type of stuff is of course: Little Languages. In: More Programming Pearls: Confessions of a Coder. John Bentley. Association for Computing Machinery, 1988. (BTW, if anyone out there has a copy of this book that he wants to sell, I would really, really like to buy it!)

Another really easy syntax to set things like this up would be a LISP like (prefix) syntax (e.g., like Excel functions do it). You can easily parse this stuff and implement it by functions that you call from a central dispatcher.

As for verbosity, it seems that all XML based stuff is incredibly verbose, so I doubt that this is such a good choice. Besides that, people who can write XML will be able to handle a CGI form, too. You will need a syntax simpler than that, IMHO. As mentioned above, I really like this Excel function like syntax - it is easy to implement, and users have got used to it.

Christian Lemburg
Brainbench MVP for Perl
http://www.brainbench.com