pattern
sPatterns are essentially a grouping mechanism for rule
s. They can contain variables (represented by let
), which are unusual in that they are local in scope to the containing pattern
, but are evaluated in the context of the instance document root.[39] This change in scope but not evaluation context means the map of bindings must be updated for every pattern
.
This behaviour differs from that of the XSLT implementations.[40]
[39] This differs from rule
variables, which are evaluated in the context of the nodes returned by evaluating rule/@context
.
[40] See https://github.com/schxslt/schxslt/issues/135 for details regarding the behaviour of SchXslt here.