Schema和xml,具有相同名称的不同类型的元素,

时间:2014-09-15 05:51:10

标签: xml xsd schema

所以即时构建一个大型Schema文件,它需要很多较小的模式文件,我想知道是否有一个同名的元素获得不同的类型,以及它是否可以以任何方式获得命名空间。

<ele2>
    <Test Name="Timetable" important="no">
        <Class>className.something</Class> 
    </Test>
    <Test Name="Database" important="yes">
        <Class>className.something</Class>
        <Database>jk</Database>
    </Test>
</ele2>

我想知道是否有多个Test元素可以从模式文件中获取不同的类型

<xs:schema elementFormDefault="qualified"  
 xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:include schemaLocation="file:///C:\Users\Desktop\Timetable.xsd" />
<xs:include schemaLocation="file:///C:\Users\Desktop\Database.xsd" />

<xs:element name="ele1">
    <xs:complexType>
        <xs:sequence>
            <xs:element name="ele2">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="Test" type="TimetableType" />
                        <xs:element name="Test" type="DatabaseType" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
</xs:element>

1 个答案:

答案 0 :(得分:0)

不,&#34;元素声明一致&#34;约束(在XSD 1.0和XSD 1.1中都存在)会阻止您拥有两个具有相同名称和不同类型的兄弟元素。

当然,如果元素位于不同的名称空间中,那么它们不会被视为&#34;具有相同的名称&#34;,因此该约束不适用。