[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
WG: [xsl] XPATH | union operator question
Subject: WG: [xsl] XPATH | union operator question From: christof.hoeke@xxxxxxx Date: Fri, 19 Dec 2003 17:44:51 +0100 |
thanks a lot, that makes sense. btw (hope this is not off-topic), will there be a 2nd edition of the XSLT Programmer's Reference? (i could not found an answer to my question in the 1st edition, but i guess this is too specific anyway. but it is still the best book about xslt...) chris -----Ursprüngliche Nachricht----- Von: Michael Kay [mailto:mhk@xxxxxxxxx] Gesendet: Freitag, 19. Dezember 2003 16:55 An: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Betreff: RE: [xsl] XPATH | union operator question The union operator selects both attributes, the value-of instruction then selects the one that's first in document order. To get the innermost one, use (@a | ../@a)[last()] Michael Kay > -----Original Message----- > From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of > christof.hoeke@xxxxxxx > Sent: 19 December 2003 15:06 > To: XSL-List@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] XPATH | union operator question > > > hi, > i have a problem to understand why the following is happening: > > ###TODO > in the following xml: if the inner @color is there use it, > otherwise use the outer @color > > ###XML > <test> > <line color="outer1"> > <x color="inner1"/> > </line> > </test> > > so i tested the following XSLT: > ###XSL > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > <xsl:template match="/test"> > <out> > <xsl:apply-templates/> > </out> > </xsl:template> > <xsl:template match="line"> > <xsl:apply-templates/> > </xsl:template> > <xsl:template match="x"> > <xsl:value-of select="@color | > parent::line/@color"/><br/> > <xsl:value-of > select="parent::line/@color | @color "/><br/> > <xsl:value-of select="(@color | > parent::line/@color)[1]"/><br/> > <xsl:value-of > select="(parent::line/@color | @color)[1] "/><br/> > </xsl:template> > </xsl:stylesheet> > > ###RESULT > <out> > outer1<br /> > outer1<br /> > outer1<br /> > outer1<br /> > </out> > > i expected at least one inner1 to show up... > or i expected "inner1outer1" as a result. > > what does the | operator in "@color | parent::line/@color" > select? only the most specific? > > thanks a lot > chris > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: RE: RE: RE: [xsl] Malformed (??, Guillaume LECERF | Thread | RE: [xsl] XPATH | union operator qu, Michael Kay |
Re: [xsl] XPATH | union operator qu, G. Ken Holman | Date | RE: [xsl] FO to format unstructured, Kyle Partridge |
Month |