JasperReport lendo dados de um xml gerado pelo XFire

Galera, estou com o seguinte problema estamos usando o Xfire para ler um determinado webservice e gravar um xml para que o Ireport popule um relatório, mas estou tendo um pequeno problema:

Quando gravo o resultado em xml com o método:

DOMUtils.writeXml((Document) resultado[0], new FileOutputStream(new File("c:/teste.xml")));

Ele me gera um arquvo mais ou menos assim:

<?xml version="1.0" encoding="UTF-8"?>
<out xmlns="http://localhost:8080/MJXFire">
<ns1:Book xmlns:ns1="http://ws.empresa.com.br">
<author xmlns="http://ws.empresa.com.br">Teste Autor</author>
<isdn xmlns="http://ws.empresa.com.br">123456789</isdn>
<title xmlns="http://ws.empresa.com.br">Teste Titulo</title>
</ns1:Book>

Mas na hora que populamos esse relatório atraves desse xml na tag <ns1:Book de alguma forma ele se perde, o erro foi localizado, se eu retiro esses : da tag o IReport consegue ler tranquilamente, fiz um outro teste com Dom ele le sem problema algum esse tipo de xml.

Erro gerado pelo IReport:

Exception in thread "main" net.sf.jasperreports.engine.JRException: XPath selection failed. Expression: /out/ns1:Book
	at net.sf.jasperreports.engine.data.JRXmlDataSource.moveFirst(JRXmlDataSource.java:278)
	at net.sf.jasperreports.engine.data.JRXmlDataSource.<init>(JRXmlDataSource.java:188)
	at br.com.empresa.RelatorioXML.main(RelatorioXML.java:29)
Caused by: javax.xml.transform.TransformerException: O prefixo deve ser resolvido para um namespace: ns1
	at org.apache.xpath.compiler.XPathParser.error(XPathParser.java:602)
	at org.apache.xpath.compiler.Lexer.mapNSTokens(Lexer.java:638)
	at org.apache.xpath.compiler.Lexer.tokenize(Lexer.java:356)
	at org.apache.xpath.compiler.Lexer.tokenize(Lexer.java:96)
	at org.apache.xpath.compiler.XPathParser.initXPath(XPathParser.java:108)
	at org.apache.xpath.XPath.<init>(XPath.java:162)
	at org.apache.xpath.CachedXPathAPI.eval(CachedXPathAPI.java:276)
	at org.apache.xpath.CachedXPathAPI.selectNodeList(CachedXPathAPI.java:209)
	at org.apache.xpath.CachedXPathAPI.selectNodeList(CachedXPathAPI.java:189)
	at net.sf.jasperreports.engine.data.JRXmlDataSource.moveFirst(JRXmlDataSource.java:274)
	... 2 more

Qual seria a solução mais elegante para esse tipo de situação?, abrir esse xml e dar um replace nos : antes de disponibilizar para o Jasper?

Fiz um replace no xml mesmo solução mais rápida.