2008-12-11 9 views
13

की असंवेदनशील गणना मुझे मेरी एक्सएमएल स्कीमा (.xsd) फ़ाइल में एक केस असंवेदनशील स्ट्रिंग गणना प्रकार की आवश्यकता है। मैं निम्नलिखित करके केस असंवेदनशील हो सकता हूं।एक्सएमएल स्कीमा केस सरल प्रकार स्ट्रिंग

<xs:simpleType name="setDigitalPointType"> 
    <xs:restriction base="xs:string"> 
     <xs:pattern value="[Oo][Nn]" /> 
     <xs:pattern value="[Oo][Ff][Ff]" /> 
    </xs:restriction> 
</xs:simpleType> 

एकमात्र समस्या यह है कि मुझे कोई गणना मूल्य नहीं मिलता है। मेरे एक्सएमएल लिखने के लिए विजुअल स्टूडियो का उपयोग करते समय मुझे अच्छा इंटेलिजेंस नहीं मिलेगा। निम्नलिखित मुझे गणना देगा लेकिन यह मामला संवेदनशील है।

<xs:simpleType name="setDigitalPointType"> 
    <xs:restriction base="xs:string"> 
     <xs:enumeration value="on" /> 
     <xs:enumeration value="off" /> 
    </xs:restriction> 
</xs:simpleType> 

यह मुझे मेरे enumerations दे देंगे लेकिन अगर मैं कभी "चालू" का एक मूल्य प्राप्त, "ऑन", या "पर" यह सत्यापन असफल हो जायेगी।

मुझे "चालू", "ऑफ" की गणना चाहिए और केस असंवेदनशील संस्करणों की प्रविष्टि की अनुमति दें।

उत्तर

10

आईबीएम डेवलपर कैसे XSLT उपयोग करने के लिए एक स्वचालित फैशन में शुमार विकल्प का पूरा सेट के निर्माण के प्रदर्शन करने के लिए पर an article है। इसे केस-असंवेदनशील गणनाओं की कमी के लिए एक समाधान के रूप में प्रस्तुत किया जाता है।

0

ठीक है, तुम सिर्फ पैटर्न के रूप में सभी क्रमपरिवर्तन सूचीबद्ध कर सकते हैं :)

+0

मैं कर सकता हूं लेकिन यह "अधिसूचना" जैसे लंबे गणना मूल्यों के लिए सुरुचिपूर्ण नहीं है और मुझे अभी भी मेरी गणना नहीं मिली है। मेरे लिए गणना बहुत महत्वपूर्ण है। :) –

15

तुम दोनों रखने के लिए केस-संवेदी सत्यापन, जबकि अभी भी दृश्य स्टूडियो 2010 में Intellisense हो रही चाहते हैं, आप एक संघ का उपयोग कर सकते हैं:

<xs:simpleType name="setDigitalPointType"> 
    <xs:union> 
     <xs:simpleType> 
      <xs:restriction base="xs:string"> 
       <xs:enumeration value="on" /> 
       <xs:enumeration value="off" /> 
      </xs:restriction> 
     </xs:simpleType> 
     <xs:simpleType> 
      <xs:restriction base="xs:string"> 
       <xs:pattern value="[Oo][Nn]" /> 
       <xs:pattern value="[Oo][Ff][Ff]" /> 
      </xs:restriction> 
     </xs:simpleType> 
    </xs:union> 
</xs:simpleType> 

यह काम करता है, क्योंकि यह तथ्य कारनामे कि विजुअल स्टूडियो 2010 केवल जब यह इंटेलिसेंस डेटा बनाता है तो यूनियन में पहला सरल प्रकार संसाधित करता है। हालांकि जब यह किसी दस्तावेज़ को मान्य करता है, तो यह दोनों को संसाधित करता है, जिसका अर्थ है "चालू" अभी भी मान्य होने के लिए निर्धारित है, भले ही यह गणना मूल्यों की सूची में न हो।

संबंधित मुद्दे