RE: [xsl] better way to get a sibling?

Subject: RE: [xsl] better way to get a sibling?
From: "Michael Kay" <mhkay@xxxxxxxxxxxx>
Date: Tue, 23 Oct 2001 22:14:14 +0100
> I have XML such as:
>
> <data>
>         <row id="1">
>                 <field name="question_id">5</field>
>                 <field name="answer">1</field>
>                 <field name="total">45</field>
>         </row>
> </data>
>
> and xpath:
>
> //field[@name='question_id'][text()=$q_id]/../field[@name='total']
>
> if I have $q_id defined as 5, is this the best way to query
> the total if given the question id?

It's a perfectly reasonable way. If you're doing it a lot, try

<xsl:key name="qidk" match="row" use="field[@name=question_id]"/>

...then
 key('qidk',$q_id)/field[@name='total']

Or even do a pre-transformation from your generic schema to a specific
schema:

<data>
  <question row="1" qid="5" answer="1" total="45"/>
  ....
</data>

Mike Kay


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread