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