我有一个复杂的类型定义如下:
<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等。
有人知道怎么做吗?
感谢。
答案 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"/>