1
2つのxmlスキーマファイルschema1.xsd schema2.xsdがあります。 schema2.xsdは、私は、次のようJAXBでschema1.xsdを解析しようとschema1.xsd Whanの内側にインポートされます:名前 'common:DateRange'を(n) 'タイプ定義'コンポーネントに解決できません
Schema schema = factory.newSchema(new StreamSource(schemaString));
私は次の例外だ:Schema1.xsd
org.xml.sax.SAXParseException; lineNumber: 12; columnNumber: 62; src-resolve: Cannot resolve the name 'common:DateRange' to a(n) 'type definition' component.
を
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.example.com" xmlns="http://www.example.com"
xmlns:common="http://www.example.com/common">
<xs:import namespace="http://www.example.com/common" schemaLocation="schema2.xsd" />
<xs:element name="exType" type="ExampleType" />
<xs:complexType name="ExampleType">
<xs:sequence>
<xs:sequence minOccurs="0">
<xs:element name="activeDates" type="common:DateRange" />
</xs:sequence>
</xs:sequence>
</xs:complexType>
</xs:schema>
Schema2.xsd:
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.example.com/common"
targetNamespace="http://www.example.com/common">
<xs:complexType name="DateRange">
<xs:sequence>
<xs:element name="startDate" type="xs:dateTime"/>
<xs:element name="endDate" type="xs:dateTime"/>
</xs:sequence>
</xs:complexType>
</xs:schema>