2010-01-19 11 views
5

मैं बाहरी xsd स्कीमा (फ़िक्सल मानक के) को विस्तार और दर्ज़ करने की कोशिश कर रहा हूं। मुझे मूल स्कीमा को छूए बिना, कुछ तत्वों के डेटा प्रकार को बदलने की जरूरत है, लेकिन इसे फिर से परिभाषित करके; लेकिन यह बहुत बोझिल खोज रहा है।एक्सएसडी: सरल प्रकार के डेटा प्रकार को फिर से परिभाषित करने के लिए कैसे करें। xs से: स्ट्रिंग से xs: पूर्णांक

क्या मौजूद है:

क्षेत्रों-base.xsd

<xs:simpleType name="LastUpdateTime_t"> 
      <xs:restriction base="UTCTimestamp"> 
<xs:simpleType> 

क्या मैं इसे बनना चाहते हैं:

<xs:simpleType name="LastUpdateTime_t"> 
      <xs:restriction base="xs:string"> 
<xs:simpleType> 

मैं क्या कोशिश की है (लेकिन असफल):

<xs:redefine schemaLocation="fields-base.xsd"> 
      <xs:simpleType name="LastUpdateTime_t"> 
       <xs:restriction base="xs:string" /> 
      </xs:simpleType> 
</xs:redefine> 

पुस्तकें और नेट डॉट्स ईम ने बहुत मदद की है, इसलिए मैं सवाल करना शुरू कर रहा हूं कि यह सैद्धांतिक रूप से संभव है या नहीं।

उत्तर

4

जहां तक ​​मैं यह कह सकता हूं यह संभव नहीं है।

केवल फिर से परिभाषित मैं XMLSpy में सत्यापित करें बना सकता था:

<xs:redefine schemaLocation="fields-base.xsd"> 
     <xs:simpleType name="LastUpdateTime_t"> 
      <xs:restriction base="LastUpdateTime_t" /> 
     </xs:simpleType> 
</xs:redefine> 

है यही कारण है, नए प्रतिबंध आधार प्रतिबंध के आधार पर किया जाना चाहिए।

यह हो सकता है कि XMLSpy इस बारे में गलत है।

W3C XML Schema definition से कुछ हद तक गुप्त यह बोली:

के भीतर [बच्चों], प्रत्येक simpleType के बीच अपनी [बच्चों] एक होना आवश्यक है और प्रत्येक complexType अपने के बीच एक प्रतिबंध या एक्सटेंशन होना आवश्यक है भव्य- [बच्चों] · वास्तविक मूल्य जिसका आधार [विशेषता] होना चाहिए, वास्तविक मूल्य के रूप में नाम विशेषता और लक्ष्य नामस्थान;

इस बारे में बात कर रहा है (यह इस त्रुटि के लिए XMLSpy लिंक का हिस्सा है)।

सरल प्रकारों को फिर से परिभाषित करने का एकमात्र वास्तव में अच्छा उदाहरण मैं पाया था here। इस उदाहरण में, पुनर्वितरण केवल गणनाओं के लिए है।

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

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