XSL: Template and XSL: Apply-templates

Source: Internet
Author: User
Tags xslt

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.

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.