Supprimer ns2 comme préfixe d'espace de noms par défaut

J'ai un fichier qui est imprimé avec un espace de noms par défaut. Les éléments sont imprimés avec un préfixe de ns2, j'ai besoin de cela pour être supprimés, comment il est avec mon code:

<ns2:foo xmlns:ns2="http://namespace" />

comment je veux qu'il soit:

<foo xmlns="http://namespace" />

c'est la façon dont j'ai codé comme ça, quelque chose qui, comme je vois qu'il devrait être suffisant pour le ns2 pour aller loin:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:bar="http://namespace" targetNamespace="http://namespace"
    elementFormDefault="qualified">
...

le package généré-info s'avère comme ceci:

@javax.xml.bind.annotation.XmlSchema(namespace = "http://namespace", 
    elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package com.foo.bar;

J'ai créer le fichier comme ceci:

JAXBContext jaxbContext = JAXBContext.newInstance(generatedClassesPackage);
Marshaller marshaller = jaxbContext.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
marshaller.marshal(new JAXBElement<Foo>(new QName("http://namespace", "Foo"),
Foo.class, rootFoo), outputStream);

generatedClassesPackage est le paquet, où package-info.java et les éléments sont.

L'objet Foo est défini et a des éléments comme ceci::

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "group"
})
@XmlRootElement(name = "Foo")
public class Foo {

    @XmlElement(name = "Group", required = true)
    protected List<Group> group;

Est-il quelque chose que j'ai raté? ou ai-je mal compris comment cela fonctionne?

source d'informationauteur Vegard