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: better way to get a sibling?


> 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]