- From: Peter Landhage (QRA) <Peter.Landhage@era.ericsson.se>
- Date: Mon, 20 Nov 2000 03:52:48 -0500 (EST)
- To: www-talk@w3.org
Hi ! I have this problem with fetching information out of a XML-tree with XSL. The tree could look like this: <flightinfo> <ficomments> <flight>Finnair - AY 792</flight> <ficomment> <from>Malpensa (MXP), Milan, Italy</from> <to>-</to> <comment>DEPARTS TERMINAL 1</comment> </ficomment> <ficomment> <from>Arlanda (ARN), Stockholm, Sweden</from> <to>Helsinki-Vantaa (HEL), Helsinki, Finland</to> <comment>DEPARTS TERMINAL 2</comment> </ficomment> <ficomment> <from>-</from> <to>Helsinki-Vantaa (HEL), Helsinki, Finland</to> <comment>ARRIVES TERMINAL 2</comment> </ficomment> <ficomment> <from>Malpensa (MXP), Milan, Italy</from> <to>Arlanda (ARN), Stockholm, Sweden</to> <comment>ARRIVES TERMINAL 2</comment> </ficomment> <ficomment> <from>-</from> <to>-</to> <comment>9/ NON-SMOKING</comment> </ficomment> </ficomments> </flightinfo> I want to fetch the first DEPARTS TERMINAL and the last ARRIVES TERMINAL in the tree. The tree is different every time. There could be more <ficomment> occurences before DEPARTS TERMINAL 1 and after ARRIVES TERMINAL 2, so you cannot use a postion() argument. The code that is used today is looking like below. The problem is that it fetching all the DEPARTS TERMINALs and all the ARRIVES TERMINALs and I only want the first and last: <xsl:template match="ficomments/ficomment" mode="departs"> <xsl:if test="starts-with(comment,'DEPARTS')"> <xsl:value-of select="comment"/><br/> </xsl:if> </xsl:template> Is there anyone that know how to solve this ? I've tried with following-sibling and <xsl:sort select="comment" order="descending">(and writing a xsl:value-of select="comment[1]"/><br/>) but nothing works. Peter Landhage, Telelogic Sverige AB Amadeus - WTM Competence Center Tel: +46-(0)703-401481 peter.landhage@era.ericsson.se
Received on Tuesday, 21 November 2000 02:33:15 UTC