xsl-list
[Top] [All Lists]

Re: current context preceding-sibling then following-sibling

2005-03-09 07:56:27
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(_at_)nag(_dot_)co(_dot_)uk> wrote:


 /data/animals/animal[(_at_)id = /data/code/record[field[(_at_)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[(_at_)id = /data/code/record[field[(_at_)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
________________________________________________________________________

--~------------------------------------------------------------------
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>
--~--



--~------------------------------------------------------------------
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>
--~--