Hi Rob,

this is a bug!

Carsten

> -----Original Message-----
> From: Rob Johnston [mailto:[EMAIL PROTECTED]
> Sent: Sunday, March 30, 2003 7:19 PM
> To: [EMAIL PROTECTED]
> Subject: Question about TextRecorder in the SAXTransformer
> 
> 
> In the TextRecorder.java, I see the following:
> 
> public void characters(char ary[], int start, int length)
>     throws SAXException {
>         String value = new String(ary, start, length).trim();
>         if (value.length() > 0) {
>             buffer.append(value);
>         } else {
>             buffer.append(' ');
>         }
>     }
> 
> I am wondering what the logic behind having the trim() in there is.
> Several times I have noticed Cocoon "eating" spaces out of the stream as
> evidenced in this log:
> 
> INFO    2003-03-28 16:05:14.728 [sitemap.transformer.log ] (): 
> [startElement] 
> uri=http://xml.juniper.net/cocoon/work-schedule/1.0,local=start,ra
> w=sched:start
> DEBUG   2003-03-28 16:05:14.729 [sitemap.transformer.sche] (): 
> BEGIN startTextRecording
> DEBUG   2003-03-28 16:05:14.730 [sitemap.transformer.sche] (): 
> END startTextRecording
> INFO    2003-03-28 16:05:14.731 [sitemap.transformer.log ] (): 
> [characters] 03/28/2003 
> INFO    2003-03-28 16:05:14.733 [sitemap.transformer.log ] (): 
> [characters] 04:05 PM
> INFO    2003-03-28 16:05:14.734 [sitemap.transformer.log ] (): 
> [endElement] 
> uri=http://xml.juniper.net/cocoon/work-schedule/1.0,local=start,qn
> ame=sched:start
> DEBUG   2003-03-28 16:05:14.735 [sitemap.transformer.sche] (): 
> BEGIN endTextRecording
> DEBUG   2003-03-28 16:05:14.736 [sitemap.transformer.sche] (): 
> END endTextRecording text=03/28/200304:05 PM
> INFO    2003-03-28 16:05:14.737 [sitemap.transformer.log ] (): 
> [endElement] 
> uri=http://xml.juniper.net/cocoon/work-schedule/1.0,local=every,qn
> ame=sched:every
> ERROR   2003-03-28 16:05:14.739 [sitemap.transformer.sche] (): 
> URLWorkScheduleTransformer: invalid time: 03/28/200304:05 PM
> 
> <sched:start>03/28/2003 04:05 PM</sched:start>
> 
> is what is supposed to be being passed to the next transformer, but
> instead, it is showing up in two different [characters] events, and
> because of the trim(), it ends up being put back together as
> "03/28/200304:05 PM" which is invalid.
> 
> I was just wondering why the trim() is in there, or if what I am seeing
> is expected behavior.
> 
> thanks,
> rob

Reply via email to