我有两个xsd result1.xsd和result2.xsd,其中不同的根元素是Result1,Result2和commons_type.xsd,它们都包含在两个XSD中。
Result1.xsd :
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.test.com"
xmlns="http://www.test.com"
elementFormDefault="qualified">
<xs:include schemaLocation="common_types.xsd"/>
<xs:element name="Result1">
<xs:complexType>
<xs:sequence>
<xs:element name="startTime" type="xs:dateTime"/>
<xs:element name="endTime" type="xs:dateTime" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Result2.xsd
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.test.com"
xmlns="http://www.test.com"
elementFormDefault="qualified">
<xs:include schemaLocation="common_types.xsd"/>
<xs:element name="Result2">
<xs:complexType>
<xs:sequence>
<xs:element name="passingTime" type="xs:dateTime"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
commons_type.xsd
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.test.com"
xmlns="http://www.test.com"
elementFormDefault="qualified">
<xs:import namespace="http://www.w3.org/2001/XMLSchema"/>
<xs:simpleType name="idType">
<xs:restriction base="xs:string">
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="unitType">
<xs:restriction base="xs:string">
</xs:restriction>
</xs:simpleType>
</xs:schema>
我使用XMLBeans scomp生成了两个jar result1.jar和result2.jar并在eclipse中导入这些jar。
我创建了两个文档对象
Result1 res1 = Result1.factory.newInstance()
Result2 res2 = Result2.factory.newInstance()
现在,我想从res1访问startTime和endTime,从res2访问times。 但是,我也获得了res2的startTime和endTime。
预计会:
res1.setStartTime() ,res1.setEndTime() and res2.setPassingTime()
实际是:
res1.setStartTime() ,res1.setEndTime() and res2.setStartTime() ,res2.setEndTime()