Chapter 7. XML on the server
Towred Cities please us then,
And the busie humm of men,
Where throngs of Knights and Barons bold,
In weeds of Peace high triumphs hold,
With store of Ladies, whose bright eies
Rain influence, and judge the prise
Of Wit, or Arms, while both contend
To win her Grace, whom all commend.
JOHN MILTON, L'Allegro
Chapter 6 was devoted to XML software in the authoring and development environments; what remains to be discussed is XML-capable software for the web server. This server-side software makes it possible to transform page documents on the fly (in response to requests from web clients ) and combine an XSLT processor with a traditional dynamic web site engine.
As we saw in Chapter 1, running XSLT transformations offline ( 1.4.1 ) or in the user 's browser ( 1.4.3 ) both have serious disadvantages: In the first instance, weak support for dynamic web pages; in the second, a requirement for XML and XSLT support in the browser. This leaves XSLT processing on the server ( 1.4.2 ) as the most viable setup. It can accommodate any type of site and requires no special software on the user's end.
The sample site we've been building so far was developed and tested offline. This does not mean, however, that it has to remain that way. As we'll see in this chapter, migrating our offline XSLT setup to the server is fairly easy to do. We'll start by determining the minimum software necessary to run a Java-based XSLT processor, such as Saxon, on a web server. The bulk of the chapter, however, is devoted to Apache Cocoon, which is currently the most complete framework for building dynamic XML-based web sites.