xsl-list
[Top] [All Lists]

Re: compute an xpath expression that match a resulted node

2004-10-18 07:25:35
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(_at_)mulberrytech(_dot_)com
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
======================================================================



<Prev in Thread] Current Thread [Next in Thread>