[jdom-interest] Attribute vs text (fwd)

Jason Hunter jhunter at servlets.com
Fri Sep 1 11:16:34 PDT 2006


Hi Bjorn,

0x0 is a null character.  Somehow that snuck into your file, and it's 
illegal XML.  You could strip null characters wherever they appear in a 
file using a FilterInputStream during the read.  Or you could figure out 
how to keep nulls from getting into XML files.

-jh-

Bjorn Roche wrote:
> Hey all,
> 
> I recent got an error report from my app in the field that read, in part:
> 
> org.jdom.IllegalDataException: The data "Celine Dion^@" is not legal for 
> a JDOM attribute: 0x0 is not a legal XML character.
> 
> Yes, celine dion is an illegal character ;).
> 
> Seriously, though, I know I can't put binary data into an attribute, and 
> I know that's what JDOM is complaining about. What confuses me is that 
> this data came off an iTunes xml file that I read with JDOM. Of course, 
> that field is user editable, and I might have missed a check somewhere 
> and let the user type in something crazy, but assuming that's not the 
> case, I have a few questions:
> 
> - Is it possible that some text is allowed in the text of an XML 
> element, but not in an attribute? I can easily restructure my xml 
> document format to use the content of an XML object for this info rather 
> than attributes, but I need to know if it will work.
> 
> - Is there an easy way to strip out illegal characters, so that I can 
> wrap calls like this up so that at least a best effort is made (at least 
> in cases where that makes sense)?
> 
> Thanks for an unbelievably awesome library!
> 
>     bjorn
> 
> -------------
> Bjorn Roche
> 
> XO Wave
> Audio Production and Post-Production Software for Mac OS X
> http://www.xowave.com
> http://www.myspace.com/xowave
> http://blog.bjornroche.com
> _______________________________________________
> To control your jdom-interest membership:
> http://www.jdom.org/mailman/options/jdom-interest/youraddr@yourhost.com
> 


More information about the jdom-interest mailing list