2011-12-29 79 views
2

我有一個複雜類型定義如下:複雜類型名稱 - 不區分大小寫

<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

可否請您接受的答案,如果答案的一些以任何方式幫助你的? – 2017-06-13 08:01:32

回答

0

我能想到的唯一選擇是使用xsd:choice以及您想要支持的所有可能的組合。爲什麼你不能只使用sql-query作爲元素名稱?提供所有這些選擇的重點是什麼?

+0

嗨, 提供所有替代品的關鍵在於給用戶最大的自由度,無論他們想要什麼。我不想給用戶寫一個「False」而不是「false」的錯誤。 你能告訴我如何使用xs:choice來獲得該行爲嗎? – 2012-01-01 09:28:46

0

有點駭人,但是您可以在使用xsd模式進行驗證之前將您的xml元素轉換爲小寫字母。

0

您應該定義替換。 =)

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