FW: [jdom-interest] & in namespace

Michael Kay mike at saxonica.com
Wed May 3 15:48:09 PDT 2006


(a) This clearly *is* a bug in JDOM

(b) It's all very well people giving advice about how to design namespace URIs. Most of the time we just have to live with the namespace URIs invented by other people - we don't get a vote. If someone decided it was smart for a namespace URI to end in "#" or to contain an "&", there's no point arguing with them - it's probably too late for them to change it. Any URI is legal as a namespace - arguably, non-URIs are legal too - so the fact that it's unusual is no justification for the serializer handling it incorrectly.

Michael Kay
http://www.saxonica.com/ 


> -----Original Message-----
> From: jdom-interest-bounces at jdom.org 
> [mailto:jdom-interest-bounces at jdom.org] On Behalf Of Klotz, Leigh
> Sent: 03 May 2006 17:58
> To: jdom-interest at jdom.org
> Subject: RE: FW: [jdom-interest] & in namespace
> 
> One more reference, this time in HTML 4:
> http://www.w3.org/TR/html401/appendix/notes.html#h-B.2.2
> 
> 
> -----Original Message-----
> From: jdom-interest-bounces at jdom.org 
> [mailto:jdom-interest-bounces at jdom.org] On Behalf Of 
> Deshpande, Aniruddha
> Sent: Wednesday, May 03, 2006 12:37 AM
> To: jdom-interest at jdom.org
> Subject: RE: FW: [jdom-interest] & in namespace
> 
> Hello Tatu,
> 
> Yes, I agree with Elliotte's suspect that namespace URI must 
> actually contain "&" and not "&". The author of the WSDL 
> document that I have might have intended the same. However 
> such URI's (URI with query in it) cannot be entered "as is" 
> in an XML document, they need to be escaped (I think this 
> what Elliotte meant when he said "escaped in XML context").
> 
> This is exactly the problem that I am facing. I get a WSDL 
> file by user (which is an XML file and hence has "&" and 
> not "&" in namespace URI). I also agree to your comment that 
> namespace URI's should not have ampersands.
> 
> Did you get my point? What did you mean when you said: " 
> Please re-read Elliotte's response: it was 100% accurate.". 
> Did I miss out something?
> 
> I tried same with Xerces's XMLSerializer and it works fine.
> 
> What do you feel? Is this a bug in JDOM? How should we proceed?
> 
> With Regards,
> Aniruddha Deshpande
> 
> -----Original Message-----
> From: jdom-interest-bounces at jdom.org 
> [mailto:jdom-interest-bounces at jdom.org] On Behalf Of Tatu Saloranta
> Sent: Wednesday, May 03, 2006 11:42 AM
> To: jdom-interest at jdom.org
> Subject: Re: FW: [jdom-interest] & in namespace
> 
> Please re-read Elliotte's response: it was 100% accurate. It 
> is possible that JDom's serializer
> (outputter) does not quote values of namespace URIs, and if 
> so, it could and should be fixed.
> 
> I would also comment that using namespace URIs with 
> ampersands is a bad idea.
> 
> -+ Tatu +-
> 
> --- "Deshpande, Aniruddha"
> <Aniruddha.Deshpande at softwareag.com> wrote:
> 
> > Hello,
> > 
> > In my code I need to parse a WSDL file. Since WSDL file is 
> an XML file 
> > the contents of namespace URI indeed has "&amp;" and not "&".
> > 
> > I have a test case wherein I have written a small XML file which is 
> > parsed and printed with outputter.
> > 
> > Please find attached XML and Java source file.
> > Please change the code according to your settings.
> > 
> > If you look into the output of the program "&" is converted back to 
> > "&amp;" in every case except for namespaces.
> > 
> > The code just reads a file, creates a JDOM Document object 
> and passes 
> > that to XMLOutputter. I think this basic flow should always 
> lead the 
> > same XML file and not an invalid XML file!
> > 
> > With Regards,
> > Aniruddha Deshpande
> > 
> > -----Original Message-----
> > From: Elliotte Harold
> > [mailto:elharo at metalab.unc.edu]
> > Sent: Tuesday, May 02, 2006 5:10 PM
> > To: Deshpande, Aniruddha
> > Cc: jdom-interest at jdom.org
> > Subject: Re: [jdom-interest] &amp; in namespace
> > 
> > Deshpande, Aniruddha wrote:
> > > Hello,
> > > 
> > >  
> > > 
> > > I use SAXBuilder to parse and add an extra element
> > to an existing WSDL
> > > file. I am facing problem for WSDLs which have
> > &amp; in their namespace
> > > declaration. When I use XMLOutputter to write back
> > the changed WSDL
> > > “&amp;” gets replaced with “&”.
> > > 
> > >  
> > 
> > I don't believe the namespace URI contains &amp;. I suspect it 
> > contains & which is escaped as &amp; in XML contexts. The 
> distinction 
> > is critical. However it does sound like you may have uncovered a 
> > serious bug in JDOM if indeed JDOM does not escape such ampersands 
> > when reserializing. Do you have a reproducible test case?
> > 
> > --
> > Elliotte Rusty Harold  elharo at metalab.unc.edu XML in a 
> Nutshell 3rd 
> > Edition Just Published!
> > http://www.cafeconleche.org/books/xian3/
> >
> http://www.amazon.com/exec/obidos/ISBN=0596007647/cafeaulaitA/
> ref=nosim
> > > <?xml version="1.0" encoding="UTF-8"?>
> > <name xmlns:a="http://abc.com?a=b&amp;b=c"
> > first="http://abc.com?a=b&amp;b=c">Aniruddha &amp;
> Deshpande</name>>
> _______________________________________________
> > To control your jdom-interest membership:
> >
> http://www.jdom.org/mailman/options/jdom-interest/youraddr@you
> rhost.com
> 
> 
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection 
> around http://mail.yahoo.com 
> _______________________________________________
> To control your jdom-interest membership:
> http://www.jdom.org/mailman/options/jdom-interest/youraddr@you
> rhost.com
> 
> _______________________________________________
> To control your jdom-interest membership:
> http://www.jdom.org/mailman/options/jdom-interest/youraddr@you
> rhost.com
> 
> _______________________________________________
> To control your jdom-interest membership:
> http://www.jdom.org/mailman/options/jdom-interest/youraddr@you
> rhost.com




More information about the jdom-interest mailing list