1

JAXB を使用して XSD から Java クラスを生成します。JAXB は、含まれている xsd からグループ要素を識別できません。単純な要素は正常に動作します。エラー: org.xml.sax.SAXParseException: 定義されていない単純型または複合型

    <?xml version="1.0" encoding="UTF-8"?>
<!-- Schema for itinerary response -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://www.cleartrip.com/air/" xmlns:air="http://www.cleartrip.com/air/">
  <xs:include schemaLocation="air-common.xsd"/>

   ***<xs:element name="itinerary" type="air:TripType"/>***
</xs:schema>

air-common.xsd

    <?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified" 
 targetNamespace="http://www.cleartrip.com/air/" 
 xmlns:air="http://www.cleartrip.com/air/">
  <xs:simpleType name="NameType">
    <xs:annotation>
      <xs:documentation>Defining a type for a name</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:maxLength value="27"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="AirportCodeType">
    <xs:annotation>
      <xs:documentation>Airport codes</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:pattern value="[A-Z0-9]{3}"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PhoneNumberType">
    <xs:annotation>
      <xs:documentation>Phone numbers</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:maxLength value="50"/>
    </xs:restriction>
  </xs:simpleType>
  ***<xs:group name="TripType">
    <xs:annotation>
      <xs:documentation>Trip type -- used to display an itinerary or trip</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="0" ref="air:trip-id"/>
      <xs:element minOccurs="0" ref="air:created-at"/>
      <xs:element ref="air:pricing-summary"/>
      <xs:element ref="air:flights"/>
      <xs:element ref="air:pax-pricing-info-list"/>
      <xs:element ref="air:pax-info-list"/>
      <xs:element ref="air:contact-detail"/>
      <xs:group minOccurs="0" ref="air:PaymentDetailResponse"/>
      <xs:element minOccurs="0" ref="air:ancillary-data"/>
    </xs:sequence>
  </xs:group>***
</xs:schema>

コード生成はすべての単純型で正常に機能します。問題は xs:group name="TripType" のみです。何が問題なのか。

4

0 に答える 0