Re: [xsl] current context preceding-sibling then following-sibling

Subject: Re: [xsl] current context preceding-sibling then following-sibling
From: Karl Stubsjoen <kstubs@xxxxxxxxx>
Date: Wed, 9 Mar 2005 07:56:27 -0700
I think I have reached a point where a single xpath query will simply
not work.  I do plan on proceding forward with stylesheets at some
point, just the immediate business need was well served with these
single xpath queries.  FYI.. we are using XSLT (currently just XPATH)
to perform data validation, so things like:  IF you have "B" it must
be proceded by one "A".  The date of "G" must be greater than the date
of "F"... and so on.  USING XSLT for this type of validation is
creating much more readable code, is breaking away the validation from
the procedural code, is creating standalone data and validation
scripts that can be checked with a simple xpath viewer and most
importantly is replacing these horrible recordsets which we loop in,
and loop within, and loop within (only to set a flag = true, a global
variable to "grandmas cookies have arrived", and an object =
nothing)...

Thanks for the help!
Karl


On Tue, 8 Mar 2005 22:33:58 GMT, David Carlisle <davidc@xxxxxxxxx> wrote:
> 
> 
>  /data/animals/animal[@id = /data/code/record[field[@id = ( '60' ) ]]/@id]
> 
>  The above '60' is in correct context of /data/animals/animal (it is
>  the value of id).. do I lose context on the right hand side of this
>  equation?
> 
> The context on the right of the = is the same as that on the left,
> namely the field node, which is why the @id to the left of the = selects
> id attributes of field.
> 
> so
> 
>  /data/animals/animal[@id = /data/code/record[field[@id = (
>  preceding-sibling::animal[1]/@id  ) ]]/@id]
> 
> will always compare @id to the empty set as the field element has no
> sibling element called animal.
> 
> Too late to really check, but I suspect that you can't do this with a
> single xpath if you don't allow yourself any variables or the current()
> function (eg as provided by xslt).
> 
> David
> 
> ________________________________________________________________________
> This e-mail has been scanned for all viruses by Star. The
> service is powered by MessageLabs. For more information on a proactive
> anti-virus service working around the clock, around the globe, visit:
> http://www.star.net.uk
> ________________________________________________________________________

Current Thread