xjc 2.2.4-2 を使用して Java クラスを生成します。私は2つのxsdファイル、message.xsdとtypeDef.xsdを持っています。バインディングファイルはschema.xjbですが、以下のコマンドを実行すると、message.xsdだけが生成されました。
bash-3.2$ xjc -d jaxb -b schemas/ schemas/*.xsd -verbose
スキーマの解析中... スキーマ
のコンパイル中...[情報] 生成コード
不明な場所
org/openuri/ChangeOfferingStateType.java
org/openuri/ObjectFactory.java
org/openuri/package-info.java
typeDef.xsd が生成されないのはなぜですか?
これが私の xsd および xjb ファイルです。
bash-3.2$ cat schemas/message.xsd
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:gsta="http://gsta.com/neva2/externalService"
targetNamespace="http://www.openuri.org/"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:import namespace="http://gsta.com/neva2/externalService" schemaLocation="typeDef.xsd" />
<xs:complexType name="ChangeOfferingStateType">
<xs:sequence>
<xs:element name="workFlowNo" type="xs:string" minOccurs="0" />
<xs:element name="externalNumber" type="gsta:ExternalNumberType" />
<xs:choice>
<xs:element name="offeringSpecId" type="gsta:SpecIdType" />
<xs:element name="productSpecId" type="gsta:SpecIdType" />
</xs:choice>
<xs:element name="state" type="gsta:SetStateCode" />
<xs:element name="openTime" type="xs:date" minOccurs="0" />
<xs:element name="recentModifyReason" type="gsta:RecentModifyReasonType" />
</xs:sequence>
</xs:complexType>
</xs:schema>
bash-3.2$ cat schemas/typeDef.xsd
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:gsta="http://gsta.com/neva2/externalService"
targetNamespace="http://gsta.com/neva2/externalService"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:simpleType name="ExternalNumberType">
<xs:restriction base="xs:string">
<xs:maxLength value="20"></xs:maxLength>
<xs:minLength value="1"></xs:minLength>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="SpecIdType">
<xs:restriction base="xs:long">
<xs:minInclusive value="0"></xs:minInclusive>
<xs:maxInclusive value="999999"></xs:maxInclusive>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="SetStateCode">
<xs:restriction base="xs:int">
<xs:enumeration value="0" />
<xs:enumeration value="1" />
<xs:enumeration value="2" />
<xs:enumeration value="3" />
<xs:enumeration value="4" />
<xs:enumeration value="5" />
<xs:enumeration value="7" />
<xs:enumeration value="8" />
<xs:enumeration value="11"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="RecentModifyReasonType">
<xs:restriction base="xs:string">
<xs:maxLength value="64"></xs:maxLength>
<xs:minLength value="1"></xs:minLength>
</xs:restriction>
</xs:simpleType>
</xs:schema>
bash-3.2$ cat schemas/schemas.xjb
<?xml version="1.0" encoding="UTF-8"?>
<jaxb:bindings xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:xs="http://www.w3.org/2001/XMLSchema" jaxb:version="2.0">
<jaxb:bindings schemaLocation="message.xsd" node="/xs:schema">
<jaxb:schemaBindings>
<jaxb:package name="org.openuri"/>
</jaxb:schemaBindings>
</jaxb:bindings>
<jaxb:bindings schemaLocation="typeDef.xsd" node="/xs:schema">
<jaxb:schemaBindings>
<jaxb:package name="com.gsta.neva2.externalservice"/>
</jaxb:schemaBindings>
</jaxb:bindings>
</jaxb:bindings>