problem selecting node sets

Subject: problem selecting node sets
From: Paul Madsen <paul.madsen@xxxxxxxxxxxx>
Date: Thu, 09 Nov 2000 15:55:26 -0500
I have XML like 

<agenda>
    <activity type="flight" time="09">
    <activity type="meeting" time="11">
    <activity type="hotel" time="15"/>
    <activity type="flight" time="18"/>
</agenda>

and I would like to treat the <activity> elements that have a value of
'hotel' for the type attribute differently that the others. I want to
grab the value of the 'time' attribute on the next <activity> with
either 'meeting' or 'flight' for the value of the 'type' attribute, but
skip any <activity> elements that have a value of 'hotel' for the type
attribute. For instance, in the above, the second <activity> should
ignore the third and grab the value from the fourth instead (because the
third is of type 'hotel')

The following variable grabs the 'start' attribute  regardless of the
'type' attribute.

<xsl:variable name="nexttime"
select="following-sibling::activity[1]/@time"/>

I have experimented with the following.

<xsl:variable name="nexttype"
select="following-sibling::activity[1]@type"/>
<xsl:variable name="nexttime"
select="following-sibling::activity[position(1) = 1 and $nexttype !=
'hotel']/@time"/>

but it doesn't seem to work.

I believe that an appropriately defined <xsl:key> is the answer but I'm
having trouble with the specifics.

thanks for any guidance

-- 
Paul Madsen


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


Current Thread