I am trying to integrate Roller 3.0 with Cocoon for my website. The Roller output is passed to Cocoon, which expects pure XML. 99% of the time, this is no problem. However, when I send Roller a request like

        http://localhost:8888/blog/en/category/General

I get code back which contains an unescaped ampersand. The following is a snippet from the top of the Roller calendar:

<table cellspacing="0" border="0" summary="Blog Archive Calendar" class="hCalendarTable">
  <tr>
    <td colspan="7" align="center" class="hCalendarMonthYearRow">
<a href="/roller/en/?cat=General&date=200701" title="Prev" class="hCalendarNavBar">&laquo;</a> February 2007
    </td>
  </tr>

Any XML processor is likely to complain about the href because it sees "&date=" as a syntactically incorrect XML entity. What an XML processsor needs in this situation is "&amp;date=" or the URL-escaped variant "%26date=".

After looking at the source, I think the problem is in

        getQueryString in org.apache.roller.util.URLUtilities

getQueryString just outputs a plain "&", with no options for other formats as far as I can see.

Is there any way of telling Roller to generate 100% pure XML (or at least an &amp; or the URL-encoding in this case)?

Steve

---
Vimia GmbH
Postfach 163
8143 Stallikon
044 777 9782


Reply via email to