XML 模式在两种不同的情况下有两种同名的元素类型
XML schema has two element types with same name in two different cases
遗留应用程序之一 XML 模式定义在不同情况下使用相同名称定义了两种类型。
<xsd:complexType name="effectType">
<xsd:complexType name="EFFECTType">
模式验证工作正常。但是当我使用 JAXB 生成 Java 对象时,它会抱怨不能用 same.
生成两个 类
由于现有客户使用此架构,我无法更改它。是否有任何解决方法,以便它允许我使用 JAXB 为模式生成 Java 对象?
您可以使用以下绑定来更改生成的名称 class。
<bindings version="2.0" xmlns="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"
xmlns:namespace="http://jaxb2-commons.dev.java.net/namespace-prefix">
<bindings schemaLocation="../path of your xsd/schema.xsd">
<bindings node="//xsd:schema//xsd:complexType[@name='EFFECTType']">
<class name="EffectTypeTwo" />
</bindings>
</bindings>
</bindings>
遗留应用程序之一 XML 模式定义在不同情况下使用相同名称定义了两种类型。
<xsd:complexType name="effectType">
<xsd:complexType name="EFFECTType">
模式验证工作正常。但是当我使用 JAXB 生成 Java 对象时,它会抱怨不能用 same.
生成两个 类由于现有客户使用此架构,我无法更改它。是否有任何解决方法,以便它允许我使用 JAXB 为模式生成 Java 对象?
您可以使用以下绑定来更改生成的名称 class。
<bindings version="2.0" xmlns="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"
xmlns:namespace="http://jaxb2-commons.dev.java.net/namespace-prefix">
<bindings schemaLocation="../path of your xsd/schema.xsd">
<bindings node="//xsd:schema//xsd:complexType[@name='EFFECTType']">
<class name="EffectTypeTwo" />
</bindings>
</bindings>
</bindings>