Re: [xsl] compute an xpath expression that match a resulted node

Subject: Re: [xsl] compute an xpath expression that match a resulted node
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Mon, 18 Oct 2004 10:25:35 -0400
Majirus,

At 08:08 AM 10/16/2004, you wrote:
Dear wendell,
I thank you very much for yours suggestions.
I think that in my case, //*[.=$nodeset] should work provided that the '=' operator allow also comparison between nodes sets.

It does, by comparing their values. If the value of any node in the first node set is equal to the value of any node in the second node set, the two sets test as equal.


In your case, however, you are comparing the value of a result tree fragment (somewhat confusingly named $nodeset) to the (string) value of each node in the document in turn.

//*[.=$nodeset]

is the same as

/descendant-or-self::node()/child::*[self::node() = $nodeset]

which basically says "return all elements in the document that are the child of the root or one of its descendants, keeping only those whose value is equal to $nodeset". I.e., every element in the document whose string value is equal to the value of $nodeset. This is a string comparison, and will test true if the two strings are the same.

Cheers,
Wendell


====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ======================================================================

Current Thread