This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Inserting into a href tag
- To: "Chris Rugowski" <rugowc at hotmail dot com>
- Subject: Re: Inserting into a href tag
- From: Jeni Tennison <mail at jenitennison dot com>
- Date: Sat, 4 Nov 2000 10:47:02 +0000
- CC: xsl-list at mulberrytech dot com
- Organization: Jeni Tennison Consulting Ltd
- References: <14850.62647.182000.335362@menteith.com>
- Reply-To: xsl-list at mulberrytech dot com
Chris,
> This is the XML file:
>
> <product>
> <prodnum>
> US1234
> </prodnum>
> </product>
>
> This value will need to be used in many places, such as this inside my XSL
> file:
>
> <A href="/details/{prodnum}">
[snip]
>
> I'm get output that looks like this:
>
> <A href="/details/%0A%20US1234%0A%20"}
[snip]
>
> What am I doing wrong here? I've tried references like {product/prodnum},
> but that returns a blank. Is there something outside of this code that I
> need to declare?
The HTML output method is a clever little beast and knows that the
content of an 'href' attribute is a URL, and should be escaped like
one. You have four escaped characters that are making your URL look
funny: two %0A (line breaks) and two %20 (spaces). This is because
the value for the href that you're putting in is:
"
US1234
"
which is due to the formatting of your source XML.
You can get rid of line breaks and spaces from the value using the
normalize-space() function. So try:
<A href="/details/{normalize-space(prodnum)}">...</A>
instead. Or change your source so that it's:
<product>
<prodnum>US1234</prodnum>
</product>
I hope that helps,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list