Можно ли настроить префикс пространства имен, который JAXB использует при сортировке в строку?

Например, у меня есть простая схема, которая импортирует другую схему. Вторая схема (urn: just: attribute, just-attribute.xsd) просто определяет группу атрибутов.

<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" 
    targetNamespace="http://www.example.org/MySchema"
    xmlns:tns="http://www.example.org/MySchema" 
    elementFormDefault="qualified"
    xmlns:ja="urn:just:attributes">

    <import schemaLocation="just-attributes.xsd" namespace="urn:just:attributes"/>

    <element name="MyElement">
        <complexType>
            <attributeGroup ref="ja:AttributeGroup"/>
        </complexType>
    </element>
</schema>

Я использую задачу Ant Metro xjc для генерации классов из этой схемы. Проблема, с которой я сталкиваюсь, заключается в том, что стороннее приложение, с которым я взаимодействую, является специфическим для пространств имен. В этом случае мне нужно значение String, поэтому я должен его сериализовать. Я использую шаблонный код для этого.

private static <T> String marshal(T object) throws JAXBException{
    OutputStream outputStream = new ByteArrayOutputStream();
    JAXBContext jaxbContext = JAXBContext.newInstance(object.getClass());
    Marshaller marshaller = jaxbContext.createMarshaller();
    marshaller.marshal(object, outputStream);
    return outputStream.toString();
}

Что дает мне что-то вроде

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:MyElement xmlns:ns1="urn:just:attributes" xmlns:ns2="http://www.example.org/MySchema" ns1:attrib1="1234" ns1:attrib2="5678"/>

У меня проблема в том, что эта третья сторона ожидает что-то вродеxmlns:thirdpartyns="urn:just:attributes"то есть они разбираются на основеимя дано в пространство имен. Этоимеет быть "третьими сторонами" для их программного обеспечения для работы.

Кто-нибудь знает способ обойти это, если не считать поиск и замену в результирующей строке? Возможно, пользовательское правило связывания?

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

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