Java JAXB问题:nameXmlTransform typeName前缀不起作用
我希望将几个模式转换为Java代码。模式都是相似的;例如,每一个都有一个TXLife根对象。如果每个模式生成的代码具有唯一的类名,那么管理代码就更容易了。我可以使用“包”绑定将每个模式中的代码放入自己的包中,但当我尝试使用“前缀”绑定更改类名时,它会忽略它 以下是我的schema_bindings.xml文件: 当我运行xjc命令时,我得到(我必须修改xjc.bat文件中的类路径才能使它工作): C:\test>\progs\Java\jaxb-ri-2.2.7\bin\xjc.bat-extension-dsrc-bschema\u bindings.xml模式 parsing a schema... compiling a schema... com\mycompany\hi\Holding.java com\mycompany\hi\InquiryLevel.java com\mycompany\hi\KeyedValue.java com\mycompany\hi\OLifE.java com\mycompany\hi\ObjectFactory.java com\mycompany\hi\Policy.java com\mycompany\hi\TXLife.java com\mycompany\hi\TXLifeRequest.java com\mycompany\hi\TransMode.java com\mycompany\hi\TransSubType.java com\mycompany\hi\TransType.java 正在分析架构。。。 正在编译架构。。。 com\mycompany\hi\Holding.java com\mycompany\hi\InquiryLevel.java com\mycompany\hi\KeyedValue.java com\mycompany\hi\OLifE.java com\mycompany\hi\ObjectFactory.java com\mycompany\hi\Policy.java com\mycompany\hi\TXLife.java com\mycompany\hi\TXLifeRequest.java com\mycompany\hi\TransMode.java com\mycompany\hi\TransSubType.java com\mycompany\hi\TransType.java 我所希望的是,每个java文件(以及其中的类)都将被命名为“Hi_”。Jaxb似乎完全忽略了我的“前缀”规范。 我尝试了绑定文件的几种变体。我还使用Ant xjc任务尝试了相同的绑定,结果都是一样的 我可以处理这些结果,但这意味着处理来自一个模式的输入并生成到另一个模式的输出的代码必须使用完全限定的类名来引用对象,这很尴尬。TL;博士Java JAXB问题:nameXmlTransform typeName前缀不起作用,java,jaxb,xsd,Java,Jaxb,Xsd,我希望将几个模式转换为Java代码。模式都是相似的;例如,每一个都有一个TXLife根对象。如果每个模式生成的代码具有唯一的类名,那么管理代码就更容易了。我可以使用“包”绑定将每个模式中的代码放入自己的包中,但当我尝试使用“前缀”绑定更改类名时,它会忽略它 以下是我的schema_bindings.xml文件: 当我运行xjc命令时,我得到(我必须修改xjc.bat文件中的类路径才能使它工作): C:\test>\progs\Java\jaxb-ri-2.2.7\bin\xjc.bat-exte
对应于从命名复杂类型生成的类。您可以通过添加
来执行以下操作,以影响从全局元素生成的类:
完整示例 下面是一个完整的例子 schema.xsd 下面的架构有一个全局元素和一个命名的复杂类型
binding.xml
xjc -b binding.xml schema.xsd
XJC呼叫
xjc -b binding.xml schema.xsd
输出
我们看到,与全局元素对应的类前缀为元素
,与命名复杂类型对应的类前缀为类型
ObjectFactory
和package info
不是域模型的一部分,JAXB利用它们来获取元数据,因此它们的名称不受影响
parsing a schema...
compiling a schema...
com/mycompany/hi/Element_GlobalElement.java
com/mycompany/hi/ObjectFactory.java
com/mycompany/hi/Type_NamedComplexType.java
com/mycompany/hi/package-info.java
看来你在装订方面有很多知识。你能帮我解决这个问题吗?我已经用了两天了。1.2.