Can a match attribute use a non-pattern expression?

Subject: Can a match attribute use a non-pattern expression?
From: Elliotte Rusty Harold <elharo@xxxxxxxxxxxxxxx>
Date: Tue, 04 May 1999 15:52:43 -0700
In the latest XSL draft, section 7.2 states:

The match attribute is a *Pattern* that identifies the source node or
nodes to which the rule applies.

According to section 6.3:

A *Pattern* is set of location path patterns separated by |. A location
path pattern is a location path none of the steps of which use either
AxisIdentifiers or . or ... Location path patterns can also start with
an id() or key() function call with a literal argument (see [6.2.2
Node-sets]). Predicates in a pattern can use arbitrary expressions just
like predicates in a location path.

I'm particularly concerned about that bit about not using Axis
Identifiers which are defined in production 5 as from-ancestors,
from-ancestors-or-self, from-attributes, from-children, from-self, etc.

In other words it seems that section 7.2 says that match attribute must
use the abbreviated syntax.

Section 7.3 states that "A select attribute can be used to process nodes
selected by an expression instead of all children. The value of the
select attribute is a NodeSetExpr." Thus this restriction only seems to
aply to match attributes, not to select attributes.

What's the reasoning behind this?  Why is match restricted to patterns
while select is not? 

| Elliotte Rusty Harold | elharo@xxxxxxxxxxxxxxx | Writer/Programmer |
|               Java I/O (O'Reilly & Associates, 1999)               |
|              |
|   |
|  Read Cafe au Lait for Java News: | 
|  Read Cafe con Leche for XML News:     |

 XSL-List info and archive:

Current Thread