title: JAXBContext and @XmlNsForm annotation
body: <p>Please shed some light on JAXBContext configutation. 
  Given:</p>
  
  <ul>
  <li>customer library <code>com.mycompany.user01234</code> with several
  JAXB-annotated classes</li>
  <li>all classes are simple POJOs located in the same package</li>
  <li>classes are annotated by <code>@XmlType</code> </li>
  </ul>
  
  <p>Customer marshals instance of <code>com.mycompany.user01234.UserClass1.class</code> to the server via web service endpoint. On the server side I do the following:</p>
  
  <pre><code>JAXBContext jbc = JAXBContext.newInstance("com.mycompany.user01234")
  Unmarshaller um = jbc.createUnmarshaller();
  JAXBElement&lt;Object&gt; element = um.unmarshal(source, Object.class);
  Object customerInput = element.getValue();
  </code></pre>
  
  <p>And it works fine <strong>ONLY</strong> if I patch customer library with following <code>package-info.java</code>:</p>
  
  <pre><code>@XmlSchema(elementFormDefault = XmlNsForm.QUALIFIED)
  package com.mycompany.user01234;
  </code></pre>
  
  <p>To my shame I havent found any clear explanation of what this <code>@XmlNsForm</code> annotation is and how it affects unmarshalling process. This is the first question.</p>
  
  <p>The second question is whether it is possible (in the given layout) to put that <code>QUALIFIED</code> value into some properties or defaults for <code>JAXBContext</code> or use other non-declarative means allowing to get rid of <code>package-info.java</code>.</p>
  
  <p>Many thanks in advance!</p>