|
Subject: Re: [xsl] OR statement From: david_n_bertoni@xxxxxxxxxx Date: Tue, 3 Jun 2003 08:43:20 -0700 |
> 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)">
> <xsl:variable name="cdate" select="name()"/>
> <xsl:element name="pubdate">
> <xsl:value-of select="$cdate"/>
> </xsl:element>
> </xsl:if>
>
This XPath expression is probably what you wanted:
<xsl:if test="name() = 'pubdate' or name() = 'dc:date'">
Note the string literals for the names of the nodes. Otherwise, they are
considered location paths.
> And
>
> <xsl:choose>
> <xsl:when test="name() = pubdate">
> <xsl:element name="pubdate">
> <xsl:value-of select="node()"/>
> </xsl:element>
> </xsl:when>
> <xsl:when test="name() = dc:date">
> <xsl:element name="pubdate">
> <xsl:value-of select="node()"/>
> </xsl:element>
> </xsl:when>
> <xsl:otherwise></xsl:otherwise>
> </xsl:choose>
Again, note the string literals:
<xsl:when test="name() = 'pubdate'">
>
> And I'm not getting the desired results.
You might try this:
<xsl:template match="pubdate | dc:date">
<pubdate>
<xsl:value-of select="."/>
</pubdate>
</xsl:template>
Without seeing more of your stylesheet, it's pretty hard to guess at the
processing model, but I'm assuming the code snippets you posted were inside
an xsl:template instruction.
Dave
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] OR statement, G. Ken Holman | Thread | RE: [xsl] OR statement, Lars Huttar |
| Re: [xsl] OR statement, G. Ken Holman | Date | RE: [xsl] OR statement, Lars Huttar |
| Month |