使用schemagen和xjc时如何维护包结构

时间:2013-11-17 02:10:45

标签: java xml jaxb xsd

我是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>

0 个答案:

没有答案