RE: [xsl] href problem...using CDATA needed?

Subject: RE: [xsl] href problem...using CDATA needed?
From: "Martinez, Brian" <brian.martinez@xxxxxxxxxxx>
Date: Fri, 13 Jun 2003 15:26:39 -0600
> -----Original Message-----
> From: Kathy Burke [mailto:Kathy_Burke@xxxxxxxxx]
> Sent: Friday, June 13, 2003 2:59 PM
> Subject: RE: [xsl] href problem...using CDATA needed?
> 
> That is how I originally had it. Tom tells me to get my html 
> working, it's
> not an xslt problem. But it appears to be something I'm doing 
> wrong with the
> @url reference...?
> 
> Regardless of my template etc., why would THIS work:
> 
> 	<xsl:template match="link">
>  	  <a href="{@url}"><xsl:apply-templates/></a>
> 	</xsl:template>

That's a straightforward hyperlink, so assuming @url is a valid URL, this
would behave no differently than if you wrote <a
href="http://www.my-url.com";>Text from XML</a>.  If you added
target="_blank" or something similar as Ken suggested, then the link would
open in a new browser.

> and NOT this:
> 
> 	<xsl:template match="link">
>  	  <a href="javascript:window.open('{@url}','Link Window',
> 'toolbar=1,
> 			menubar=1, resizable=1, dependent=0, status=0,
>  			width=400, height=300, left=25, top=25')">
> 	<xsl:apply-templates/></a>
> 	</xsl:template>

I'm assuming this is a direct paste from your stylesheet?  If so, then my
guess is that the hard return between 'toolbar=1,' and 'menubar=1' is the
culprit.  JavaScript is generally oblivious to whitespace--unless it occurs
within a literal string, such as the arguments to window.open().  Newlines
within a literal string, unless they're escaped with '\n', will easily break
function calls and the like.  Be sure the window.open() call is contained on
a single line.

And Tom is correct--this isn't really an XSLT problem.  ;-)

hth,
b.

| brian martinez                           brian.martinez@xxxxxxxxxxx |
| lead gui programmer                                    303.357.3548 |
| cheap tickets, part of trip network                fax 303.357.3380 |
| 6560 greenwood plaza blvd., suite 400           englewood, co 80111 |
| cendant travel distribution services   http://www.cheaptickets.com/ |

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


Current Thread