Element Syntax of XSLT

Source: Internet
Author: User
Tags xsl xsl file xslt

Element Syntax of XSLT
XSL: Template and XSL: Apply-templates
XSL: value-
XSL: For-each
XSL: If
Xxsl: Choose, when, otherwise
XSL: Sort

XSL: Template and XSL: Apply-templates
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. Program You 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 = "(Chapter | para)">
</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 defines 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 section Code The 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.

XSL: value-
XSL: value-of is used to write the text values of elements in the source document to the output document. For example:
There is an XML document for personal data:
<? XML version = "1.0" encoding = "iso-8859-1"?>
<Person>
<Name> Ajie </Name>
<Age> 28 </age>
</Person>
If you want to display the name element value in the above XML source document in the output document, you can write the XSLT Code as follows:
<XSL: template match = "person">
<XSL: value-of select = "name"/>
</XSL: Template>
After execution, you will see that "Ajie" is displayed separately. Where match = "person" defines the pattern board to match the person node, XSL: value-
Syntax description: outputs the value of a node, while select = "name" defines the element to be output as name. Check whether this process is similar to querying a person's name in the database? Of course, there are more and more complex syntaxes for XSL: value-of queries. because it involves the searching and locating functions, we will explain them carefully in the later XPath syntax.
The same functions include XSL: copy-of. If the usage is the same, it will not be repeated.

XSL: For-each
the XSL: For-each syntax allows you to process selected nodes cyclically. For example, an XML document containing multiple personal data:



Ajie
28


Tom
24


miake
30


I need to display the name of all people, you can write the XSLT Code as follows:




XSL: If
XSL: If is similar to the IF Condition Statement in common programming languages, when a node can be set to meet a certain condition, it is processed by the template. The syntax format of XSL: If is:

template body

example:





This code detects all elements under the People node. If a element is found, the value of the element is output. The @ symbol indicates all elements under the node.

XSL: Choose, XSL: When and XSL: otherwise
the XSL: If syntax does not have else attributes. If you want to make multiple choices, you need to use the XSL: Choose/XSL: When/XSL: otherwise series process control syntax. For specific usage, see the following XSL file example:









no name available



Description: first, find the element whose attribute value is Ajie under the People node. If the element is found, print Ajie in bold. If no value is found The element of Ajie outputs the values of all elements in italic. If no element is found, "No
name available" is displayed ".

XSL: Sort
In XSLT, elements of the XML source document can be re-ordered, the sorting syntax is XSL: sort. For example, the following code sorts document elements by name.





the above are the main syntaxes of XSLT elements. There are many other syntaxes, such as import, include, element, attribute, number, And Param.

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.