Mais conteúdo relacionado
Semelhante a Xsl Tand X Path Quick Reference (20)
Xsl Tand X Path Quick Reference
- 1. Location Paths [XPath §2] XPath Operators XSLT Functions [§12, §15]
node-set document(object, node-set?)
Optional ‘/’, zero or more location steps, separated by ‘/’ Parentheses may be used for grouping.
node-set key(string, object)
Location Steps [XPath §2.1] Node-sets [XPath §3.3] string format-number(number, string, string?)
Axis specifier, node test, zero or more predicates
XSLT and XPath
| [expr] / // node-set current()
Axis Specifiers [XPath §2.2] string unparsed-entity-uri(string)
Booleans [XPath §3.4]
Quick Reference string generate-id(node-set?)
ancestor:: following-sibling:: <=, <, >=, > =, != and or
object system-property(string)
ancestor-or-self:: namespace::
Numbers [XPath §3.5] boolean element-available(string)
attribute:: parent::
-expr *, div, mod +, - boolean function-available(string)
child:: preceding::
descendant:: preceding-sibling::
Node Types [XPath §5]
XPath Core Function Library
descendant-or-self:: self::
Root Processing Instruction
following::
Node Set Functions [XPath §4.1] Element Comment
Node Tests [XPath §2.3] Attribute Text
number last()
node()
name Namespace
number position()
text()
URI:name number count(node-set)
Object Types [§11.1, XPath §1]
comment()
prefix:name node-set id(object)
* processing-instruction() boolean True or false
string local-name(node-set?)
processing-instruction(literal)
prefix:* string namespace-uri(node-set?) number Floating-point number
string name(node-set?)
Abbreviated Syntax for Location Paths string UCS characters
String Functions [XPath §4.2] node-set Set of nodes selected by a path
child::
(nothing)
string string(object?) Result tree XSLT only. Fragment of the result tree
@ attribute::
string concat(string, string, string*) fragment
// /descendant-or-self::node()/ boolean starts-with(string, string)
Expression Context [§4, XPath §1]
. self::node() boolean contains(string, string)
string substring-before(string, string) Context node (a node)
.. parent::node()
string substring-after(string, string) Context position (a number)
/ Node tree root
string substring(string, number, number?) Context size (a number)
Predicate [XPath §2.4] Variable bindings in scope
number string-length(string?)
Namespace declarations in scope
string normalize-space(string?)
[expr]
Function library
string translate(string, string, string)
Variable Reference [XPath §3.7] Mulberry Technologies, Inc.
Built-in Template Rules [§5.8]
Boolean Functions [XPath §4.3]
$qname 17 West Jefferson Street, Suite 207
boolean boolean(object) <xsl:template match=quot;*|/quot;>
Rockville, MD 20850 USA
Literal Result Elements [§7.1.1] boolean not(object) <xsl:apply-templates/>
Phone: +1 301/315-9631
Any element not in the xsl: namespace and not an extension boolean true() </xsl:template>
Fax: +1 301/315-8285
element
boolean false() info@mulberrytech.com <xsl:template match=quot;*|/quot; mode=quot;mquot;>
boolean lang(string) http://www.mulberrytech.com <xsl:apply-templates mode=quot;mquot;/>
XSLT </xsl:template>
Number Functions [XPath §4.4]
http://www.w3.org/TR/xslt number number(object?) <xsl:template match=quot;text()|@*quot;>
number sum(node-set) <xsl:value-of select=quot;.quot;/>
XPath
number floor(number) </xsl:template>
http://www.w3.org/TR/xpath
number ceiling(number) <xsl:template
XSL-List number round(number) Mulberry match=quot;processing-instruction()|comment()quot;/>
http://www.mulberrytech.com/xsl/xsl-list/
Technologies, Inc. Built-in template rule for namespaces is to do nothing
Mulberry Mulberry Mulberry
Technologies, Inc. Technologies, Inc. © 2000 Mulberry Technologies, Inc. (20010522) Technologies, Inc.
© 2000 Mulberry Technologies, Inc. © 2000 Mulberry Technologies, Inc.
- 2. Creating Attributes [§7.1.3] Sorting [§10] Key
XSLT Elements
<xsl:attribute name=quot;{qname}quot; <xsl:sort select=quot;string-exprquot; lang=quot;{nmtoken}quot;
Stylesheet Element [§2.2] xsl:stylesheet Element
namespace=quot;{uri-reference}quot;>...</xsl:attribute> data-type=quot;{text|number|qname-but-not-
<xsl:stylesheet version=quot;1.0quot; id=quot;idquot; Required attribute
version=
ncname}quot; order=quot;{ascending|descending}quot;
Named Attribute Sets [§7.1.4]
extension-element-prefixes=quot;tokensquot; Optional attribute
version=
case-order=quot;{upper-first|lower-first}quot;/>
exclude-result-prefixes=quot;tokensquot; <xsl:attribute-set name=quot;qnamequot;
Attribute value template. Text between
{expr}
Variables and Parameters [§11]
use-attribute-sets=quot;qnamesquot;>
xmlns:xsl=quot;http://www.w3.org/1999/XSL/
any { and } is evaluated as an
xsl:attribute* </xsl:attribute-set>
Transformquot;> xsl:import*, top-level elements <xsl:variable name=quot;qnamequot; select=quot;exprquot;/>
expression. Attribute value must
</xsl:stylesheet> <xsl:variable name=quot;qnamequot;>...</xsl:variable>
Creating Text [§7.2] evaluate to indicated attribute type.
xsl:transform is a synonym for xsl:stylesheet <xsl:param name=quot;qnamequot; select=quot;exprquot;/>
<xsl:text disable-output-escaping=quot;yes|noquot;> Anything allowed in a template
…
<xsl:param name=quot;qnamequot;>...</xsl:param>
#PCDATA </xsl:text>
Combining Stylesheets [§2.6] Separates alternative values
|
Using Values [§11.3]
<xsl:include href=quot;uri-referencequot;/> Processing Instructions [§7.3] Zero or one occurrences
?
<xsl:copy-of select=quot;exprquot;/>
<xsl:processing-instruction name=quot;{ncname}quot;>
<xsl:import href=quot;uri-referencequot;/> Zero or more occurrences
*
...</xsl:processing-instruction> Passing Parameters [§11.6] One or more occurrences
+
Whitespace Stripping [§3.4]
Creating Comments [§7.4] <xsl:with-param name=quot;exprquot; select=quot;exprquot;/> Character data
#PCDATA
<xsl:strip-space elements=quot;tokensquot;/>
<xsl:with-param name=quot;exprquot;>...</xsl:with-param>
<xsl:comment>...</xsl:comment>
<xsl:preserve-space elements=quot;tokensquot;/> Attribute Value Types
Keys [§12.2]
Copying [§7.5]
Defining Template Rules [§5.3] Literal value
1.0
<xsl:key name=quot;qnamequot; match=quot;patternquot;
<xsl:copy use-attribute-sets=quot;qnamesquot;>
<xsl:template match=quot;patternquot; name=quot;qnamequot; boolean-expr Expression returning boolean value
use=quot;exprquot;/>
...</xsl:copy>
priority=quot;numberquot; mode=quot;qnamequot;>
Single character
char
Number Formatting [§12.3]
Generating Text [§7.6.1]
xsl:param* followed by text, literal result elements
Expression
expr
and/or XSL elements </xsl:template> <xsl:decimal-format name=quot;qnamequot;
<xsl:value-of select=quot;string-exprquot;
XML name used as identifier
id
decimal-separator=quot;charquot;
disable-output-escaping=quot;yes|noquot;/>
Applying Template Rules [§5.4]
grouping-separator=quot;charquot; infinity=quot;stringquot; XML name not containing a colon (:)
ncname
Attribute Value Templates [§7.6.2]
<xsl:apply-templates select=quot;node-set-expquot;
minus-sign=quot;charquot; NaN=quot;stringquot; node-set-expr Expression returning a node set
mode=quot;qnamequot;/> <element attribute=quot;{expr}quot;/> percent=quot;charquot; per-mille=quot;charquot;
Expression returning a number
number-expr
<xsl:apply-templates select=quot;node-set-expquot;
zero-digit=quot;charquot; digit=quot;charquot;
Numbering [§7.7]
mode=quot;qnamequot;> XSLT pattern
pattern
pattern-separator=quot;charquot;/>
<xsl:number level=quot;single|multiple|anyquot;
(xsl:sort | xsl:with-param)* </xsl:apply-templates> Namespace prefix
prefix
count=quot;patternquot; from=quot;patternquot; Messages [§13]
Overriding Template Rules [§5.6] Namespace-qualified XML name
qname
value=quot;number-exprquot; format=quot;{string}quot; <xsl:message terminate=quot;yes|noquot;>
comprising local part and optional
<xsl:apply-imports/> lang=quot;{nmtoken}quot; ...</xsl:message>
prefix
letter-value=quot;{alphabetic|traditional}quot;
Named Templates [§6] Fallback [§15] qname-but-not- Namespace-qualified name comprising
grouping-separator=quot;{char}quot;
<xsl:call-template name=quot;qnamequot;/>
<xsl:fallback>...</xsl:fallback> ncname local part and prefix
grouping-size=quot;{number}quot;/>
<xsl:call-template name=quot;qnamequot;>
Meaning varies with context. See Rec.
token
Output [§16]
xsl:with-param* </xsl:call-template> Repetition [§8]
Reference to Universal Resource
uri-reference
<xsl:output
<xsl:for-each select=quot;node-set-exprquot;>
Namespace Alias [§7.1.1] Identifier
method=quot;xml|html|text|qname-but-not-ncnamequot;
xsl:sort*, ...</xsl:for-each>
<xsl:namespace-alias result-prefix=quot;prefix|#defaultquot;
version=quot;nmtokenquot; encoding=quot;stringquot;
stylesheet-prefix=quot;prefix|#defaultquot;/> Conditional Processing [§9] omit-xml-declaration=quot;yes|noquot;
<xsl:if test=quot;boolean-exprquot;>...</xsl:if>
Creating Elements [§7.1.2] doctype-public=quot;stringquot; doctype-system=quot;stringquot;
standalone=quot;yes|noquot; indent=quot;yes|noquot;
<xsl:element name=quot;{qname}quot; <xsl:choose>
cdata-section-elements=quot;qnamesquot;
namespace=quot;{uri-reference}quot; <xsl:when test=quot;exprquot;>...</xsl:when>+
media-type=quot;stringquot;/>
use-attribute-sets=quot;qnamesquot;>...</xsl:element> <xsl:otherwise>...</xsl:otherwise>?
</xsl:choose>
Mulberry Mulberry Mulberry Mulberry
Technologies, Inc. Technologies, Inc. Technologies, Inc. Technologies, Inc.
© 2000 Mulberry Technologies, Inc. © 2000 Mulberry Technologies, Inc. © 2000 Mulberry Technologies, Inc. © 2000 Mulberry Technologies, Inc.