Not sure how others feel, but I think Roller macros should generate
valid XHTML by default and each instance where they don't should be
considered a bug.

Unfortunately, because of the way the calendar component is
implemented, changing it requires a Java code change -- so I don't
have an easy work around for you.

- Dave


On 2/9/07, Stephen Winnall <[EMAIL PROTECTED]> wrote:
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