This chapter takes a bird's eye view of what an XSLT processor does. We start by looking at a system overview: what are the inputs and outputs of the processor.
Then we look in some detail at the data model, in particular the structure of the tree representation of XML documents. An important message here is that XSLT transformations do not operate on XML documents as text; they operate on the abstract tree-like information structure represented by the text.
Having established the data model, I describe the processing sequence that occurs when a source document and a stylesheet are brought together. XSLT is not a conventional procedural language; it consists of a collection of template rules defining output that is produced when particular patterns are matched in the input. As seen in Chapter 1, this rule-based processing structure is one of the distinguishing features of the XSLT language.
Finally, we look at the way in which variables and expressions can be used in an XSLT stylesheet, and also look at the various data types available.