Java JAXB XJC文件生成-如何更改名称空间

Java JAXB XJC文件生成-如何更改名称空间,java,namespaces,jaxb,xjc,xjb,Java,Namespaces,Jaxb,Xjc,Xjb,因此,我使用binding.xjb文件从XML文件生成类。我的主要问题是每个XML文件都是这样开始的: <xs:schema xmlns="http://www.kfk.de/bokes" xmlns:xs="http://www.w3.org /2001/XMLSchema" targetNamespace="http://www.kfk.de/bokes" elementFormDefault="qualified" attributeFormDefault="unqualified

因此,我使用binding.xjb文件从XML文件生成类。我的主要问题是每个XML文件都是这样开始的:

 <xs:schema xmlns="http://www.kfk.de/bokes" xmlns:xs="http://www.w3.org
/2001/XMLSchema" targetNamespace="http://www.kfk.de/bokes"
elementFormDefault="qualified" attributeFormDefault="unqualified">

以及生成的包-info.java-

然而,我不想让targetNamespace成为这样,我只想将其更改为“bokes”,但我仍然不明白如何在bindings.xjb中更改它 我尝试使用:

       <jxb:bindings>
          <namespace:prefix name="bokes"/>
       </jxb:bindings>


但它不起作用

是否确实要更改
targetNamespace
?不是
preifx
?为什么需要这个?实际上我需要更改整个部分,xmlns=“bokes”以及targetNamespace,因为我用来生成类的XML文件都带有名称空间,而且只能是bokes,我不能在XML文件中更改它,因为我们从提供程序下载它们,所以编辑名称空间的唯一方法是通过bindings.xjb,我还尝试将名称空间设置为JAXB2封送器,但它在java8中不起作用。所以您的XML不符合您的模式,是吗?虽然您可以通过
jaxb2 annotate plugin
更改生成的注释,但实际上我建议在编译之前对下载的模式进行修补。该提供程序不符合通用标准,这就是为什么我必须为该提供程序手动调整它,这就是为什么我要寻找一个选项。我将尝试查看annotate pluginProvider—发送XML文件的那个?如果是这样,我会通过使用XMLFilter或类似工具更改名称空间来预处理XML。