Удалить ns2 в качестве префикса пространства имен по умолчанию

У меня есть файл, который печатается с пространством имен по умолчанию. Элементы печатаются с префиксом ns2, мне нужно это удалить, как это происходит с моим кодом:

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

как я хочу, чтобы это было:

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

Вот как я это кодировал, что, как я вижу, должно быть достаточно для ns2, чтобы уйти:

<?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">
...

сгенерированная информация о пакете получается так:

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

Я создаю файл так:

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);

generateClassesPackage - это пакет, в котором находятся package-info.java и элементы.

Объект Foo определен и имеет такие элементы:

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

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

Это то, что я пропустил? или я неправильно понял, как это работает?

Ответы на вопрос(4)

Ваш ответ на вопрос