Subject: Re: Extracting a list of unique base urls from anchors in a html docu ment.
From: David Carlisle <davidc@xxxxxxxxx>
Date: Thu, 13 Sep 2001 19:06:02 +0100
|
> I'm propably wrong,
I'm afraid so:-)
> The only difference is that my template doesn't compare the attribute values
> as-is, but applies a substring before doing so.
No the string function completely changes the sematics of =.
If you have an XPath test of the form
(node-set a) = (node-set b)
then it is true if _any_ node in set a has a value equal to any node in
set b.
That's what you have here:
@country=preceding-sibling::city/@country
@country and preceding-sibling::city/@country
both select node sets.
If you have
(string a) = (string b)
then this is true if the string a equals to the string b.
that's what you have here:
substring-before(@href,'#')=substring-before(preceding::a/@href,'#')
as substring-before always returns a string.
substring-before requires a string as its first argument and if you give
it a node set (as here) then it takes the string value of the first node
(in document order) of the node set.
@href has at most one node but preceding::a/@href has perhaps many node but
whatever the current node the first node in that collection is the first
href attribute on an a element that occurs in the document.
David
_____________________________________________________________________
This message has been checked for all known viruses by Star Internet
delivered through the MessageLabs Virus Scanning Service. For further
information visit http://www.star.net.uk/stats.asp or alternatively call
Star Internet for details on the Virus Scanning Service.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|