Как изменить / отобразить заранее заданные пространства имен (xmlns: ns1), созданный JAXB с новым префиксом? - PullRequest
0 голосов
/ 03 ноября 2011

Я использовал JAXB для генерации классов Java, и я могу создать чистый XML-файл с маршаллингом.

Я бы хотел изменить предопределенные пространства имен с новым префиксом (для моего случая "cvd"). Как я могу сопоставить этот префикс с автоматически созданными ns1, ns2?

Мой текущий XML:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<msml xmlns:ns1="cvd" version="1.1">
    <createconference deletewhen="nocontrol" name="token">
        <audiomix id="amix01"/>
        <videolayout type="text/msml-basic-layout" id="vmix01">
            <selector si="5s" method="vas" id="kutyarrr">
                <root ns1:bpp="200" ns1:mpi="3" ns1:bandwidth="128" ns1:codec="H263" size="CIF"/>
            </selector>
        </videolayout>
    </createconference>
    <join id2="conn:toTag" id1="conf:token">
        <stream media="audio">
            <gain amt="0"/>
        </stream>
        <stream media="video"/>
    </join>
</msml>

XML мне нужен:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<msml xmlns:cvd="cvd" version="1.1">
    <createconference deletewhen="nocontrol" name="token">
        <audiomix id="amix01"/>
        <videolayout type="text/msml-basic-layout" id="vmix01">
            <selector si="5s" method="vas" id="kutyarrr">
                <root cvd:bpp="200" cvd:mpi="3" cvd:bandwidth="128" cvd:codec="H263" size="CIF"/>
            </selector>
        </videolayout>
    </createconference>
    <join id2="conn:toTag" id1="conf:token">
        <stream media="audio">
            <gain amt="0"/>
        </stream>
        <stream media="video"/>
    </join>
</msml>
...