cristiano.andrade 4 de jul. de 2008
Você vai ter que fazer uma classe que extende a NameSpacePrefixMapper
exemplo:
public class NameSpacePrefixMapperImpl extends NamespacePrefixMapper {
@ Override
public String getPreferredPrefix ( String namespaceURI , String sugestion , boolean requiredPrefix ) {
if ( namespaceURI . equals ( "http://meunamespace" )) {
return "C" ;
}
return sugestion ;
}
e no marshaller vc coloca assim:
Marshaller m = ctx.createMarshaller();
...
...
m.setProperty("com.sun.xml.bind.namespacePrefixMapper", new NameSpacePrefixMapperImpl())
...
...
[]s
mmilanez 26 de jan. de 2010
cristiano.andrade:
Você vai ter que fazer uma classe que extende a NameSpacePrefixMapper
exemplo:
public class NameSpacePrefixMapperImpl extends NamespacePrefixMapper {
@ Override
public String getPreferredPrefix ( String namespaceURI , String sugestion , boolean requiredPrefix ) {
if ( namespaceURI . equals ( "http://meunamespace" )) {
return "C" ;
}
return sugestion ;
}
e no marshaller vc coloca assim:
Marshaller m = ctx.createMarshaller();
...
...
m.setProperty("com.sun.xml.bind.namespacePrefixMapper", new NameSpacePrefixMapperImpl())
...
...
[]s
Aqui tem um jeito mais fácil de se fazer http://www.func.nl/community/knowledgebase/customize-namespace-prefix-when-marshalling-jaxb . O único problema é que ele remove o namespace e adiciona um em branco… Após esta etapa, um replace deste namespace para o adequado precisa ser feito.