Hello,
I'm having a headache trying to understand why those 2 pieces of groovy
do not generate exactly the same thing :
1)-
<%
// LOOP 10 times
println ( '<event>' + xwiki.getXMLEncoded(blablabla) +
'</event>' )
// END LOOP
%>
2)-
<%
str = ''
// LOOP 10 times
str = str + '<event>' + xwiki.getXMLEncoded(blablabla) +
'</event>\n'
// END LOOP
println(str)
%>
"blablabla" is a formatted text (in my case, the description field of an
article for example).
1) produces what is expected : it writes 10 lines of text, beginning
with '<event>', and special characters in "blablabla" are
correctly
translated.
2) produces any number of lines (> 10), because carriage returns inside
"blablabla" have not been translated, and so many lines are written for
each line expected.
I 'm not sure if this is the right place for this, but if someone as an
idea it would greatly help me ...
Best Regards,
Jeremie
Show replies by date
Well.. first things first.
Without seeing your loop construction, it's a bit hard to determine the
problem.
Here's a sample I adjusted from your second scenario:
<%
String str = ''
[1..10].flatten().each{
str = str + '<event>' + it + xwiki.getXMLEncoded('this one\n')+
'</event>\n'
}
println(str)
%>
The result when shown in a standard XWiki page for this (just stuck it
in a page), is predictable enough; no linebreaks and the <event /> tag
is ignored since it thinks it's a custom element.
Could you expand a bit more on what output you're getting, and what
you're doing with it after (putting it in a field/passing it to
xml/etc)?
Here's what I get:
---
1this one2this one3this one4this one5this one6this one7this one8this
one9this one10this one
---
________________________________
From: users-bounces(a)xwiki.org [mailto:users-bounces@xwiki.org] On Behalf
Of BOUSQUET Jeremie
Sent: 24 January 2008 16:05
To: users(a)xwiki.org
Subject: [xwiki-users] Groovy and getXMLEncoded() question
Hello,
I'm having a headache trying to understand why those 2 pieces of groovy
do not generate exactly the same thing :
1)-
<%
// LOOP 10 times
println ( '<event>' + xwiki.getXMLEncoded(blablabla) +
'</event>' )
// END LOOP
%>
2)-
<%
str = ''
// LOOP 10 times
str = str + '<event>' + xwiki.getXMLEncoded(blablabla) +
'</event>\n'
// END LOOP
println(str)
%>
"blablabla" is a formatted text (in my case, the description field of an
article for example).
1) produces what is expected : it writes 10 lines of text, beginning
with '<event>', and special characters in "blablabla" are
correctly
translated.
2) produces any number of lines (> 10), because carriage returns inside
"blablabla" have not been translated, and so many lines are written for
each line expected.
I 'm not sure if this is the right place for this, but if someone as an
idea it would greatly help me ...
Best Regards,
Jeremie