2008-09-16 3 views
138

मैं एक ऐसा टूल ढूंढ रहा हूं जो एक एक्सएमएल इंस्टेंस दस्तावेज़ लेगा और एक संबंधित एक्सएसडी स्कीमा आउटपुट करेगा।किसी XML उपकरण दस्तावेज़ से XSD स्कीमा उत्पन्न करने के लिए कोई उपकरण?

मैं निश्चित रूप से पहचानता हूं कि जेनरेटेड एक्सएसडी स्कीमा हाथ से एक स्कीमा बनाने की तुलना में सीमित होगी (यह संभवतः वैकल्पिक या दोहराने वाले तत्वों या डेटा बाधाओं को संभाल नहीं पाएगा), लेकिन कम से कम एक त्वरित शुरुआत के रूप में कार्य कर सकता है बिंदु।

उत्तर

62

Microsoft XSD inference tool एक अच्छा, नि: शुल्क समाधान है। कई XML संपादन टूल, जैसे XmlSpy (@Garth Gilmour द्वारा उल्लिखित) या ऑक्सीजनएक्सएमएल संपादक में भी यह सुविधा है। हालांकि, वे महंगे हैं। बिज़टॉक सर्वर में एक एक्सएसडी अवरोध उपकरण भी है।

संपादित करें: मैं बस, .net XmlSchemaInference वर्ग की खोज की, इसलिए यदि आप उपयोग कर रहे हैं आप .net पर विचार करना चाहिए

+1

वाह, महीने बाद आपने मुझे एक्सएसडी रूपांतरण के लिए त्वरित एक्सडीआर करने के लिए एक महान समाधान की ओर इशारा किया! धन्यवाद! – bethlakshmi

+6

मेरे लिए इस टूल (xsd.exe) के लिए डाउनलोड करना मुश्किल था, लेकिन यह पहले से ही मेरे सिस्टम पर सी: \ प्रोग्राम फ़ाइलें \ माइक्रोसॉफ्ट विजुअल स्टूडियो 8 \ एसडीके \ v2.0 \ बिन में था। बस सोचा कि अगर मैं किसी की मदद करता हूं तो मैं साझा करूंगा। – oob

+2

यदि किसी के पास विजुअल स्टूडियो स्थापित नहीं है, तो यहां xsd डाउनलोड करने का एक वैकल्पिक लिंक है: http://juliankay.com/development/download-xsd-exe/ –

3

Altova XMLSpy अच्छी तरह से करता है कि - आप एक सिंहावलोकन here

6

सब तो पा सकते हैं आप एक्सएसडी चाहते हैं, लिक्विडएक्सएमएल में एक मुफ्त संस्करण है जो एक्सएसडी करता है, और इसे इसके लिए एक जीयूआई मिला है ताकि आप एक्सएसडी को ट्विक कर सकें। वैसे भी आजकल मैं अपने स्वयं के एक्सएसडी हाथ से लिखता हूं, लेकिन इस ऐप के लिए यह सब धन्यवाद।

http://www.liquid-technologies.com/

9

आप नेट स्थापित किया है, एक उपकरण है उत्पन्न करने के लिए XSD स्कीमा और कक्षाएं पहले से ही डिफ़ॉल्ट रूप से शामिल किया गया है।
मेरे लिए, एक्सएसडी उपकरण निम्न संरचना के तहत स्थापित है। यह आपकी स्थापना निर्देशिका के आधार पर भिन्न हो सकता है।

C:\Program Files\Microsoft Visual Studio 8\VC>xsd 
Microsoft (R) Xml Schemas/DataTypes support utility 
[Microsoft (R) .NET Framework, Version 2.0.50727.42] 
Copyright (C) Microsoft Corporation. All rights reserved. 

xsd.exe - 
    Utility to generate schema or class files from given source. 

xsd.exe <schema>.xsd /classes|dataset [/e:] [/l:] [/n:] [/o:] [/s] [/uri:] 
xsd.exe <assembly>.dll|.exe [/outputdir:] [/type: [...]] 
xsd.exe <instance>.xml [/outputdir:] 
xsd.exe <schema>.xdr [/outputdir:] 

आम तौर पर वर्गों और स्कीमा कि इस उपकरण नहीं बल्कि अच्छी तरह से काम उत्पन्न करता है, विशेष रूप से अगर आप उन्हें एक नेट भाषा

मैं आम तौर पर XML दस्तावेज़ है कि मैं के बाद कर रहा हूँ ले में लेने के लिए जा रहे , एक स्कीमा (xsd) उत्पन्न करने के लिए /o:<your path> ध्वज के साथ XSD टूल के माध्यम से इसे दबाएं और फिर /classes /L:VB (or CS) /o:<your path> फ़्लैग का उपयोग करके xsd फ़ाइल को टूल के माध्यम से वापस दबाएं ताकि मैं कक्षाओं को प्राप्त कर सकूं जो कि मैं आयात कर सकता हूं और अपने दिन में उपयोग कर सकता हूं। नेट प्रोजेक्ट

