Subject: Re: [xsl] current context preceding-sibling then following-sibling From: Karl Stubsjoen <kstubs@xxxxxxxxx> Date: Tue, 8 Mar 2005 15:11:57 -0700 |
Unforturnately, stuck with single XPATH queries... so, here is what I have come up with... I feel like I am really really close: /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 following substition for '60' does not work preceding-sibling::animal[1]/@id... so: /data/animals/animal[@id = /data/code/record[field[@id = ( preceding-sibling::animal[1]/@id ) ]]/@id] On Tue, 08 Mar 2005 22:19:56 +0100, Joris Gillis <roac@xxxxxxxxxx> wrote: > Tempore 21:58:03, die 03/08/2005 AD, hinc in > xsl-list@xxxxxxxxxxxxxxxxxxxxxx scripsit Karl Stubsjoen <kstubs@xxxxxxxxx>: > > <data> > > <code> > > <record id="40" says="ruff" animal="dog"> > > <field fieldname="chase" id="50">cat</field> > > </record> > > <record id="50" says="meow" animal="cat"> > > <field fieldname="chase" id="60">mouse</field> > > </record> > > <record id="60" says="squeak" animal="mouse"> > > <field fieldname="chase" id="00">cheese</field> > > </record> > > </code> > > <animals> > > <animal id="60" /> > > <animal id="50" /> > > <animal id="40" /> > > <animal id="50" /> > > <animal id="60" /> > > <animal id="40" /> > > <animal id="50" /> > > <animal id="40" /> > > <animal id="80" /> > > </animals> > > </data> > > I am interested in returning all matches for animals who are in a > > proper "chase" order. So for example, the above animal who's ID is > > 50, is correctly in order if the proceding-animal is 40 (there should > > be 2 matches). Similarily, the animal who's ID is 60 is in correct > > order one time with the proceding-animal who's ID is 50. This "chase" > > order is to be derived by the code/record lookup above. > > > Hi, > > It would be easier to use keys here: > > <xsl:key name="chases" match="field[@fieldname='chase']" use="../@id"/> > > <xsl:template match="data"> > <xsl:copy-of > select="animals/animal[@id=key('chases',preceding-sibling::animal[1]/@id)/@id]"/> > </xsl:template> > > regards, > -- > Joris Gillis (http://www.ticalc.org/cgi-bin/acct-view.cgi?userid=38041) > Spread the wiki (http://www.wikipedia.org)
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] current context preceding, Joris Gillis | Thread | Re: [xsl] current context preceding, David Carlisle |
RE: [xsl] XSL DOCTYPE, Michael Kay | Date | Re: [xsl] XSL DOCTYPE, Kevin Rodgers |
Month |