[英]Generate Java classes from multiple XSDs with XJC
我有两个xsd文件:
base.xsd :
<schema
targetNamespace="http://www.myorg.com/base"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
xmlns="http://www.w3.org/2001/XMLSchema">
...
<complexType name="NrmClass">
...
</complexType>
...
</schema>
main.xsd是我们想要使用base.xsd中的类型的模式
<schema
targetNamespace="http://www.myorg.com/main"
elementFormDefault="qualified"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:xn="http://www.myorg.com/base">
<import namespace="http://www.myorg.com/base"/>
...
<element>
<complexType>
<complexContent>
<extension base="xn:NrmClass">
...
</extension>
</complexContent>
</complexType>
</element>
...
</schema>
当我尝试编译两者时,我收到以下错误:
> xjc base.xsd main.xsd
parsing a schema...
[ERROR] src-resolve: Cannot resolve the name 'xn:NrmClass' to a(n) 'type definition' component.
line 48 of file:/main.xsd
这有什么不对?
您想尝试为要导入的XSD指定文件,如下所示:
<xsd:import namespace="http://www.myorg.com/base" schemaLocation="base.xsd"/>
如果你将它们并排放在一起,这种方法很有效。 这样你就可以在一个操作中编译它们。
如果您想单独运行xjc(就像它们是作为单独的模块构建的那样),那么您可以使用剧集文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.