2015-01-26 7 views
5

मुझे डब्लूएसडीएल से जावा उत्पन्न करते समय त्रुटि मिल रही है। मैं एक्सएमएल स्कीमा की 1.1 फीचर (xsd: assert) का उपयोग करना चाहता था। यह दावा कर रहा है कि वेब सेवा अनुरोध में कोई तत्व उपलब्ध है या नहीं।जेएक्सबी द्वारा एक्सएमएल स्कीमा 1.1 समर्थन के विकल्प क्या हैं?

<xsd:assert test="(count(InstanceDetail[@OrderCodeType eq 'OFFERID']) eq 1)" /> 

मैं अपाचे CXF वी 2.6.1 का उपयोग कर रहा हूँ।

JAXB द्वारा फेंका: mvn उत्पन्न-स्रोतों विकल्प के दौरान मैं एक त्रुटि हो रही है अप्रत्याशित <xsd:assert> लाइन में प्रकट होता है 200 स्तंभ स्कीमा फ़ाइल के 3 :

त्रुटि होने पर शोध, मुझे पता चला कि जेएक्सबी केवल एक्सएमएल स्कीमा 1.0 का समर्थन करता है और यह सुविधा एक्सएमएल स्कीमा 1.1 में उपलब्ध है। यदि यह सच है, तो मेरे पास अन्य विकल्प क्या हैं?

+0

संभावित डुप्लिकेट [एक्सएमएल स्कीमा 1.1 संस्करण का उपयोग कौन कर रहा है? कौन सा पार्सर संस्करण इसका समर्थन करता है? इत्यादि] (http://stackoverflow.com/questions/4834664/who-is-using-xml-chechema-1-1-version-which-parser-versions-support-it-etc) – lexicore

+0

यदि आप संपूर्ण विवरण पढ़ते हैं , यह डुप्लिकेट नहीं है। मैं सिर्फ प्रश्न के उत्तर के बजाय समाधान की तलाश में हूं। – user1555524

+0

ठीक है, क्षमा करें, पर्याप्त चौकस नहीं था। – lexicore

उत्तर

6

नहीं, जेएक्सबी का वर्तमान संस्करण एक्सएसडी 1.1 का समर्थन नहीं करता है। उदाहरण के लिए, इन मुद्दों को देखें:

अद्यतन:

समाधान के संबंध में। मैं व्यक्तिगत रूप से, मैं एक एक्सएसएलटी चलाता हूं जो सभी एक्सएसडी 1.1 को पट्टी कर देगा। परिणाम के रूप में वेनिला एक्सएसडी 1.0 की विशेषताएं और वापसी करें और जेएक्सबी के साथ संकलित करें। यह सुनिश्चित नहीं है कि यह तकनीकी रूप से सीएक्सएफ के साथ कैसे करें।

+0

धन्यवाद! मुझे लगता है कि यह स्पष्ट है, लेकिन इस पर काबू पाने के संभावित समाधान क्या हैं? – user1555524

+0

@ user1555524 कृपया एक सुझाव के साथ अद्यतन देखें। – lexicore

1

आप हमेशा XSD 1.0 के शीर्ष पर schematron (http://schematron.com/) का उपयोग कर सकते हैं। यह थोड़ा मुश्किल है लेकिन ऐसा करने से आपके पास एक्सएसडी 1.1 की सशर्त सत्यापन सुविधाएं और एक्सएसडी पार्सर के साथ संगतता होगी।

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