Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

XSLT elements

From Wikipedia, the free encyclopedia
Key elements of Extensible Stylesheet Language Transformations (XSLT)
icon
This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "XSLT elements" – news ·newspapers ·books ·scholar ·JSTOR
(September 2014) (Learn how and when to remove this message)

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 themain article.

XSLT logic elements

[edit]
NodeDescription/ attributesContainer/ childrenExample
xsl:apply-templatesSpecifies that other matches may exist within thatnode; if this is not specified any matches will be ignored. Ifselect 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 byselect attribute inxsl:apply-templates correspond to the template that match the same elements. Ifmode is specified, only the templates that have the same “mode” and have an appropriate “match” will be applied.Any parent. Can contain any number ofxsl:sort andxsl:with-param children.
<xsl:apply-templates/>
xsl:chooseMultiple choices. No attributes.Any parent. Containsxsl:when blocks and up to onexsl:otherwise block.
<xsl:choose></xsl:choose>
xsl:for-eachCreates a loop which repeats for every match.select designates the match criteria.Any parent. Can contain any XML.
<xsl:for-eachselect="input[@name=$name]"></xsl:for-each>
xsl:ifYes or out No conditions.test specifies criteria for entering the if.Any parent. Can contain any XML.
<xsl:iftest="$type='text' or $type='password'"></xsl:if>
xsl:otherwiseThe default choice if none of thexsl:when criteria are met.xsl:choose. Can contain any XML.
<xsl:otherwise></xsl:otherwise>
xsl:stylesheetTop-level element. Occurs only once in a stylesheet document.version specifies which XSLT version is being used.xmlns:xsl specifies theURL of that standard.Top-level element. Contains all XML.
<xsl:stylesheet></xsl:stylesheet>
xsl:templateSpecifies processing templates.match is when the template should be used.name gives the template a name whichxsl:call-template can use to call this template.xsl:stylesheet. Can contain any XML.
<xsl:templatematch="//input"></xsl:template>
xsl:variableAllows 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:variablename="type"select="@type"/>
xsl:whenYes or No conditions.test specifies criteria for entering the if.xsl:choose. Can contain any XML.
<xsl:whentest="$type='radio'"></xsl:when>

Example XSLT stylesheet using logic elements

[edit]
<xsl:stylesheet><xsl:templatematch="//input"><xsl:variablename="type"select="@type"/><xsl:variablename="name"select="@name"/><xsl:iftest="$type='text' or $type='password' or $type='radio' or $type='checkbox'"><xsl:choose><xsl:whentest="$type='radio'"><xsl:iftest="not(preceding-sibling::input[@type='radio'])"><selectname="{@name}"><xsl:for-eachselect="../input[@name=$name]"><optionvalue="{@value}"><xsl:apply-templates/></option></xsl:for-each></select></xsl:if></xsl:when><xsl:whentest="$type='text'"><inputname="{@name}"type="{@type}"><xsl:apply-templates/></input></xsl:when><xsl:whentest="$type='password'"><inputname="{@name}"type="{@type}"><xsl:apply-templates/></input></xsl:when></xsl:choose></xsl:if></xsl:template></xsl:stylesheet>

XSLT file I/O elements

[edit]
NodeDescription/ attributesContainer/ childrenExample
xsl:call-templateCalls the template whose name is specified.name matches thename inxsl:template.Any parent. children arexsl:with-param.
<xsl:call-templatename="lib:make-elem">
xsl:importRetrieves another XSLT file.href is the URI of the file.xsl:stylesheet. No children.
<xsl:importhref="..\Library\FuncLib.xslt"/>
xsl:outputDescribes 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:outputmethod="xml"omit-xml-declaration="yes"encoding="UTF-8"/>
xsl:paramDesignates a parameter which may be passed into the template withxsl:call-template.xsl:template. No children.
<xsl:paramname="elem-name"/>
xsl:textOutputs the tag content.Any parent. No children.
<xsl:text>ClaimNumberClaimSeqNumber</xsl:text>
xsl:value-ofOutputs a variable.select specifies the variable.Any parent. No children.
<xsl:value-ofselect="$s"/>
xsl:with-paramDesignates a parameter passed toxsl:call-template. It must be matched by anxsl:param in the template.name specifies the parameter name.select specifies theparameter value.xsl:call-template. No children.
<xsl:with-paramname="elem-name"select="'hma:ClaimNumber'"/>

Client-sideXSLT can be implemented in abrowser by adding a line like the following to the sourceXML file, right after the root XML tag.

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

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

Other XSLT semantics

[edit]
symbolmeaningwhere used
|union operator. used to group nodesets in XPath expressions.select attributes of elements such asxsl:when,xsl:if,xsl:for-each.
&andany conditional or match criterion, for examplexsl:if.test,xsl:when.test,xsl:template.select andxsl: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 examplexsl:value-of.select andxsl: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 examplexsl:if.test,xsl:when.test,xsl:template.select andxsl:for-each.select.
@an attribute within the XML.any conditional or match criterion, for examplexsl:if.test,xsl:when.test,xsl:template.select andxsl: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.

FunctionDescription/ SyntaxExample
ceilingTheceiling function returns the smallestinteger that is equal to or is larger than the numeric value of the number argument.
ceiling(3.57)
concatConcatenates 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')
countThe count function counts and returns the number of nodes in a node-set.
count(elements)
floorThefloor function returns the largest integer that is equal to or is smaller than the numeric value of the number argument.
floor(3.57)
normalize-spaceRemoves white-space from the beginning and end of the string
normalize-space($fname)
positionThe position function returns the one-based[3] index of the current node being processed by anxsl:for-each orxsl:apply-templates element node-list. There are no arguments.
position()
roundThe round function rounds a number to its closest integer.
round(3.57)
stringThe string function converts the value argument to a string.
string()
string-lengthThe 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')
substringA 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-afterThe 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-beforeThe 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')
sumThe 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)
translateTakes 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]
Products,
standards
Recommendations
Notes
Working drafts
Guidelines
Initiative
Deprecated
Obsoleted
Groups,
organizations
Elected
Working
Community, business
Closed
Software
Browsers
Conferences

References

[edit]
  1. ^"XSLT Reference".
  2. ^"XSLT 1.0: Function contains".
  3. ^"Example 16:1".
Retrieved from "https://en.wikipedia.org/w/index.php?title=XSLT_elements&oldid=1066294673"
Category:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp