Those multiple output versions are like snapshots of the underlying XML source, generated at a particular point in time. And because creating those snapshots is automated, it can be done on-demand, any time that the source XML changes. There are strong similarities to software development in that approach—programmers write and revise plain-text computer code, then “compile” that code into a program or application. Our DocBook XML is like the source code, and the output formats are like the applications. Software developers spend more time than just about anyone writing, editing, and collaborating on complex long-form text documents, so it makes sense to borrow and adapt some of the tools and techniques they use to make that task more manageable.