【问题标题】:Schema and xml, elements with same name diffrent types,Schema和xml,同名元素不同类型,
【发布时间】:2014-09-15 16:38:04
【问题描述】:

所以我正在构建一个包含许多较小模式文件的大型模式文件,我想知道是否有一个具有相同名称的元素获得不同类型,以及是否可以通过命名空间以任何方式实现它。

<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>

【问题讨论】:

    标签: xml xsd schema


    【解决方案1】:

    不,“元素声明一致”约束(在 XSD 1.0 和 XSD 1.1 中都存在)阻止您拥有两个具有相同名称和不同类型的同级元素。

    当然,如果元素位于不同的命名空间中,则它们不被视为“具有相同名称”,因此此约束不适用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-24
      • 2012-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      相关资源
      最近更新 更多