Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Chatterbox XML Ticker broken

by chipmunk (Parson)
on Feb 12, 2002 at 17:22 UTC ( #144917=monkdiscuss: print w/ replies, xml ) Need Help??

After the move to the new servers, I discovered a curious bug in the Chatterbox XML ticker. It is randomly either encoding or not encoding ampersands, angle brackets, and square brackets. This inconsistent encoding causes confusion in the Chatterbox clients. In the Tk client, it breaks the caching of messages, causing the same messages to be printed over and over again.

To verify that the problem is with the ticker and not the client, I viewed the source of the ticker in lynx (lynx -source 'http://www.perlmonks.org/index.pl?node=chatterbox+xml+ticker'). Here are two examples that demonstrate the problem. Only the relevant message is shown in each example.

<CHATTER><INFO site="http://perlmonks.org" sitename="Perl Monks">Rende +red by the Chatterbox XML Ticker</INFO> <message user_id="43546" author="chipmunk" time="2002020815340 +7"> test &amp;nbsp;</message> </CHATTER> <CHATTER><INFO site="http://perlmonks.org" sitename="Perl Monks">Rende +red by the Chatterbox XML Ticker</INFO> <message user_id="43546" author="chipmunk" time="2002020815340 +7"> test &nbsp;</message> </CHATTER>
<CHATTER><INFO site="http://perlmonks.org" sitename="Perl Monks">Rende +red by the Chatterbox XML Ticker</INFO> <message user_id="43546" author="chipmunk" time="2002021212120 +5"> test 0 &lt; 1</message> </CHATTER> <CHATTER><INFO site="http://perlmonks.org" sitename="Perl Monks">Rende +red by the Chatterbox XML Ticker</INFO> <message user_id="43546" author="chipmunk" time="2002021212120 +5"> test 0 < 1</message> </CHATTER>
It would be a great help to all the users of chatterbox clients to get this bug fixed. Unfortunately, there's no reliable way to work around it.

Comment on Chatterbox XML Ticker broken
Select or Download Code
Re: Chatterbox XML Ticker broken
by mirod (Canon) on Feb 12, 2002 at 19:09 UTC

    An old trick I used when fixing crappy SGML data: s{<(\W)}{&lt;$1}g;

    Now that I think of it you can also use lookahead to get elegance points: s{<(?=\W)}{&lt;}g; (untested), which should also get you correcteness points as it also works for << too, contrary to my first attempt.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: monkdiscuss [id://144917]
Approved by root
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (17)
As of 2014-12-18 16:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (58 votes), past polls