我是JAX B的新手。我创建了一个具有以下结构的项目:
src-
entity-
Person
property-
Address
我使用命令
生成xsd文档C:\workspace\JAXTest\src>schemagen entity\Person.java property\Address.java
我现在在src文件夹中看到schema1.xsd,但它没有任何包信息。所以,如果我使用xjc生成类,我会在同一个文件夹中获取所有类。
C:\workspace\JAXTest\src>xjc schema1.xsd
parsing a schema...
compiling a schema...
generated\Address.java
generated\ObjectFactory.java
generated\Person.java
可以做什么使xsd可以包含包信息,以便生成的类遵循用于创建xsd的类的结构。
提前致谢!
编辑:
我正在努力,没有特别的要求。我只是想正确学习XSD-Class和Class-XSD转换。此外,我发现我可以使用jax自定义来指定全局包名称,但它不适用于单个类。基本上,这不会将我的Person放在PersonPackage包中。
<xs:complexType name="person">
<xs:annotation>
<xs:appinfo>
<jaxb:package name="PersonPackage"/>
</xs:appinfo>
</xs:annotation>
<xs:sequence>
<xs:element name="address" type="address" minOccurs="0">
</xs:element>
<xs:element name="name" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>