I've received some mail requesting more information on what exactly comprises an 'xml build system'. Some have asked why we just don't deliver xml and have xslt transform the document on the server before it's sent down to the browser. Thus, I'm going to backtrack even more and explain a little more about the requirements of our xml publishing tools.

My team generates electronic documentation which is published to multiple target platforms. MS Help 1.0 and 2.0, the MSDN web site, even MS Press. One of the requirements of our build system is that it be able to create files of various types - asp, asp.net, regular old html, others - from authored xml source.

The process looks like this:

authored xml file -> build application -> asp, htm, aspx, xml.

At its most basic, the 'build application' mentioned above does a couple of things:

  1. Loads up the authored xml file
  2. Apply xslt to xml file and cache results
  3. Save cached results of xslt transform to a file

By the way, I'd like to give a shout out to my biggest fan, Josh.