Не могу опубликовать это как комментарий!
потому что приложение-потребитель очень тупое и нуждается в префиксе
В этом случае глупое приложение на самом деле не потребляет xml. Взгляните на эту ссылку http://bdoughan.blogspot.com/2010/08/jaxb-namespaces.html и поиграйте с опциями пространства имен. В частности
@XmlSchema (
xmlns = {
@javax.xml.bind.annotation.XmlNs(prefix = "ns1", namespaceURI="http:test"),
@javax.xml.bind.annotation.XmlNs(prefix = "xsd", namespaceURI="http:www.w3.org2001XMLSchema")
},
namespace = "http:test",
elementFormDefault = XmlNsForm.UNQUALIFIED,
attributeFormDefault = XmlNsForm.UNSET
)
используется в файле package-info.java.
@XmlType(namespace="http://www.example.org/type")
Используется в объявлении класса
@XmlElement(namespace="http://www.example.org/property")
Используется на имущество.
Некоторая комбинация или только один из этих вариантов может дать вам то, что вы хотите. Однако вы должны понимать, что вы вступаете в тяжелую битву, когда переходите от действительного xml к xml, который должен содержать определенный префикс пространства имен для всех элементов.