[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: RE: Selecting the first node set

Subject: RE: RE: Selecting the first node set
From: cknell@xxxxxxxxxx
Date: Tue, 15 Aug 2006 11:07:44 -0400
RE: RE:  Selecting the first node set
I never got a direct answer to my question about the meaning of the parentheses, but I think I've worked it out.

I find it easier to think of things visually (I always did well in geometry but stumbled in algebra). What we're really working with is the notion of sets, so I think of a Venn diagram. I picture this:

"x | y[1]"

as "The set of all x-things and the first y-thing."

and this:

"(x | y)[1]"

as "The first element of the set of all x-things and all y-things."

Is that about right?
-- 
Charles Knell
cknell@xxxxxxxxxx - email



-----Original Message-----
From:     Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Sent:     Tue, 15 Aug 2006 10:31:59 -0400
To:       xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject:  RE:  Selecting the first node set

At 01:00 PM 8/14/2006, Mike wrote:
> > One has to be willing to think with the
> > literal-mindedness of a machine to tell the difference
> > between /descendant-or-self::node()/child::Value[1] and
> > (/descendant-or-self::node()/child::Value)[1], and that can
> > take a bit of practice.
>
>Yes. I'm not sure why people struggle with this though. It seems intuitive
>enough that
>
>x | y[1]
>
>doesn't mean the same as
>
>(x | y)[1]
>
>so why is the "/" perceived so differently from the "|"? Is it that people
>are somehow aware that it's a higher-order operator and therefore imagine it
>doesn't obey normal precedence rules? Or is it the overloading of [], which
>in its other role as a boolean filter is associative with "/"?

Possibly all of the above, and more, but none of it in specific. I 
think it's really a case of brain overloading. When faced with what 
appear to be complex expressions that remind them of middle-school 
examinations, people's anxiety levels rise and their neural pathways 
tighten up, leading to a negative-feedback-loop-driven brain shutdown 
and a reversion to what "ought" to be. Some people learn to relax, 
slow down and let the channels open, or they have learned from 
practice not to be scared by mathematics, or they were never scared 
in the first place.

It's a fascinating thing to observe. As a teacher, I try to convey 
that all this persnicketiness is not only necessary (to understand 
the machine, which doesn't suffer from anxiety), but it can be fun, 
not scary, and that no one's hand will be slapped. (Of course, that 
runs the risk of me being classed as the Other, at which point 
teaching becomes even more of a challenge. :-)

But you've given me an idea. Maybe our poor school-scarred students 
would be helped by examining

/ descendant-or-self::node() / child:element[1]

as a gloss on //element[1]

Thanks again Mike.

Cheers,
Wendell



>Michael Kay
>http://www.saxonica.com/

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.