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