2011-07-11 10 views
12

पर आधारित बहुउद्देशीय क्लास फाइलें बनाएं I XSD टूल के साथ ऐसा कुछ भी संभव नहीं है, लेकिन मैं एक सरल समाधान पर जाने से पहले पूछना चाहता था।एक्सएसडी

मेरे पास एक एक्सएसडी फ़ाइल है जिसमें एकाधिक तत्व (और कई जटिल प्रकार) हैं जो एक कोड फ़ाइल में एकाधिक कक्षाएं उत्पन्न करेंगे (मुझे यह पसंद नहीं है)। एक्सएसडी उपकरण से उत्पन्न स्वच्छ और पठनीय कक्षा फाइलों के लिए, मैं प्रत्येक तत्व को अलग कोड फ़ाइल में रखना चाहता हूं, सभी को एक कोड फ़ाइल में आंशिक कक्षाओं के रूप में नहीं रखा गया है।

क्या कोई यह जानता है कि यह कैसे करें? या स्कीमा में प्रत्येक एक्सएमएल तत्वों के लिए एक्सएसडी को एक स्कीमा में तोड़ने का मेरा एकमात्र समाधान है?

एमएसडीएन लेख http://msdn.microsoft.com/en-us/library/x6c1kb0s(v=VS.100).aspx भाषा प्रदान नहीं करता है जो निर्दिष्ट करता है कि यह किया जा सकता है या नहीं।

किसी भी उत्तर या टिप्पणियों के लिए अग्रिम धन्यवाद।

+0

मुझे लगता है कि आपको लगाया जा सकता है, लेकिन अगर किसी के पास कोई समाधान है तो मैं इसे देखना चाहूंगा। –

+0

मुझे कुछ भी नहीं मिला, क्षमा करें। –

उत्तर

12

यह सीधे आपके प्रश्न का उत्तर नहीं है, लेकिन मैं कुछ चीज़ें बाहर फेंक करना चाहता था:

मैं आम तौर पर यह प्रतिकूल उत्पन्न कोड को अलग करने लगता है। मैं हमेशा "प्रति वर्ग एक फ़ाइल" नियम का पालन करना पसंद करता हूं, लेकिन मैं यहां अपवाद करता हूं, क्योंकि मैं अक्सर बहुत बड़े स्कीमा से निपटता हूं। यहां तक ​​कि अपनी निर्देशिका में, जब मैं कोड का नया संस्करण उत्पन्न करता हूं, तो मैं फ़ाइलों को सैकड़ों (सैकड़ों) तक नहीं करना चाहता हूं। मुझे एक फ़ाइल में सभी जेनरेट किए गए कोड को अलग करने के लिए बहुत सुविधाजनक लगता है।

अब, संभावित समाधान प्रदान करने के लिए - Resharper में सभी कक्षाओं को फ़ाइल से बाहर खींचने और उन्हें अपनी फ़ाइलों में रखने की क्षमता है। यदि आप समाधान एक्सप्लोरर में फ़ाइल पर राइट क्लिक करते हैं, तो आप रिएक्टर → Move types into matching files ... कह सकते हैं। बेशक, यह कहीं भी इसे इस तरह से उत्पन्न करने के रूप में सुविधाजनक नहीं है, लेकिन मुझे ऐसा उपकरण नहीं पता है जो ऐसा करेगा।

+0

समय और उत्तर के लिए धन्यवाद। जब मैं अपनी परियोजना के लिए अपनी जरूरतों के आसपास काम करता हूं तो मैं आपकी टिप्पणियों का उपयोग करूंगा। – AndHeCodedIt

+0

शुभकामनाएँ। अगर आपको वास्तव में ऐसा टूल मिल जाए तो यह पोस्ट करें :) – womp

3

जिस समस्या को मैं हल करने की कोशिश कर रहा हूं वह या तो अलग-अलग वर्ग फ़ाइलों या एकवचन, लेकिन कई वर्गों वाले समान नामस्थान के बजाय अद्वितीय वर्गों में था। नतीजतन, मैं एक समान उत्तर की तलाश में था और Getting xsd.exe To Not Create Duplicate Classes

साझा करने के लिए यह संदर्भ मिला यह एक साधारण फिक्स है, लेकिन मुझे यह पता लगाने में काफी समय लगा। आपको अपने सभी वर्गों को एक बार में संकलित करने के लिए xsd.exe का उपयोग करना होगा, इसलिए दो अलग-अलग कमांड चलाने के बजाए, आपको केवल एक को चलाने की आवश्यकता है: सी: \ समाधान \ Project> xsd.exe Type.xsd Request.xsd प्रतिक्रिया। xsd/c अब आपके पास एक फ़ाइल है, Response.xsd, इसमें सभी तीन वर्गों के साथ।

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