Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 XSLT logic elements  



1.1  Example XSLT stylesheet using logic elements  







2 XSLT file I/O elements  





3 Other XSLT semantics  





4 Functions defined by XSLT  





5 External links  





6 References  














XSLT elements






Polski
 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


XSLT (Extensible Stylesheet Language Transformations) defines many elements to describe the transformations that should be applied to a document. This article lists some of these elements. For an introduction to XSLT, see the main article.

XSLT logic elements[edit]

Node Description/ attributes Container/ children Example
xsl:apply-templates Specifies that other matches may exist within that node; if this is not specified any matches will be ignored. If select is specified, only the templates that specify a “match” that fits the selected node or attribute type will be applied. I.e. the matching elements by select attribute in xsl:apply-templates correspond to the template that match the same elements. If mode is specified, only the templates that have the same “mode” and have an appropriate “match” will be applied. Any parent. Can contain any number of xsl:sort and xsl:with-param children.
<xsl:apply-templates/>
xsl:choose Multiple choices. No attributes. Any parent. Contains xsl:when blocks and up to one xsl:otherwise block.
<xsl:choose></xsl:choose>
xsl:for-each Creates a loop which repeats for every match. select designates the match criteria. Any parent. Can contain any XML.
<xsl:for-each select="input[@name=$name]"></xsl:for-each>
xsl:if Yes or out No conditions. test specifies criteria for entering the if. Any parent. Can contain any XML.
<xsl:if test="$type='text' or $type='password'"></xsl:if>
xsl:otherwise The default choice if none of the xsl:when criteria are met. xsl:choose. Can contain any XML.
<xsl:otherwise></xsl:otherwise>
xsl:stylesheet Top-level element. Occurs only once in a stylesheet document. version specifies which XSLT version is being used. xmlns:xsl specifies the URL of that standard. Top-level element. Contains all XML.
<xsl:stylesheet></xsl:stylesheet>
xsl:template Specifies processing templates. match is when the template should be used. name gives the template a name which xsl:call-template can use to call this template. xsl:stylesheet. Can contain any XML.
<xsl:template match="//input"></xsl:template>
xsl:variable Allows a variable to be declared. name is the variable name. It can be referred to later with $name. select is the value of the variable. Any parent. no children.
<xsl:variable name="type" select="@type"/>
xsl:when Yes or No conditions. test specifies criteria for entering the if. xsl:choose. Can contain any XML.
<xsl:when test="$type='radio'"></xsl:when>

Example XSLT stylesheet using logic elements[edit]

<xsl:stylesheet>
    <xsl:template match="//input">
        <xsl:variable name="type" select="@type"/>
        <xsl:variable name="name" select="@name"/>
        <xsl:if test="$type='text' or $type='password' or $type='radio' or $type='checkbox'">
            <xsl:choose>

                <xsl:when test="$type='radio'">
                    <xsl:if test="not(preceding-sibling::input[@type='radio'])">
                        <select name="{@name}">
                            <xsl:for-each select="../input[@name=$name]">
                                <option value="{@value}">
                                    <xsl:apply-templates/>
                                </option>
                            </xsl:for-each>
                        </select>
                    </xsl:if>
                </xsl:when>

                <xsl:when test="$type='text'">
                    <input name="{@name}" type="{@type}">
                        <xsl:apply-templates/>
                    </input>
                </xsl:when>

                <xsl:when test="$type='password'">
                    <input name="{@name}" type="{@type}">
                        <xsl:apply-templates/>
                    </input>
                </xsl:when>

            </xsl:choose>
        </xsl:if>
    </xsl:template>
</xsl:stylesheet>

XSLT file I/O elements[edit]

