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