2009-06-21 18 views
10

मैं एक एक्सएमएल स्कीमा बनाने की कोशिश कर रहा हूं, जो एक विशेषता मान को देशी प्रारूप में GUID के रूप में संग्रहीत करने में सक्षम बनाता है। मैं इसे एक स्ट्रिंग के रूप में सेट कर सकता हूं, लेकिन इसे वास्तविक GUID के रूप में स्टोर करना अच्छा लगेगा।एक XML स्कीमा में एक GUID सरल टाइप कैसे जोड़ें?

कोई विचार यह कैसे करना है?

उत्तर

4

एक्सएमएल मूल रूप से केवल तारों को शामिल करता है, हालांकि एक्सएसडी कुछ अन्य आदिम प्रकारों को भी परिभाषित करता है। हालांकि, GUID उनमें से नहीं है।

आप एक GUID प्रकार के लिए अपनी खुद की स्कीमा परिभाषित कर सकते हैं। बहुत से लोगों ने यह किया है। यहां बताया गया है कि माइक्रोसॉफ्ट वनोट टीम ने इसे कैसे किया: http://msdn.microsoft.com/en-us/library/aa203890(office.11).aspx

+0

मैंने इसके लिए लेख भी देखा। आप सरल तत्व को अपने तत्व में कैसे जोड़ते हैं, विशेषता xml, <नियम ruleguid = "10122-xxx-p" /> –

13

आप एक स्ट्रिंग सीमित इस तरह एक रेगुलर एक्सप्रेशन का उपयोग करके अपने स्वयं के कस्टम सरल प्रकार "GUID" को परिभाषित कर सकते हैं:

<xs:simpleType name="GUID"> 
    <xs:restriction base="xs:string"> 
    <xs:pattern value="([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})|(\{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\})"/> 
    </xs:restriction> 
</xs:simpleType> 
+0

वैसे मैंने कोशिश की है लेकिन यह 'पैटर्न' के साथ वापस आ रहा है बाधा विफल।' फ़ाइल में: त्रुटि संदेश जब यह मुठभेड़ करता है। –

+1

अजीब ... हमारे पास यह उत्पादन में है और सब कुछ ठीक काम करता है .... आप कब और कैसे इसका उपयोग कर रहे हैं, और त्रुटि कहां होती है? –

1

मैं इसे बाहर sussed गए हैं। कभी-कभी यह दस्तावेज़ों को पढ़ने में मदद करता है। इस तरह यह काम करेगा।

<xs:simpleType name="GUID"> 
     <xs:restriction base="xs:string"> 
      <xs:pattern value="([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})|(\{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\})"/> 
     </xs:restriction> 
    </xs:simpleType> 


    <xs:element name="ruleident"> 
    <xs:complexType> 
     <xs:attribute name="ruleGuid" > 
     <xs:simpleType> 
     <xs:restriction base ="GUID"> 
      </xs:restriction> 
     </xs:simpleType> 
     </xs:attribute > 
    </xs:complexType > 
    </xs:element> 
संबंधित मुद्दे