summaryrefslogtreecommitdiff
path: root/FEATURES
blob: 651e570c8026a90d5d990d78b8f9a136a71261c5 (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
       Status of implementation of the XSLT 1.0 Features:
       ==================================================

      $Id$

Stylesheet Constructs:
======================

YES		    xsl:stylesheet
?			id = id 
NO			extension-element-prefixes = tokens 
NO			exclude-result-prefixes = tokens 
YES			version = number

YES		    xsl:transform
?			id = id 
NO			extension-element-prefixes = tokens 
NO			exclude-result-prefixes = tokens 
YES			version = number


YES		    Literal Result Element as Stylesheet

NO		    Embedding Stylesheets


Top Level Elements:
===================

NO		    xsl:include
NO			href = uri-reference

NO		    xsl:import
NO			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 
NO			mode = qname

NO		    xsl:namespace-alias
NO			stylesheet-prefix = prefix | "#default"
NO			result-prefix = prefix | "#default"

NO		    xsl:attribute-set
NO			name = qname 
NO			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

NO		    xsl:key
NO			name = qname 
NO			match = pattern 
NO			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 
NO			cdata-section-elements = qnames 
YES			indent = "yes" | "no"
YES			media-type = string

Instructions:
=============

YES		    xsl:apply-templates
YES			select = node-set-expression 
NO			mode = qname

NO		    xsl:apply-imports

YES		    xsl:call-template
YES			name = qname

NO		    xsl:element
NO			name = { qname }
NO			namespace = { uri-reference }
NO			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

NO		    xsl:copy
NO			use-attribute-sets = qnames

YES		    xsl:value-of
YES			select = string-expression 
NO			disable-output-escaping = "yes" | "no"

NO		    xsl:number
NO			level = "single" | "multiple" | "any"
NO			count = pattern 
NO			from = pattern 
NO			value = number-expression 
NO			format = { string }
NO			lang = { nmtoken }
NO			letter-value = { "alphabetic" | "traditional" }
NO			grouping-separator = { char }
NO			grouping-size = { number }

YES		    xsl:for-each
YES			select = node-set-expression

YES		    xsl:if
YES			test = boolean-expression

NO		    xsl:choose

NO		    xsl:when
NO			test = boolean-expression

NO		    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

NO		    xsl:copy-of
NO			select = expression

YES		    xsl:with-param
YES			name = qname 
YES			select = expression

NO		    xsl:decimal-format
NO			name = qname 
NO			decimal-separator = char 
NO			grouping-separator = char 
NO			infinity = string 
NO			minus-sign = char 
NO			NaN = string 
NO			percent = char 
NO			per-mille = char 
NO			zero-digit = char 
NO			digit = char 
NO			pattern-separator = char

NO		    xsl:message
NO			terminate = "yes" | "no"

NO		    xsl:fallback

General:
========

YES (w.o import)    Conflict Resolution for Template Rules
YES		    Whitespace Stripping
YES		    Built-in Template Rules
YES		        match="*|/"
YES			match="text()|@*"
YES			match="processing-instruction()|comment()"
NO			Namespace
NO			Mode

YES		    Attribute Value Templates

YES		    Result Tree Fragments

Functions:
==========

NO		    node-set document(object, node-set?)
NO		    node-set key(string, object)
NO		    string format-number(number, string, string?)
NO		    node-set current() 
NO		    string unparsed-entity-uri(string)
NO		    string generate-id(node-set?)
NO		    object system-property(string)
NO		    boolean element-available(string)
NO		    boolean function-available(string)

Daniel.Veillard@imag.fr