This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: better way to get a sibling?
- To: <xsl-list at lists dot mulberrytech dot com>
- Subject: RE: [xsl] better way to get a sibling?
- From: "Michael Kay" <mhkay at iclway dot co dot uk>
- Date: Tue, 23 Oct 2001 22:14:14 +0100
- Reply-To: xsl-list at lists dot mulberrytech dot com
> 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