|
Subject: RE: [xsl] Problems transforming a <A HREF> link using XSL From: "Allison Bloodworth" <abloodworth@xxxxxxxxxxxx> Date: Fri, 18 Nov 2005 09:17:02 -0800 |
Thanks very much for responding, Michael. However, xsl:copy-of gives me
this:
Gametracker: <gametracker>
<a
href="JavaScript:window.open('http://livestats.calbears.collegesports.com/li
vestats/data/m-baskbl/353109/','mbaskblGameTracker','toolbar=no,resizable=no
,scrollbars=no,width=780,height=540'); void('');">Gametracker</a>
</gametracker>
And I want this:
Gametracker:
<a
href="JavaScript:window.open('http://livestats.calbears.collegesports.com/li
vestats/data/m-baskbl/353109/','mbaskblGameTracker','toolbar=no,resizable=no
,scrollbars=no,width=780,height=540'); void('');">Gametracker</a>
(e.g. I don't want the <gametracker> tags around my link)
I was able to do what you suggested with copy of if I target the <a> tag.
However, I can't assume that the Gametracker tag will always include just
the <a> tag.
<xsl:template match="gametracker">
<xsl:if test="normalize-space(.)">
Gametracker: <xsl:copy-of select="a"/>
</xsl:if>
</xsl:template>
If you want to copy HTML content inside an XML tag and don't know exactly
what it is, is this not possible?
Also, if there is a better way to use an XSL to do datatype testing on the
contents of a node (hopefully using XPath 1.0, since I can't use XML Spy on
a stylesheet with "castable"...thank goodness for Saxonica!), I'd love to
hear of it. Right now this is what I'm doing:
<xsl:if test="string(.) castable as xs:time">
<StartTime>
<xsl:value-of select="."/>
</StartTime>
</xsl:if>
Thanks again!
Allison
-----Original Message-----
From: Michael Kay [mailto:mike@xxxxxxxxxxxx]
Sent: Friday, November 18, 2005 1:09 AM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE: [xsl] Problems transforming a <A HREF> link using XSL
You want <xsl:copy-of> rather than <xsl:value-of>.
Michael Kay
http://www.saxonica.com/
> -----Original Message-----
> From: Allison Bloodworth [mailto:abloodworth@xxxxxxxxxxxx]
> Sent: 18 November 2005 02:04
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] Problems transforming a <A HREF> link using XSL
>
> Hi,
>
> I am trying to transform an XML document, which includes some HTML <a
> href=.> links, into another XML document. However, when I do the
> transformation, the <a href=..>Name of link</a> info is lost
> and all I see
> is the name of the link. I've tried using output methods of
> "xml" "html" and
> "text" to no avail. Does anyone know how to fix this problem?
>
> <?xml-stylesheet type="text/xsl" href="Sports.xsl"?>
> <feed>
> <update_stamp>11/10/2005 08:14:47</update_stamp>
> <event>
> <id>472691</id>
> <date>12/03/2005</date>
> <time>1:00 PM</time>
> <sport>w-baskbl</sport>
> <sport_name>W Basketball</sport_name>
> <opponent><![CDATA[UNLV vs. Albany (CC Times
> Classic)]]></opponent>
> <location><![CDATA[Berkeley]]></location>
> <tv></tv>
> <home_visitor>H</home_visitor>
> <outcome><![CDATA[]]></outcome>
> <recap></recap>
> <stats></stats>
> <notes></notes>
> <quotes></quotes>
> <gallery></gallery>
> <gametracker><a
> href="JavaScript:window.open('http://livestats.calbears.colleg
> esports.com/li
> vestats/data/w-baskbl/354046/','wbaskblGameTracker','toolbar=n
o,resizable=no
> ,scrollbars=no,width=780,height=540');
> void('');">Gametracker</a></gametracker>
> </event>
> </feed>
>
> Top of XSL stylesheet:
> <?xml version="1.0"?>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> xmlns:xs="http://www.w3.org/2001/XMLSchema"
> xmlns:dt="http://xsltsl.org/date-time">
> <xsl:import href="http://xsltsl.sourceforge.net/modules/stdlib.xsl"/>
> <xsl:output method="xml" indent="yes"/>
>
> Pertinent portion of stylesheet (I test to see if the element
> exists before
> I print it):
>
> <xsl:template match="gametracker">
> <xsl:if test="normalize-space(.)">
> Gametracker: <xsl:value-of select="."/>
> </xsl:if>
> </xsl:template>
>
> I want this in the resultant XML file:
> <Description>
> Gametracker: <a
> href="JavaScript:window.open('http://livestats.calbears.colleg
> esports.com/li
> vestats/data/w-baskbl/354046/','wbaskblGameTracker','toolbar=n
o,resizable=no
> ,scrollbars=no,width=780,height=540'); void('');">Gametracker</a>
> </Description>
>
> But I get this:
>
> <Description>
> Gametracker: Gametracker
> </Description>
>
> Thanks very much for any help you can give me!
>
> Allison Bloodworth
> Principal Administrative Analyst
> e-Berkeley Program Office
> University of California, Berkeley
> (415) 377-8243
> abloodworth@xxxxxxxxxxxx
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| RE: [xsl] Problems transforming a <, Michael Kay | Thread | Re: [xsl] Problems transforming a <, David Carlisle |
| RE: [xsl] XSL from XSL, drkm | Date | Re: [xsl] Problems transforming a <, David Carlisle |
| Month |