Node Description/ attributes Container/ children Example
xsl:call-template Calls the template whose name is specified. name matches the nameinxsl:template. Any parent. children are xsl:with-param.
<xsl:call-template name="lib:make-elem">
xsl:import Retrieves another XSLT file. href is the URI of the file. xsl:stylesheet. No children.
<xsl:import href="..\Library\FuncLib.xslt"/>
xsl:output Describes how data will be returned. method designates what kind of data is returned. omit-xml-declaration indicates if the initial xml tag should be included. encoding designates how the data is returned. xsl:stylesheet. No children.
<xsl:output method="xml" omit-xml-declaration="yes" encoding="UTF-8"/>
xsl:param Designates a parameter which may be passed into the template with xsl:call-template. xsl:template. No children.
<xsl:param name="elem-name"/>
xsl:text Outputs the tag content. Any parent. No children.
<xsl:text>ClaimNumber ClaimSeqNumber</xsl:text>
xsl:value-of Outputs a variable. select specifies the variable. Any parent. No children.
<xsl:value-of select="$s"/>
xsl:with-param Designates a parameter passed to xsl:call-template. It must be matched by an xsl:param in the template. name specifies the parameter name. select specifies the parameter value. xsl:call-template. No children.
<xsl:with-param name="elem-name" select="'hma:ClaimNumber'"/>

Client-side XSLT can be implemented in a browser by adding a line like the following to the source XML file, right after the root XML tag.

<?xml-stylesheet type="text/xsl" href="family.xsl"?>

This is described on the page http://www.xml.com/pub/a/2000/10/25/msie/index.html

Other XSLT semantics[edit]

symbol meaning where used
| union operator. used to group nodesets in XPath expressions. select attributes of elements such as xsl:when, xsl:if, xsl:for-each.
& and any conditional or match criterion, for example xsl:if.test, xsl:when.test, xsl:template.select and xsl:for-each.select.
<!-- begin comment. anywhere not in a tag.
--> end comment. anywhere not in a tag.
$ start of a variable name. anywhere in a tag, for example xsl:value-of.select and xsl:variable.name.
name() the name of the tag being processed. Useful if the matching criteria contains |s (pipe symbols). any conditional or match criterion, for example xsl:if.test, xsl:when.test, xsl:template.select and xsl:for-each.select.
@ an attribute within the XML. any conditional or match criterion, for example xsl:if.test, xsl:when.test, xsl:template.select and xsl:for-each.select.

[1]

Functions defined by XSLT[edit]

The following functions can occur in many XSLT attributes, such as xsl:value-of.select and xsl:for-each.select.

Function Description/ Syntax Example
ceiling The ceiling function returns the smallest integer that is equal to or is larger than the numeric value of the number argument.
ceiling(3.57)
concat Concatenates two or more strings.
concat($fname, ' ', $lname)
contains[2] Returns true if the first string contains the second string, otherwise returns false.
contains('string to search', 'find')
count The count function counts and returns the number of nodes in a node-set.
count(elements)
floor The floor function returns the largest integer that is equal to or is smaller than the numeric value of the number argument.
floor(3.57)
normalize-space Removes white-space from the beginning and end of the string
normalize-space($fname)
position The position function returns the one-based[3] index of the current node being processed by an xsl:for-eachorxsl:apply-templates element node-list. There are no arguments.
position()
round The round function rounds a number to its closest integer.
round(3.57)
string The string function converts the value argument to a string.
string()
string-length The string-length function returns the number of characters in a string. The string argument is optional. If omitted, the default is to use the string value of the context node.
string-length('hello')
substring A segment within a variable value. Substring takes three parameters: the input variable, the first character to be selected, and the length of the resulting string
substring($dob,4,2)
substring-after The substring-after function returns a portion out of the string specified in the string argument that occurs after the substring specified in the substring argument.
substring-after('In 1814 we took a little trip', 'we')
substring-before The substring-before function returns a portion out of the string specified in the string argument that occurs before the substring specified in the substring argument.
substring-before('In 1814 we took a little trip', 'we')
sum The sum function adds and returns the total value of a set of numeric values in a node-set or list of values.
sum(1,3,7,12)
translate Takes the string in the value argument, replaces all occurrences of characters in the string1 argument with substitute characters at the same location in the string2 argument and returns the modified string.
translate('band', 'abcd', 'ABCD') = 'BAnD'

External links[edit]

References[edit]

  1. ^ "XSLT Reference".
  • ^ "XSLT 1.0: Function contains".
  • ^ "Example 16:1".

  • Retrieved from "https://en.wikipedia.org/w/index.php?title=XSLT_elements&oldid=1066294673"

    Category: 
    XML-based standards
    Hidden categories: 
    Articles with short description
    Short description matches Wikidata
    Articles needing additional references from September 2014
    All articles needing additional references
     



    This page was last edited on 17 January 2022, at 18:01 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki