Subject: RE: [xsl] OR statement From: "Lars Huttar" <lars_huttar@xxxxxxx> Date: Tue, 3 Jun 2003 10:58:09 -0500 |
> I'm transforming two (or more) RSS docs into one master xml > that I'll be > using to display on our portal. I'm running into an issue > where one of the > rss docs uses a date element called <dc:date> and another > uses <pubdate>. > I'd like to transform them so that the final xml document uses only > <pubdate>. > > I've tried a couple of approaches: > <xsl:if test="(name() = pubdate or dc:date)"> There are a few problems with this... 1) The "or" operator is meant to connect two boolean expressions, so instead of name() = pubdate or dc:date you want name() = pubdate or name() = dc:date 2) pubdate needs to be quoted; otherwise it is interpreted as "the string value of the child element of . whose name is 'pubdate'" so you want name() = 'pubdate' or name() = 'dc:date' or self::pubdate or self::dc:date The latter form has the benefit of doing proper namespace checking. (Assuming you've declared the dc namespace in your stylesheet.) > Anyone know how I can easily check if it's the <dc:date> or > the <pubdate> > and tranform it to a <pubdate> if it's the <dc:date> (while inside a > <xsl:for-each>)? You were on the right track... <xsl:if test="self::pubdate or self::dc:date"> <xsl:element name="pubdate"> <xsl:value-of select="." /> </xsl:element> </xsl:if> Lars XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] OR statement, david_n_bertoni | Thread | RE: [xsl] template match : node-set, Jonathan Sprinkle |
Re: [xsl] OR statement, david_n_bertoni | Date | RE: [xsl] template match : node-set, Jonathan Sprinkle |
Month |