The short answer is to use XmlOptions to configure the prefixes used in your 
XmlBeans output. Something like the following will cause it to use xxx for 
yyy:aaa:bbb:ccc. XmlBeans output is NOT tied to the prefixes you declare in 
your schema.

HashMap ns = new HashMap();
ns.put("yyy:aaa:bbb:ccc", "xxx");
// ns.put("http://ccc.bbb.aaa";, "orig");
// ns.put("urn:some.other.namespace", "pfxUwnt");
xmlOptions.setSaveSuggestedPrefixes(ns);

A longer answer is provided here 
http://codebrane.com/blog/2005/12/12/xmlbeans-and-namespaces/

From: Michael Bishop [mailto:bisho...@gmail.com]
Sent: Monday, July 28, 2014 2:28 PM
To: user@xmlbeans.apache.org
Subject: Wrong namespace prefix in generated documents?

Hello all. I've recently changed the namespace of my schema. Now I'm getting 
the wrong prefix name and I'm not sure why.
Old namespace was:

xmlns:xxx="http://ccc.bbb.aaa";
New namespace is:

xmlns:xxx="yyy:aaa:bbb:ccc"
With the old namespace, the prefix for elements was xxx. Now with the new 
namespace, the prefix fpr elements is yyy. It seems switching from URL form to 
URI form has caused the processor to start using the first part of the URI as 
the prefix? This happens when I call the static Factory.newInstance() on 
generated classes. Older documents with the correct prefix still parse properly.
It's not a big deal since the namespace is intact and things work as they 
should, but I can't figure out why this is happening. I don't declare xmlns:yyy 
anywhere in the schema or xsdconfig files.
Michael Bishop

Reply via email to