[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: AW: [xsl] why is "(chapter//footnote)[1]" illegal?


Subject: Re: AW: [xsl] why is "(chapter//footnote)[1]" illegal?
From: "Robert P. J. Day" <rpjday@xxxxxxxxxxxxxx>
Date: Sat, 23 Aug 2003 11:42:58 -0400 (EDT)

On Sat, 23 Aug 2003, Markus Abt wrote:

> Hi Robert,
> 
> a pattern (p.443) is a path expression, but not every
> path expression (.p408) is a valid pattern.

well, since mom is still putzing around in the kitchen and not
ready to go shopping yet, i'll expand on this a bit more.

i'm aware (kay, p. 430 -- a book that is getting mighty dog-eared by now)
that "every pattern is a valid XPath expression, but not every valid XPath
expression is a valid pattern." fair enough -- kay uses the example of
"2+2" as an expression that makes no sense as a pattern.

but that example is pretty obvious -- "2+2" *clearly* can't be
interpreted as a pattern.  it's not so obvious why the following
set of expressions can or can't be used as patterns:

  (chapter/para)[1]		yes (kay, 408)
  (chapter//footnote)[1]	no (kay, 443)
  ($chapters//diagram)[1]	yes (kay, 355)

it's not at all clear *intuitively* why the first and third expressions
are acceptable patterns, while the second isn't.  and it's not because
that 2nd expression couldn't be interpreted unambiguously, AFAICT.

after i take a closer look at the actual rules for acceptable patterns,
i'm sure i'll understand it.  but i just won't like it. :-)

rday


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



Current Thread
Keywords