OK, thanks for the information. Unfortunately, this doesn't seem to fix the problem. I thought I'd tried the steps outlined in the linked blog before, but I did it again, just in case.
Here's the full schema definitions: Old: <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" *xmlns:xxx="http://..."* targetNamespace="http://..." elementFormDefault="qualified"> New: <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" *xmlns:xxx="yyy:aaa:bbb..."* targetNamespace="yyy:..." elementFormDefault="qualified"> As you can see, in both schemas, I'm declaring a namespace of *xxx*, but it's only honored in the old schema. The only thing that's changed between schemas is the namespace. I had a request from our customer to change it. However, a call to: MyGeneratedClass.Factory.newInstance() results in a document that looks like this: <yyy:root xmlns:yyy="yyy:aaa:bbb..."/> Applying a namespace map to an XmlOptions object doesn't seem to have any effect. I've tried it with the call to MyGeneratedClass.Factory.newInstance() and a call to MyGeneratedInstance.xmlText(): XmlOptions options = new XmlOptions(); Map<String, String> nsMap = new HashMap<>(); nsMap.put("yyy:aaa:bbb", "xxx"); options.setSaveSuggestedPrefixes(nsMap); // No change to output. MyGeneratedClass.Factory.newInstance(options); MyGeneratedInstance.xmlText(options); I guess I have two questions: 1. Why is the prefix declaration in my schema being ignored? *xmlns:xxx* has never changed. It's only the value of the namespace that has changed. 2. I find it odd that Map has no effect either. Is there anything else I should be looking into? I'm not sure if my schema is somehow "wrong" or I have a setting in XMLBeans misconfigured. It's becoming more than just an annoying problem. XPath statements are now broken since they employ the *xxx* prefix. I'm not sure where to start tracking down the issue. Both the guidance and the docs seem straightforward to me, yet I can't get it to work properly. Any guidance is appreciated. I'm on XMLBeans 2.5.0. If there's anything more I can provide, I can do so. Michael Bishop On Fri, Aug 1, 2014 at 12:10 PM, Cezar Andrei <cezar.and...@oracle.com> wrote: > If you don't provide a prefix, XmlBeans will automatically pick a prefix, > and it tries to pick one that is part of the URI. > > Cezar > > > > On 07/28/2014 01:27 PM, Michael Bishop wrote: > >> 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 >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@xmlbeans.apache.org > For additional commands, e-mail: user-h...@xmlbeans.apache.org > >