XSLT: processing sequence/flow control

I can not find an answer in the XSLT draft document about the processing
sequence of source tree and a XSL style sheet. Is it data/message driven? Or
are the template rules executed successively? Or mixed? Next, where is the
output (result tree) created and in which order?
I'll give an example to clarify my questions.

XML:
<book>
 <title>Johns Book</title>
 <author>
  <first-name>John</first-name>
  <surname>the Writer</surname>
 </author>
</book>

XSL:
<xsl:template match="book">	//template 1
 <fo:inline-sequence font-weight="bold">
   <xsl:apply-templates/>
 </fo:inline-sequence>
</xsl:template>
<xsl:template match="surname">	//template 2
 <fo:inline-sequence font-weight="italic">
   <xsl:apply-templates/>
 </fo:inline-sequence>
</xsl:template>
<xsl:template match="first-name">	//template 3
 <fo:inline-sequence font-weight="italic">
   <xsl:apply-templates/>
 </fo:inline-sequence>
</xsl:template>
So, now where does the processors starts:
- at the XML doc, identifying <book> and selecting template 1 and
successively the same for the childs. This would be in contrast with the
fact that apply-templates would 'take over' and create another executing
sequence. Executing sequence will hopping around between XSL and XML.
- at the stylesheet, executing the first template it encounters. If so, what
if template 2 was the first template in the sheet? Its result will be
floating around, unless it was put on the XML (source) tree (replacing the
original data). Still, the XSL(T) documentation states that the result tree
is separate tree, which leaves me with the problem of how the processor
knows where to put it on the result tree?
Can some help me out here?

With kind regards,

W(im) S. de Vries LL M
Publishing Technology Researcher
Information Technology & Business Development
Elsevier Science NL
tel. (+31) 20 4852733
fax  (+31) 20 4852812

Sara Burgerhartstraat 25
1055 KV Amsterdam
The Netherlands




With kind regards,

W(im) S. de Vries LL M
Publishing Technology Researcher
Information Technology & Business Development
Elsevier Science NL
tel. (+31) 20 4852733
fax  (+31) 20 4852812

Sara Burgerhartstraat 25
1055 KV Amsterdam
The Netherlands

Received on Friday, 10 September 1999 04:07:22 UTC