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: Preceding Ancestors


Hi Richard,

My records show that I had solved your problem before 8 March 2001 -- see the
following:

http://vbxml.com/snippetcentral/main.asp?view=viewsnippet&id=v20010308030644

In your particular case the single XPath expression is:

//p[parent::p or count(.. | $curr/ancestor::node()) = count($curr/ancestor::node() )
 and not(@name=../descendant::node()/p/@name )  and count(. | $curr/following::p) !=
count($curr/following::p )]  

where $curr is the node for which you need to find the "p" elements in scope.

This will highlight (usng the XPath Visualizer):

<p a="1"
<p a="2"
<p a="6"
<p a="7"

The last element is also hi-lighted, because the current node is in its scope and
knows about itself.

Hope this helped.

Cheers,
Dimitre Novatchev.



Richard Mitchell wrote:

Well I'm trying to create some sort of scoping rule
into my XML definition ( well it's already there but
I'm trying to get at it from deep inside one long
XPath expression ). What I can't work out is
how to get at any preceding elements that are in
my 'scope' i.e. from a file like

<s>
	<m>
		<p a="1"/>
		<p a="2"/>
		<m>
			<p a="3"/>
			<p a="4"/>
			<p a="5"/>
		</m>
		<m>
			<p a="6"/>
			<p a="7"/>  <---Context is here
			<p a="8"/>
		</m>
		<p a="9"/>
	</m>
</s>

And I'm expecting something like
	<p a="1"/>
	<p a="2"/>
	<p a="6"/>

I've tried ancestor::*/p but that will give me <p a="9"/> too.

Any ideas out there pleeeeze. I'll owe you a beer ( or beverage
of your choice ) next time you're in Cambridge.

Ta Muchly.




__________________________________________________
Do You Yahoo!?
Make international calls for as low as $.04/minute with Yahoo! Messenger
http://phonecard.yahoo.com/

 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]