This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: XSL Copy
- To: <xsl-list at mulberrytech dot com>
- Subject: RE: XSL Copy
- From: "Carlos Sanchez" <carlos at ktsi dot com>
- Date: Tue, 11 Apr 2000 14:12:57 -0500
- Reply-To: xsl-list at mulberrytech dot com
Thx David,
Carlos Sanchez
RiskMetrics
-----Original Message-----
From: owner-xsl-list@mulberrytech.com
[mailto:owner-xsl-list@mulberrytech.com]On Behalf Of David Carlisle
Sent: Tuesday, April 11, 2000 11:52 AM
To: xsl-list@mulberrytech.com
Subject: Re: XSL Copy
> However, when I run this the tag names are stripped off from the output
and
> I only get the node contents. What am I doing wrong?
tags don't have names (elements do)
For the root node and almost all its descendents, you have not specified
any template, so you get the default template which just recurses on the
children and finally copies the character data to the result.
<xsl:template match="//timeSeriesDetail/timeSeries[timeSeriesType=$tsType
and timeSeriesKey=$tsName]">
using // is almost always inefficient, or just plain wrong, and never
makes sense in a match pattern.
What I think you want is
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:param name="tsType" select="Equity"/>
<xsl:param name="tsName" select="DAX"/>
<xsl:template match="/">
<xsl:copy-of select="results/timeSeriesDetail[
timeSeries/timeSeriesType=$tsTyp
and
timeSeries/timeSeriesKey=$tsName]"/>
</xsl:template>
</xsl:stylesheet>
but its hard to be sure...
David
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list