2010-05-15 253 views
1

限制我的XSD驗證中的特殊字符,我可以處理某些帶有此模式的字符「([a-zA-Z0-9_。'!@#$%^ *() _ + = {} | /:;,> /`〜])+ 「XSD中的特殊字符限制規則

但不能低於處理:

」 & ' < \ ® ™

有什麼想法?

也不能用[^]模式處理它們

回答

3

我認爲你需要使用字符實體。例如對於&符號爲&amp;,對於&lt;爲較少。 XML Schema是XML,您必須遵守XML規則。擴展您的問題以真正向我們展示架構上下文將會有所幫助。

+0

好的,thnx,我能夠處理它們,但仍然沒有運氣讓字符®™ – Himanshu 2010-05-16 07:41:00

+0

您需要爲這兩個字符使用#轉義碼,所以&#x2122;對於TM和&#x00ae; (R)。 – 2012-08-16 03:23:50

5

你要定義擴展字符串類型,並添加限制用圖案 喜歡的東西

<xs:element name="your_element"> 
    <xs:simpleType> 
    <xs:restriction base="xs:string"> 
     <xs:pattern value="[a-zA-Z0-9_.' [email protected]#$%^*()_+={}|/:;,>?/`~ ]"/> 
    </xs:restriction> 
    </xs:simpleType> 
</xs:element> 
2

或者你可以選擇你想要添加到任何特殊字符前加轉義字符\(反斜槓)模式。例如:

<xs:pattern value="[a-zA-Z 0-9_.,()/=!\[\]&quot;#%&amp;*;&lt;&gt;&apos;+:?-]"/> 

其中您可以看到模式中包含的方括號[和]。