如何通过 JAXB 外部绑定自定义文件设置 @XmlType.namespace
How to set @XmlType.namespace via JAXB External Bindings Customization file
我正在使用 JAXB 处理多个 XML 文档。
我的问题是我无法更改相关的 xsd,也不想修改生成的类。
我想做的是使用 JAXB 绑定自定义文件来实现所需的结果。
我需要做的就是执行与使用 @XmlType.namespace
注释相同的操作。
是否可以通过 JAXB 绑定自定义文件设置 @XmlType.namespace
注释?
免责声明:我是 jaxb2-annotate-plugin
.
的作者
您可以使用 jaxb2-annotate-plugin
向您的架构派生 类 添加任意注释。 @XmlType
将类似于:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<jaxb:bindings
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
xmlns:annox="http://annox.dev.java.net"
jaxb:extensionBindingPrefixes="xjc annox"
version="2.1">
<jaxb:bindings schemaLocation="schema.xsd" node="/xs:schema">
<jaxb:bindings node="xs:complexType[@name='someType']">
<annox:annotateClass>@javax.xml.bind.annotation.XmlType(namespace="urn:test")</annox:annotateClass>
</jaxb:bindings>
</jaxb:bindings>
</jaxb:bindings>
如果您那里已有 @XmlType
,自定义注释将 "merged" 放入其中。
我正在使用 JAXB 处理多个 XML 文档。
我的问题是我无法更改相关的 xsd,也不想修改生成的类。
我想做的是使用 JAXB 绑定自定义文件来实现所需的结果。
我需要做的就是执行与使用 @XmlType.namespace
注释相同的操作。
是否可以通过 JAXB 绑定自定义文件设置 @XmlType.namespace
注释?
免责声明:我是 jaxb2-annotate-plugin
.
您可以使用 jaxb2-annotate-plugin
向您的架构派生 类 添加任意注释。 @XmlType
将类似于:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<jaxb:bindings
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
xmlns:annox="http://annox.dev.java.net"
jaxb:extensionBindingPrefixes="xjc annox"
version="2.1">
<jaxb:bindings schemaLocation="schema.xsd" node="/xs:schema">
<jaxb:bindings node="xs:complexType[@name='someType']">
<annox:annotateClass>@javax.xml.bind.annotation.XmlType(namespace="urn:test")</annox:annotateClass>
</jaxb:bindings>
</jaxb:bindings>
</jaxb:bindings>
如果您那里已有 @XmlType
,自定义注释将 "merged" 放入其中。