At 2005-04-25 11:46 -0700, Sameer N wrote:
I am trying to look if the word blah exists in the entire document.
contains( /, "blah" )
Is there any difference between
//*[conatins(text(), "blah")]
and
//*[conatins( . , "blah")]
Absolutely. Each one has a predicate that addresses a single node, the
first one addresses the value of the first text child node of the current
node, while the second one addresses the value of current node.
Is the using of string() function as suggested in the blog right way to do
what I want... because I read in one book that string() only matches the
first element found and does not go thru the entire document trying to
match all elements found.
XPath states that the value of an element is the concatenation of all
descendent text nodes, hence the difference in what you have
above: checking that "." contains "blah" checks the concatenation of all
text nodes of the current node.
In my suggestion above you would search the value of the root node, which
is the value of the document element, which is the value of the
concatenation of all text nodes in the entire document.
I hope this helps.
. . . . . Ken
--
World-wide on-site corporate, govt. & user group XML/XSL training.
G. Ken Holman mailto:gkholman(_at_)CraneSoftwrights(_dot_)com
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995)
Male Breast Cancer Awareness http://www.CraneSoftwrights.com/s/bc
Legal business disclaimers: http://www.CraneSoftwrights.com/legal
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--