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