This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Inserting into a href tag


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]