() constructs empty sequence
"instance of empty" test
Errors formalized, numbered, dichotomized as static/dynamic
starting node can be designated
Can designate base output URI at startup
Can designate a named template to be invoked at startup
External parameters: data types?
Module: XPath backward-compatibility
Module: Lexical construct support (XSLT Appendix G)
Modularize mandatory schema processing (XSLT Issue 125)
default-xpath-namespace attribute on any XSLT element
version attribute on any XSLT element and LREs, allows mixing
exclude-result-prefixes="#all" supported
exclude-result-prefixes, extension-element-prefixes now ubiquitous
Implement namespace fixup rules from XSLT part 4.4
Implement d-o-e rules from XSLT part 4.5
Detect use of reserved namespaces for named objects like templates, raise error
If AVT is sequence, produce space-separated string (XSLT part 5.5)
Template modes: multiple per template, #default, #current
xsl:apply-imports takes with-param subelement
xsl:variable and xsl:param take @as (was @type). SequenceType parsing should be centralized.
xsl:variable, xsl:param, xsl:with-param take @type-information
xsl:param takes @required
xsl:function takes @override, xsl:result takes @as
LREs, xsl:element, xsl:attribute take @type-annotation
xsl:attribute takes @disable-output-escaping
xsl:text allows instructions
xsl:namespace
xsl:copy and xsl:copy-of take @copy-namespaces
xsl:copy-of takes @copy-type-annotations
xsl:sort-key
xsl:sort and xsl:key take @as, @collation for value matching. SequenceType parsing should be centralized.
What are we going to do about collations?
New rules for matching NaN as a value
Function sort(string,sequence)
xsl:analyze-string has sub-element xsl:fallback
regex-group(integer)
Function unparsed-text(sequence, string?)
Function format-number has new picture strings and algorithm
format-dateTime() and xsl:datetime-format
Function unparsed-entity-public-id(string)
system-property() has new keywords
xsl:result-document takes @type-information
xsl:output takes @name, @normalize-unicode
xsl:output method="xhtml"
xsl:output takes @escape-uri-attributes for XHTML, HTML
Add collation argument to starts-with, contains, substring-before, substring-after
What are we going to do about collations? Anything?
fn:compare()
What are we going to do about collations? Anything?
fn:normalize-unicode()
fn:upper-case() and xf:lower-case()
fn:string-pad()
fn:escape-uri()
fn:resolve-uri()
fn:unordered()
fn:get-in-scope-namespaces(), fn:get-namespace-uri-for-prefix()
fn:default-collation()
fn:implicit-timezone()
fn:string-join()
fn:base-uri()
change fn:expanded-QName to QName-in-context
change fn:get-*-from-dateTime to subtract-dateTimes-yielding-*
fn:codepoints-to-string(), fn:string-to-codepoints()
fn:error()
fn:input()
fn:context-item()
fn:context-document()
fn:ends-with()
constructor functions for hexBinary, base64Binary, anyURI, Name, NCName, QName
constructor functions for normalizedString, token, language, NMTOKEN, NMTOKENS
constructor functions for NOTATION, ID, IDREF, IDREFS, ENTITY, ENTITIES
constructor functions for [unsigned]long, int, short, byte
constructor functions for [non][positive/negative]integer
constructor functions for decimal, float, double
equality test for QName, anyURI, hexBinary, base64Binary, NOTATION
XPath backward-compatibility as part of context
default function namespace as part of context
modularize extras from XPath section 2.6
XPath keywords: type, of type, untyped, in
XPath keyword: castable
operators << (before) and >> (after)
cast as, treat as
ValidateExpr::= "validate" SchemaContext? "{" Expr "}"
Input is a sequence, not just one tree
xsl:for-each-group
OccurrenceIndicator::= ("*" | "+" | "?")? in match and select
ItemType keywords: element, attribute, node, document, item, atomic value, etc.
to operator
idiv (like div)
unary +
for...return
XPath expressions allow if...then...else
instance of
xsl:copy-of and xsl:value-of take @separator
analyze-string and sub-elements matching-substring, non-matching-substring
xf:matches(), xf:replace(), xf:tokenize()
Quantified expressions: some, every
xf:item-at()
xf:index-of()
xf:empty()
xf:exists()
xf:distinct-nodes()
xf:distinct-values()
xf:insert()
xf:remove()
xf:subsequence()
xf:avg()
xf:deep-equal()
xf:root()
xf:sequence-deep-equal()
xf:sequence-node-equal()
xf:idref()
xf:sum() takes sequence as input; raises error if any non-numeric inputs
xf:id() takes sequence of IDREFs as input
union, intersect, except
Allow inequality relations for booleans (see Operators 7.2)
xf:if-absent()
xf:if-empty()
xf:max() and xf:min()
What are we going to do about collations? Anything?
xf:collection()
ExprComment ::= "{--" [^}]* "--}"
xsl:import-schema
Xalan architect, lead developer on Xalan-J 3.x.
developer
tester for XSLT Conformance; stylesheet writer's advocate
developer
developer