[英]jaxb xsd schemas reusing
假设我有三个xsd架构:CommonSchema.xsd,A.xsd,B.xsd。 在CommonSchema.xsd中,我有一些要在A.xsd和B.xsd中重用的元素。 当然,我想重用org.jvnet.jaxb2.maven2插件生成的代码。 我想在生成的Java代码中获得如下内容:
A extends CommonSchema {...}
B extends CommonSchema {...}
或从A.java和B.java到CommonSchema.java的私有引用
最好的方法是什么? 提前致谢
您照常编写通用XML模式“ com.xsd”。 假设它包含一个复杂的TypeType类型,并且其目标名称空间是“ a:b”。 然后,另一个使用“ com.xsd”中的内容的XML Schema文件将使用s.th。 喜欢
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:ns="a:b"
targetNamespace="x:y">
<xs:import schemaLocation="com.xsd" namespace="a:b"/>
<xs:complexType name="TypeX2">
<xs:sequence>
<xs:element name="name" type="ns:TypeCommon"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
类层次结构是由复杂类型扩展产生的,例如
<xs:complexType name="TypeA">
<xs:complexContent>
<xs:extension base="ns:TypeCommon">
<xs:sequence>
<xs:element name="foo" type="xs:string"/>
</xs:sequence>
<xs:attribute name="bar" type="xs:int" fixed="1"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.