<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">


<META content="MSHTML 6.00.2800.1400" name=GENERATOR></HEAD>
<BODY>
<DIV><SPAN class=411312818-10032004><FONT face=Arial size=2>Hi 
there</FONT></SPAN></DIV>
<DIV><SPAN class=411312818-10032004><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=411312818-10032004><FONT face=Arial size=2>Via a web service I 
am obtaining an xml docuent.&nbsp; When I try and unarshal it with JAXB I get an 
UnmarshalException as the xml is not in format required by their own schema (this is only government web service after all!).</FONT></SPAN></DIV>
<DIV><SPAN class=411312818-10032004><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=411312818-10032004><FONT face=Arial size=2>So as the change is 
minimal, JDom to the rescue.&nbsp; I thought.</FONT></SPAN></DIV>
<DIV><SPAN class=411312818-10032004><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=411312818-10032004><FONT face=Arial size=2>The problem is that 
the element..</FONT></SPAN></DIV><SPAN class=411312818-10032004><!--StartFragment --><PRE id=line36>&nbsp;&nbsp;&nbsp; &lt;<SPAN class=start-tag>ns1:Reference</SPAN><SPAN class=attribute-name> xmlns:ns1</SPAN>=<SPAN class=attribute-value>"http://www.govtalk.gov.uk/gateway/digitalmail"</SPAN>&gt;PRG278&lt;/<SPAN class=end-tag>ns1:Reference</SPAN>&gt;</PRE>
<DIV><FONT face=Arial size=2>Should&nbsp;<SPAN class=411312818-10032004>not 
</SPAN>have the namespace data.  It should just look like this..</FONT></DIV><PRE><PRE id=line36>&nbsp;&nbsp;&nbsp; &lt;<SPAN class=start-tag>Reference</SPAN>&gt;PRG278&lt;/<SPAN class=end-tag>Reference</SPAN>&gt;</PRE></PRE>
<DIV><FONT face=Arial size=2><SPAN class=411312818-10032004>I get the reference 
element, and try and remove the namespace&nbsp;using&nbsp;the following 
code...</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=411312818-10032004></SPAN></FONT>&nbsp;</DIV><PRE><SPAN class=411312818-10032004>&nbsp;&nbsp;&nbsp; Namespace ns = Namespace.getNameSpace("ns1", <A href="http://www.govtalk.gov.uk/gateway/digitalmail"><FONT color=#000000>http://www.govtalk.gov.uk/gateway/digitalmail</FONT></A>);</SPAN></PRE><PRE><SPAN class=411312818-10032004>&nbsp;&nbsp;&nbsp; Element ref = parent.getChild("Reference", ns );</SPAN></PRE><PRE><SPAN class=411312818-10032004>&nbsp;&nbsp;&nbsp; ref.removeNamespaceDeclaration();</SPAN></PRE>
<DIV><FONT face=Arial size=2><SPAN 
class=411312818-10032004></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=411312818-10032004>Doing this does not 
change the elements namespace at all.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=411312818-10032004>So instead it tried 
this...</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=411312818-10032004></SPAN></FONT>&nbsp;</DIV><PRE><SPAN class=411312818-10032004>&nbsp;&nbsp;&nbsp; ref.setNamespace(Namespace.getNameSpace(""));&nbsp;&nbsp;&nbsp; // or ("","")</SPAN></PRE>
<DIV><SPAN class=411312818-10032004><FONT face=Arial size=2>Which gives 
me...</FONT></SPAN></DIV><PRE><SPAN class=411312818-10032004>&nbsp;&nbsp;&nbsp; &lt;Reference xmlns=""&gt;PRG278 &lt;/Reference&gt;</SPAN></PRE>
<DIV><SPAN class=411312818-10032004><FONT face=Arial size=2>Still not acceptable 
to JAXB though, itcomplains about the blank name space.</FONT></SPAN></DIV>
<DIV><SPAN class=411312818-10032004><FONT face=Arial size=2>Please 
help!</FONT></SPAN></DIV>
<DIV><SPAN class=411312818-10032004><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=411312818-10032004><FONT face=Arial 
size=2>Martin</FONT></SPAN></DIV>
<DIV><SPAN class=411312818-10032004><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=411312818-10032004><FONT face=Arial 
size=2></FONT>&nbsp;</DIV></SPAN></SPAN><FONT SIZE=3><BR>
<BR>
*********************************************************************** <BR>
This email and any files transmitted with it are confidential and <BR>
intended solely for the use of the individual or entity to whom they <BR>
are addressed. Any unauthorised distribution or copying is strictly <BR>
prohibited. <BR>
 <BR>
Whilst Cedar Software Ltd takes steps to prevent the transmission of <BR>
viruses via e-mail, we can not guarantee that any email or <BR>
attachment is free from computer viruses and you are strongly <BR>
advised to undertake your own anti-virus precautions. <BR>
 <BR>
Cedar Software Ltd grants no warranties regarding performance, <BR>
use or quality of any e-mail or attachment and undertakes no <BR>
liability for loss or damage, howsoever caused. <BR>
<BR>
CedAr is a leading UK supplier of Financial, eProcurement, Performance Management and, following the recent acquisition of Goldenhill Computer Systems Ltd, HR and Payroll software. Cedars solutions deliver increased capabilities and offer a direct and measurable financial return on investment.  The company has a customer base of more than 500 organisations in both the public and private sector. <BR>
Particular sector strengths include Airlines, Business Services,<BR>
Education, Emergency Services, Financial Services, Government, Health, Local Authorities, Not for Profit, Retail and Utilities.  For more<BR>
information, please visit www.cedar.com <BR>
2003 CedAr Software Ltd. All Rights Reserved. <BR>
Cedar Software Ltd. Incorporation number 3214465<BR>
 ***********************************************************************<BR>
</FONT>
</BODY></HTML>