blob: cb02446c5282bfaa2c62fe716d82ae307cc4ed22 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
|
Status of implementation of the XSLT 1.0 Features:
==================================================
Stylesheet Constructs:
======================
YES xsl:stylesheet
? id = id
YES extension-element-prefixes = tokens
YES exclude-result-prefixes = tokens
YES version = number
YES xsl:transform
? id = id
YES extension-element-prefixes = tokens
YES exclude-result-prefixes = tokens
YES version = number
YES Literal Result Element as Stylesheet
YES Embedding Stylesheets
NO mediaType
Top Level Elements:
===================
YES xsl:include
YES href = uri-reference
YES xsl:import
YES href = uri-reference
YES xsl:strip-space
YES elements = tokens
YES xsl:preserve-space
YES elements = tokens
YES xsl:template
YES match = pattern
YES name = qname
YES priority = number
YES mode = qname
YES xsl:namespace-alias
YES stylesheet-prefix = prefix | "#default"
YES result-prefix = prefix | "#default"
YES xsl:attribute-set
YES name = qname
YES use-attribute-sets = qnames
YES xsl:variable
YES name = qname
YES select = expression
YES Content: template
YES xsl:param
YES name = qname
YES select = expression
YES Content: template
YES xsl:key
YES name = qname
YES match = pattern
YES use = expression
YES xsl:output
YES method = "xml" | "html" | "text" | qname-but-not-ncname
YES version = nmtoken
YES encoding = string
YES omit-xml-declaration = "yes" | "no"
YES standalone = "yes" | "no"
YES doctype-public = string
YES doctype-system = string
YES cdata-section-elements = qnames
YES indent = "yes" | "no"
YES media-type = string
Instructions:
=============
YES xsl:apply-templates
YES select = node-set-expression
YES mode = qname
YES xsl:apply-imports
YES xsl:call-template
YES name = qname
YES xsl:element
YES name = { qname }
YES namespace = { uri-reference }
YES use-attribute-sets = qnames
YES xsl:attribute
YES name = { qname }
YES namespace = { uri-reference }
YES xsl:text
YES disable-output-escaping = "yes" | "no"
YES xsl:processing-instruction
YES name = { ncname }
YES xsl:comment
YES xsl:copy
YES use-attribute-sets = qnames
YES xsl:value-of
YES select = string-expression
YES disable-output-escaping = "yes" | "no"
YES xsl:number
YES level = "single" | "multiple" | "any"
YES count = pattern
YES from = pattern
YES value = number-expression
YES format = { string }
NO lang = { nmtoken }
NO letter-value = { "alphabetic" | "traditional" }
YES grouping-separator = { char }
YES grouping-size = { number }
YES xsl:for-each
YES select = node-set-expression
YES xsl:if
YES test = boolean-expression
YES xsl:choose
YES xsl:when
YES test = boolean-expression
YES xsl:otherwise
YES xsl:sort
YES select = string-expression
NO lang = { nmtoken }
YES data-type = { "text" | "number" | qname-but-not-ncname }
YES order = { "ascending" | "descending" }
NO case-order = { "upper-first" | "lower-first" }
YES xsl:variable
YES name = qname
YES select = expression
YES Content: template
YES xsl:param
YES name = qname
YES select = expression
YES Content: template
YES xsl:copy-of
YES select = expression
YES xsl:with-param
YES name = qname
YES select = expression
YES xsl:decimal-format
YES name = qname
YES decimal-separator = char
YES grouping-separator = char
YES infinity = string
YES minus-sign = char
YES NaN = string
YES percent = char
YES per-mille = char
YES zero-digit = char
YES digit = char
YES pattern-separator = char
YES xsl:message
YES terminate = "yes" | "no"
YES xsl:fallback
General:
========
YES Conflict Resolution for Template Rules
YES Whitespace Stripping
YES Built-in Template Rules
YES match="*|/"
YES match="text()|@*"
YES match="processing-instruction()|comment()"
YES Namespace
YES Mode
YES Extension Elements
YES Extension Functions
YES Attribute Value Templates
YES Result Tree Fragments
Functions:
==========
YES node-set document(object, node-set?)
YES node-set key(string, object)
YES string format-number(number, string, string?)
YES node-set current()
YES string unparsed-entity-uri(string)
YES string generate-id(node-set?)
YES object system-property(string)
YES boolean element-available(string)
YES boolean function-available(string)
Patterns:
=========
YES para
YES *
YES chapter|appendix
YES olist/item
YES appendix//para
YES /
YES text()
YES processing-instruction()
YES node()
YES id("W11")
YES para[1]
YES *[position()=1 and self::para]
YES para[last()=1]
YES items/item[position()>1]
YES item[position() mod 2 = 1]
YES div[@class="appendix"]//p
YES @class
YES @*
YES except ns for key key('a','b')
daniel@veillard.com
|