Subject: RE: [xsl] Problems transforming a <A HREF> link using XSL From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Fri, 18 Nov 2005 17:59:38 -0000 |
Try <xsl:copy-of select="child::node()"/> to copy the children of the context node without copying the context node itself - i.e. to copy the contents without the surrounding tags. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Allison Bloodworth [mailto:abloodworth@xxxxxxxxxxxx] > Sent: 18 November 2005 17:17 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: RE: [xsl] Problems transforming a <A HREF> link using XSL > > Thanks very much for responding, Michael. However, > xsl:copy-of gives me > this: > > Gametracker: <gametracker> > <a > href="JavaScript:window.open('http://livestats.calbears.colleg > esports.com/li > vestats/data/m-baskbl/353109/','mbaskblGameTracker','toolbar=n > o,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.colleg > esports.com/li > vestats/data/m-baskbl/353109/','mbaskblGameTracker','toolbar=n > o,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 <, David Carlisle | Thread | [xsl] special characters decimal co, Mingqiang Yu |
Re: [xsl] Problems transforming a <, David Carlisle | Date | Re: [xsl] Document() function: GET , Elliotte Harold |
Month |