Re: [xsl] Value-of, copy-of

Subject: Re: [xsl] Value-of, copy-of
From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx>
Date: Wed, 27 Feb 2002 14:52:14 +0000
Hi Eric,

> the chunk of XSL in question is:
>
> <div class="blurb">
> <xsl:copy-of select="rss:description"/>
> </div>
[snip]
> I don't want it to output the <description> elements, only the
> content inside.

Then tell it to copy the *content* of the description element, rather
than the description element itself :)

  <xsl:copy-of select="rss:description/node()" />

Whatever nodes you select with the XPath in the select attribute are
the nodes that get copied, so if you select a description element,
then you get a description element. The above selects the nodes within
the description element, which is what you're after.

> I've tried using child::rss:description and
> descendant::rss:description, but I get exactly the same output. I'm
> also a bit annoyed by it putting the namespace declarations in the
> output, but I think it's probably a simple namespace mixup.

You can stop the processor from adding the namespace declarations to
the output (when it doesn't need to) with the exclude-result-prefixes
attribute on the xsl:stylesheet element:

<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
                xmlns:rss="http://purl.org/rss/1.0/";
                xmlns:dc="http://purl.org/dc/elements/1.1/";
                xmlns="http://www.w3.org/1999/xhtml";
                exclude-result-prefixes="rss dc">
...
</xsl:stylesheet>

I hope that helps,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/


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


Current Thread