Estoy implementando un subprotocolo homebrew de XMPP, y estoy usando la combinación de StAX y JAXB para analizar sintácticamente/ordenar los mensajes. Y cuando Marshall un mensaje que terminan con un montón de declaraciones de espacios de unneded:JAXB adjuntando declaraciones de espacio de nombres innecesarias a las etiquetas
<ns2:auth xmlns:ns2="urn:ietf:params:xml:ns:ilf-auth"
xmlns:ns4="ilf:iq:experiment:power" xmlns:ns3="ilf:iq:experiment:init"
xmlns:ns5="ilf:iq:experiment:values" xmlns:ns6="ilf:iq:experiment:result"
xmlns:ns7="ilf:iq:experiment:stop" xmlns:ns8="ilf:iq:experiment:end">
[email protected]</ns2:auth>
en lugar de:
<ns:auth xmlns:ns="urn:ietf:params:xml:ns:ilf-auth>[email protected]</ns:auth>
¿Hay alguna manera de convertir la de?
Todos estos espacios de nombres se usan en diferentes mensajes que JAXB ordena o desasigna, pero cada mensaje usa un espacio de nombre.
PS. No soy un experto en XML, por favor no me desanime si cometí un error estúpido;)
Esto es completamente inaceptable para los documentos legales que deben conservarse durante el transporte para mantener su integridad. JAXB es una forma de hacer que las cosas simples sean más complejas –
JAXB hace que el análisis/producción de XML sea más fácil. Hice un proyecto que usa tanto JAXB como dom4j (en dos partes diferentes) y la diferencia es grande. –