Re: Questions on the new XSL spec (section 2.6)

Subject: Re: Questions on the new XSL spec (section 2.6)
From: Steve Dahl <sdahl@xxxxxxxxxxx>
Date: Fri, 01 Jan 1999 00:58:03 -0500
James Clark wrote:

> Steve Dahl wrote:
> >
> > James Clark wrote:
> >
> > > ...
> > > 2.6.2 says:
> > >
> > > "[2] MatchExpr ::= SelectExpr
> > >
> > > A match pattern must match the production for MatchExpr; a node matches
> > > the match pattern if the MatchExpr returns true when evaluated
> > > with that node as context.
> > >
> > > The result of the MatchExpr is true if, for any node in the document
> > > that contains the context of the MatchExpr, the result of evaluating the
> > > SelectExpr with that node as context contains the context of the
> > > MatchExpr. Otherwise the result is false."
> >
> > Ah. Thanks. Rereading this passage clarified a lot.
>
> Your comments make me realize that the use of the word "contains" in
> that passage is ambiguous: "that contains" is qualifying "document" not
> "node in the document".  The second "contains" is talking about set
> containment.
>
> Is this clearer?
>
> The result of the MatchExpr is true if, for any node in the same
> document as the context of the MatchExpr, the set of nodes that results
> from evaluating the SelectExpr with that node as context has as one of
> its members the context of the MatchExpr. Otherwise the result is false.
>
> James

...and that's clearer yet. As a user of XSL, that was how I wanted it to be, but
as an implementor of an XSL processor, I could appreciate the performance
advantages of searching only the ancestors of the match candidate (and for most
patterns that's all you'd need to test anyway).

Thanks much for the explanations.



 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread