|
|
In high-level terms, an XSL stylesheet consists of one or more directives, processing instructions, XSL variables, or templates (or 'rules'). Templates can have names, and they can invoke (and pass required parameters to) other named templates. Every template is invoked based on the contents of the 'match' pattern that is specified in each template; if a match occurs, then the 'body' of the template will be executed. Since a template can invoke other templates, an XSL stylesheet can quickly become complex.
You will sometimes see multiple templates specifying overlapping conditions in their match attribute. Fortunately, every template is assigned a numeric priority, and the XSLT processor uses this priority in order to determine which template to invoke in the event of templates with overlapping conditions.
One obstacle you might experience involves the existence of 'default' templates. You never see the default templates, but you will know when they've been executed because you'll see output (sometimes very copious) that you don't want. The only way to suppress that output is to override the default templates, which means that you must define a template for that purpose in your XSL stylesheet.
|
|