KindTests
The syntax for the element() and attribute()
KindTests is extended to allow constructs of the form
or
attribute(myns:*, myns:someType)More specifically, the grammar for ElementNameOrWildCard
changes from ElementName | "*" to simply NameTest; and similarly AttribNameOrWildCard also
expands simply to NameTest. This change is made largely for orthogonality reasons (there is no reason to have
different rules for the two constructs) and also because it provides some useful extra functionality: for example in XSLT it
is now possible to match all elements in a particular namespace having a particular type with a template rule that specifies
match="element(my:*, my:type)".
The default priority for an XSLT pattern in the form element(X) is always the same as the default priority for
X, so for example the default priority of element(my:*) is -0.25. If a type is present, then we
follow the principle that the default priority of element(my:*, T) is midway between the priorities of
element(*, T) and element(E, T): that is, 0.125.