Http://msdn.microsoft.com/zh-cn/library/ms256045.aspx
Template is one of the most important concepts in XSLT. An XSLT file is composed of one template. Any XSLT file contains at least one template. The concept of a template is like building blocks.ProgramYou can also think of a template as a method, a class, or a module. They can be assembled and combined, or separate into blocks. Different templates control different output formats.
A template consists of two parts: Match pattern and execution. The simple mode defines which node in the XML source document will be processed by the template, and the execution defines the output format. The syntax of the two parts is XSL: Template and XSL: Apply-templates.
The syntax of XSL: Template is:
<XSL: Template
Match = Pattern
Name = QNAME
Priority = Number
Mode = QNAME>
<! -- Execution content -->
</XSL: Template>
XSL: Template defines a new template.The name, priority, and mode in the attribute are used to distinguish different templates matching the same node. They are not common attributes. The match attribute controls the pattern of the template. The pattern is used to locate which node in the XML source document is processed by the template. A template matches a node. Let's use an example to help us understand:
Suppose we want to process a section document that contains chapters and paragraphs. We use the Para element to define paragraphs and the chapter element to define chapters. Let's take a look at the possible values of the match attribute. The following statement describes that the template matches all the Para elements.
<XSL: template match = "para">
</XSL: Template>
The following statement describes that the template matches all para elements and all Chapter elements:
<XSL: template match = "(chapterpara)">
</XSL: Template>
The following statement indicates that the template matches all the Para elements whose parent nodes are Chapter elements:
<XSL: template match = "Chapter // para">
</XSL: Template>
The following statement describes that the template matches the root node:
<XSL: template match = "/">
</XSL: Template>
Let's take a look at the apply-templates Syntax:
<XSL: Apply-templates
Select = node set-expression
Mode = QNAME>
</XSL: Apply-templates>
XSL: Apply-templates is used to execute the node to be processed by the template. You can understand it as calling subfunctions in a program. The select attribute is used to define the exact node name..XSL: Apply-templates is always included in the XSL: Template element, like this:
<XSL: template match = "/">
<XSL: Apply-templates select = "para"/>
</XSL: Template>
This sectionCodeThe instruction board matches the entire document (root node) and processes all the Para elements under the root node during execution.
<XSL: template match = "para">
<P> <XSL: Apply-templates/> </P>
</XSL: Template>
This Code indicates that the touchpad matches the Para node, and all child elements under para are processed.