This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Transitive closure for XPath




Christian Nentwich wrote:
> 
> 
> I am not an expert in XPath details, so I wonder how feasible it would be to
> disguise this as an axis: /*/node[1]/closure::id(./@child) ? A function is
> definitely much easier to implement though.
> 
Perhaps we could borrow a trick from physics and represent time as an
axis?

So we would still have a closure() function but have a notation for
delayed evaluation:

	closure(/closure/node[1], delay::key("myKey", @child))

Or if that breaks XPath when you mix it with real axes, something real
simple like a leading "#", eg:

	closure(/closure/node[1], #key("myKey", @child))

meaning "what follows the '#' must be a syntactically evaluatable XPath
expression but must be passed to the function unevaluated."

Does this make enough sense to submit to the XPath 2.0 editors as a
suggestion?

Francis.

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]