在2个XSD文件中具有相同名称的complexType是典型的吗?
我不熟悉JAXB,也不熟悉XSD。我正在使用Maven JAXB2插件对它们的类进行封装。我是从我需要使用的web服务提供商那里得到的,但我不确定他们的文档中是否有错误,或者我只是没有正确处理复制 所以我有两个XSD文件a.XSD和b.XSD,它们都位于同一个目录中 在a.xsd中,我有一个偏差:在2个XSD文件中具有相同名称的complexType是典型的吗?,xsd,jaxb,Xsd,Jaxb,我不熟悉JAXB,也不熟悉XSD。我正在使用Maven JAXB2插件对它们的类进行封装。我是从我需要使用的web服务提供商那里得到的,但我不确定他们的文档中是否有错误,或者我只是没有正确处理复制 所以我有两个XSD文件a.XSD和b.XSD,它们都位于同一个目录中 在a.xsd中,我有一个偏差: <xs:complexType name="AttributeType"> <xs:sequence> <xs:element ref="Attr
<xs:complexType name="AttributeType">
<xs:sequence>
<xs:element ref="AttributeValue" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="AttributeName" type="xs:string" use="required" />
<xs:attribute name="AttributeNamespace" type="xs:string"
use="required" />
</xs:complexType>
它们看起来和我一模一样,复制它们是没有意义的。但正如我所说,我对这些东西还不熟悉,所以我想确保我没有遗漏什么
谢谢。:) 只要这两个模式具有不同的名称空间,就可以了。查找根架构元素的
targetNamespace
attribute
如果缺少目标命名空间或目标命名空间相同,则可能会出现问题
这看起来像是一个“复制粘贴”的模式设计,不是一个首选的模块化设计,但是如果没有看到模式,就很难做出判断
“复制粘贴”设计不是非典型的,但也不是一种好的做法。服务提供商给了我错误的复制复杂类型的文件。结果,副本失败。谢谢您的回答。我查看了这些文件,它们都定义了targetNamespace,并且URI不同:(
<xs:complexType name="AttributeType">
<xs:sequence>
<xs:element ref="AttributeValue" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="AttributeName" type="xs:string" use="required" />
<xs:attribute name="AttributeNamespace" type="xs:string"
use="required" />
</xs:complexType>
A class/interface with the same name "com.mycompany.voice.gcs.correspondenceservice.v1.AttributeType" is already in use. Use a class customization to resolve this conflict.