[英]Referencing any external java class from xsd
我正在創建xsd文件,並使用JAXB從這些xsd文件轉換Java類。 在以下示例中,ClassB是在某個jar文件中定義/聲明的,我想在我的xsd中像這樣引用它:
<complexType name="ClassA">
<sequence>
<element name="objB" type="ClassB" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
可以嗎? 最好的訪問方式是什么?
這應該工作:
<xs:complexType name="ClassBType" abstract="true">
<xs:annotation>
<xs:appinfo>
<jaxb:class name="ClassB" implClass="fully.qualified.package.name.ClassB"/>
</xs:appinfo>
</xs:annotation>
</xs:complexType>
<!--
-->
<xs:complexType name="ClassA">
<xs:complexContent>
<xs:extension base="ClassBType">
.
.
Any optional <xs:attribute> elements
.
.
</xs:extension>
</xs:complexContent>
</xs:complexType>
生成的Java代碼將創建一個名為ClassA.java的文件,如下所示:
public class ClassA extends ClassB {
.
.
.
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.