2010-12-19 21 views
8

मुझे संदेह है कि ऐसा कुछ है लेकिन मैंने यह पूछने के लिए सोचा था:
क्या किसी को पता है कि जावा में एक लाइब्रेरी है जो xsd फ़ाइल पढ़ती है और परिभाषित तत्वों को "बनाता है" कोड में उपयोग करने के लिए एक स्ट्रिंग प्रारूप में?
उदा। निम्न स्कीमा में पढ़ें:जावा/एक्सएसडी पार्सिंग

<?xml version="1.0" encoding="utf-8"?> 
     <xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
      <xs:element name="Address"> 
      <xs:complexType> 
       <xs:sequence> 
        <xs:element name="Street" type="xs:string" /> 
        <xs:element name="Town" type="xs:string" /> 
        <xs:element name="Country" type="xs:string" minOccurs="0" /> 
       </xs:element> 
       </xs:sequence> 
      </xs:complexType> 
      </xs:element> 
     </xs:schema> 

और निम्न स्वरूप में एक स्ट्रिंग है:

<Address> 
    <Street></Street> 
    <Town></Town> 
    <Country></Country> 
</Address> 

स्वचालित उपकरण एक डबल्यूएसडीएल पार्स कुछ इसी तरह, यानी करते हैं और प्रकार अनुभाग से उदाहरण JAXB कक्षाओं के लिए बनाते हैं स्कीमा में परिभाषित तत्वों के उदाहरण हो सकते हैं।
क्या ऐसा करने के लिए कोई पुस्तकालय है?

अद्यतन:
ग्रहण में उदाहरण के लिए जब एक वेब अनुप्रयोग उपयोगकर्ताओं के लिए सभी आवश्यक तत्वों के साथ यह एक पेड़ तालिका प्रस्तुत करता है के लिए एक xml वर्णनकर्ता बनाने स्कीमा के अनुसार में भरने के लिए। वह यह कैसे करते हैं? मुझे लगता है कि वे जार
में शामिल xsds को पार्स करते हैं, कोई इनपुट बहुत स्वागत है।
धन्यवाद!

+0

क्या JAXB ऐसा कुछ नहीं करता है? या क्या मैं इस सवाल को गलत समझ रहा हूं? –

+0

@ होवरक्राफ्ट: मैं कोई कक्षा नहीं बनाना चाहता हूं। मैं केवल एक xsd फ़ाइल में पढ़ना चाहता हूं और परिभाषित तत्वों की एक स्ट्रिंग बनाना चाहता हूं। मुझे लगता है कि यह कैसे जैक्सबी कक्षाएं बनाई गई हैं – Cratylus

+1

मैं नहीं देख सकता कि ऐसा कुछ क्यों होगा? आवश्यकता क्या है? 0 से कई तत्वों के लिए कितने खाली तत्व उत्पन्न होते हैं? साथ ही, क्या इससे कोई फर्क नहीं पड़ता कि आउटपुट कैप्चर नहीं करता है? – Synesso

उत्तर

1

यदि यह एक डब्लूएसडीएल फ़ाइल है जिसके साथ आप जावा कक्षाएं उत्पन्न करना चाहते हैं, तो एक्सिस डब्लूएसडीएल 2 जावा (जेएक्सबी पर आधारित) डब्ल्यूएसडीएल में परिभाषित स्कीमा के आधार पर कक्षाएं प्राप्त करने के लिए उपयोग किया जा सकता है।

जेएक्सबी बाध्यकारी रूपरेखा भी प्रदान करता है जिसे आप देखना चाहते हैं।

http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.express.doc/info/exp/ae/twbs_jaxbschema2java.html

लिंक से ऊपर उपयोगी होना चाहिए।

+0

मैं कक्षाएं उत्पन्न नहीं करना चाहता हूं। हाँ मैं इन ढांचे को जानता हूँ। मैं केवल xsd से तत्व बनाने में रुचि रखता हूं। – Cratylus

+0

ओह क्षमा करें !!! हां मेरा जवाब कोई उपयोग नहीं है – Fazal

1

oXygen has an XML instance generator जो किसी दिए गए XML स्कीमा के आधार पर XML दस्तावेज़ नमूने का एक सेट उत्पन्न कर सकता है।

You can also invoke it from the commandline

+0

क्या इसका उपयोग रनटाइम पर किया जा सकता है? मुझे ऐसे टूल में रूचि नहीं है जो एक्सएसडी से नमूने उत्पन्न करता है। मुझे उपयोगकर्ता – Cratylus

+0

द्वारा प्रदान किए गए किसी भी xsd के लिए रनटाइम पर इसका उपयोग करने में दिलचस्पी है हां, आप कर सकते हैं। या तो मार्गदर्शिका के रूप में स्क्रिप्ट का उपयोग करके प्रदान की गई कमांडलाइन स्क्रिप्ट निष्पादित करें, या उचित क्लासपाथ संदर्भ आदि सेट करें (oXygen जावा आधारित टूल है)। फिर रनटाइम पर इसे एक एक्सएसडी से जेएस फाइलों में यूआरआई दें। –

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