复杂类型名称 - 不区分大小写

时间:2011-12-29 13:32:53

标签: xsd

我有一个复杂的类型定义如下:

<xs:complexType name="SqlQuery">
        <xs:all>
            <xs:element name="Connector" type="xs:string" minOccurs="0"/>
            <xs:element name="Query" type="xs:string" minOccurs="0"/>
        </xs:all>
        <xs:attribute name="CommandTimeOut" type="xs:nonNegativeInteger"/>
</xs:complexType>

和元素定义如下:

<xs:element name="SQLQuery" type="SqlQuery" />

我希望元素名称=“SQLQuery”不区分大小写,因此所有“SQLQuery”组合都是合法的: 的SQLQuery, SqlQuery类, sqlquery等。

有人知道怎么做吗?

感谢。

3 个答案:

答案 0 :(得分:0)

我能想到的唯一选择是使用xsd:choice以及您想要支持的所有可能组合。为什么不能只使用sql-query作为元素名称?提供所有这些替代方案有什么意义?

答案 1 :(得分:0)

有点hackish但您可以在使用xsd架构进行验证之前将xml元素转换为小写。

答案 2 :(得分:0)

您应该定义替换。 =)

<xs:element name="sqlquery" type="xs:string"/>
<xs:element name="SQLQuery" substitutionGroup="sqlquery"/>
<xs:element name="SQLQUERY" substitutionGroup="sqlquery"/>