4

यदि आप जावा दुनिया में काम कर रहे हैं - intelliJ विचार में एक्सएसडी पीढ़ी से एक्सएसडी पीढ़ी और सैम एक्सएमएल सहित व्यापक एक्सएमएल समर्थन भी है, और प्लगइन के साथ आप एक्सएसएलटी डीबगर्स प्राप्त कर सकते हैं। - विशेष रूप से अच्छा अगर आप जैक्सब जैसे उपकरणों का उपयोग करने की योजना बनाते हैं।

+2

और यह आइडिया के मुक्त समुदाय संस्करण में भी उपलब्ध है। – lbalazscs

52

आप ओपन सोर्स और क्रॉस-प्लेटफ़ॉर्म विकल्प का उपयोग कर सकते हैं: Apache's XMLBeans से inst2xsd। मुझे यह बहुत उपयोगी और आसान लगता है।

बस डाउनलोड करें, अनजिप करें और खेलो (इसे जावा की आवश्यकता है)।

+0

महान टिप, जिसने वास्तव में मुझे बहुत मदद की, thx! – IAdapter

+2

ओएमजी यह पावरहेल बुलशिट की तुलना में इतना बेहतर है! खासकर जब से मेरे पास एक्सएसडी फाइल नहीं थी! – Chloe

+0

इंटेलिजे के मुफ्त समुदाय संस्करण में ऐसी कार्यक्षमता भी है: http://www.jetbrains.com/idea/webhelp/generating-xml-chechema-from-instance-document।एचटीएमएल – Nick

50

Trang यहां सबसे अच्छा विकल्प है। ओपन सोर्स और पार मंच (हालांकि जावा की आवश्यकता है)

ट्रांग वेबसाइट से:

ट्रांग एक्सएमएल के लिए अलग स्कीमा भाषाओं के बीच धर्मान्तरित।यह निम्नलिखित भाषाओं का समर्थन

  • रिलेक्स NG (XML वाक्यविन्यास)
  • रिलेक्स NG कॉम्पैक्ट वाक्य रचना
  • XML 1.0 DTDs
  • W3C XML स्कीमा

स्कीमा समर्थित में से किसी में लिखा स्कीमा भाषाओं को किसी अन्य समर्थित स्कीमा भाषाओं में परिवर्तित किया जा सकता है, सिवाय इसके कि डब्ल्यू 3 सी एक्सएमएल स्कीमा केवल आउटपुट के लिए समर्थित है, इनपुट के लिए नहीं।

ट्रांग एक या अधिक उदाहरण XML दस्तावेज़ों से स्कीमा का अनुमान लगा सकता है।

Download Link

+0

ट्रांग भी एक या अधिक एक्सएमएल दस्तावेज़ों से एक्सएसडी अनुमान लगाने के लिए ऑक्सीजनएक्सएमएल में एकीकृत टूल है। पहले प्रयास में यह अच्छी तरह से काम करता प्रतीत होता है। – redcalx

+4

यदि आपको केवल xml फ़ाइल से xsd उत्पन्न करना है, तो ट्रांग सबसे अच्छा, सबसे तेज़ और आसान IMHO है। – kriver

+2

ट्रांग दस्तावेज थोड़ा पतला है। स्कीमा उत्पन्न करने के लिए, '$ trang file.xml schema.xsd' चलाएं। –

11

वहाँ भी XML schema learner जो Github पर उपलब्ध है।

यह उन फ़ाइलों सब की तरफ से कई xml फ़ाइलें और निकालने एक आम XSD ले सकते हैं।

+1

ध्यान रखें कि यह टूल php में लिखा गया है, इसलिए सेटअप करने के लिए यह छोटा नहीं है। – 79E09796

+5

@ 79E09796 'सुडो एपीटी-फाई 5-क्ली' स्थापित करें और './learn --help' चलाना' के साथ एक क्ली PHP स्थापित करना --- मुझे वास्तव में जावा, पायथन या उसमें लिखे गए टूल के बीच का अंतर दिखाई नहीं देता है। ruby :) – edorian

+1

बस विंडोज़ के तहत कोशिश की - किसी भी स्थापना के बिना PHP 5.4 के साथ महान काम किया। दोनों PHP और एक्सएमएल स्कीमा सीखने वाले ने पूरी तरह से अनजिप और पूर्ण पथ का उपयोग करके निष्पादित किया;) – vak

14

वीएस -2010 में यदि आप संपादक में एक एक्सएमएल फाइल लोड करते हैं, तो एक्सएमएल मेनू >> स्कीमा बनाएं पर क्लिक करें।

+2

के रूप में आवश्यक है और उच्च संस्करणों में –

2

यह एक पुरानी धागा है, लेकिन मैंने सोचा कि यह इस लिंक पोस्ट करने के लिए उपयोगी हो सकता है: बस इस उपकरण पाया: xsd-gen Generate XML Schema from XML

और यह सिर्फ मैं क्या जरूरत थी।