2009-08-10 15 views

उत्तर

5

मैं अपने खुद के जवाब मिला:

यह सब है कार्डिनालिटी के साथ करने के लिए:

xsd: कुंजी का उपयोग (0..एन) और (1..1) बहुतायत के लिए किया जाता है। xsd: अद्वितीय (0..1) बहुतायत के लिए अद्वितीय का उपयोग किया जाता है। यही कारण है कि एक xsd में चयनित फ़ील्ड: अद्वितीय शून्य हो सकता है।

मेरा उत्तर के स्रोत: http://www.xml.com/lpt/a/987

0

xsd: कुंजी अद्वितीय है और तत्वों के संग्रह के लिए एक दायरे में एक कुंजी xsd के भीतर उपयोग किया जाता है: अद्वितीय एक दायरे के भीतर अद्वितीय है।

उम्मीद है कि यह मदद करता है ...

+0

तो जब मैं एकाधिक xsd घोषित करता हूं: विभिन्न तत्वों पर कुंजी, परिभाषित सभी कुंजी अभी भी अद्वितीय होनी चाहिए? – Joep

+1

नहीं, अगर आपको पुस्तक तत्वों का संग्रह मिला है और आपने स्कीमा में पुस्तक तत्व के आईएसबीएन विशेषता होने के लिए xsd: key घोषित किया है। फिर आईएसबीएन विशेषता के मूल्य अद्वितीय होना चाहिए। इसका अन्य तत्वों पर कोई प्रभाव नहीं है – norbertB

+0

लेकिन xsd: अद्वितीय यह भी करता है। xsd: कुंजी भी scoped है। मुझे कोई मतभेद नहीं मिल सकता ...? – Joep

1

यह डेटाबेस के समान है।

कुंजी क्षेत्र .. PrimaryKey की तरह है अद्वितीय और आईडी

अद्वितीय क्षेत्र में एक महत्वपूर्ण नहीं है बल्कि यह अनूठा हो गया है ...

+0

ओके, लेकिन इसमें क्या शामिल है xsd कि एक कुंजी भी एक "आईडी" है? – Joep

1

http://www.w3.org/TR/2004/REC-xmlschema-0-20041028/primer.html#quartelyReport देखें।

"keyRefed" तत्व लिंक में वर्णित उदाहरण में क्षेत्रों के ज़िप के हिस्सों की संख्या विशेषताओं के मान हैं और "कुंजी" तत्व भाग के गुण विशेषता के मान हैं भागों।

अनोखा घोषित करता है कि मान अद्वितीय होना चाहिए लेकिन शून्य भी हो सकता है, कुंजी - कि वे अद्वितीय होना चाहिए। दोनों प्रकार "keyRefed" तत्वों के संदर्भ हो सकते हैं।

+2

मैं बस आपकी पोस्ट में भाग गया ... कृपया इसे सही करें क्योंकि यह कहना गलत है कि 'कीफ का उपयोग कीफ्स के साथ किया जाता है, इस प्रकार "कीफाईड" तत्वों के मूल्यों को वास्तव में "कीड" तत्वों में उपयोग किए जाने वाले मानों पर प्रतिबंधित किया जाता है। देखें [ यहां] (http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#Identity-constraint_Definition_details): '** {संदर्भित कुंजी} ** आवश्यक अगर {पहचान-बाधा श्रेणी } keyref है, अन्यथा मना कर दिया। कुंजी या अद्वितीय के बराबर {पहचान-बाधा श्रेणी} के साथ एक पहचान-बाधा परिभाषा। –

11

xsd: अद्वितीय चयनकर्ता के लिए फ़ील्ड मौजूद होने की आवश्यकता नहीं है। यदि क्षेत्र मौजूद है, तो इसका मूल्य अद्वितीय होना चाहिए।

xsd: कुंजी सभी चयनकर्ता परिणामों के लिए फ़ील्ड मौजूद होने की आवश्यकता है। चयनकर्ता में प्रत्येक तत्व की कुंजी होनी चाहिए।

ध्यान दें कि xsd: keyref xsd: key के लिए कोई आवश्यकता नहीं है: xsd: key किसी भी xsd: keyref के साथ हो सकता है।

+1

मैं बस आपकी पोस्ट में भाग गया ...कृपया इसे सही करें क्योंकि यह कहना गलत है कि 'केवल एक नामित xsd: कुंजी को xsd: keyref. से संदर्भित किया जा सकता है। देखें [यहां] (http://www.w3.org/TR/2004/REC-xmlschema- 1-20041028/structures.html # पहचान-constraint_Definition_details): '** {संदर्भित कुंजी} ** आवश्यक है यदि {पहचान-बाधा श्रेणी} keyref है, अन्यथा प्रतिबंधित है। {पहचान-बाधा श्रेणी} के साथ एक पहचान-बाधा परिभाषा कुंजी या अद्वितीय के बराबर होती है। ' –

+0

' xsd: unique' के साथ, आप 'xsd: keyref' का उपयोग नहीं कर सकते - हाँ आप कर सकते हैं! यह भी देखें: http://stackoverflow.com/questions/15842736/optional-key-in-xsd – Csq

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