This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Value-of, copy-of
- From: Jeni Tennison <jeni at jenitennison dot com>
- To: Eric Vitiello <xsl-list at perceive dot net>
- Cc: xsl-list <xsl-list at lists dot mulberrytech dot com>
- Date: Wed, 27 Feb 2002 14:52:14 +0000
- Subject: Re: [xsl] Value-of, copy-of
- Organization: Jeni Tennison Consulting Ltd
- References: <02Feb27.091416est.119083@pcbhi266.bhsi.com>
- Reply-to: xsl-list at lists dot mulberrytech dot com
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