के लिए एक रैपिंग वर्ग उत्पन्न मैं निम्नलिखित एक्सएमएल प्रकार:बनाओ JAXB XJC एक सरल प्रकार
<xsd:element name="FaxNumbers" minOccurs="0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="FaxNumber" type="FaxNumber" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
FaxNumber प्रकार इस तरह दिखता है:
<xsd:simpleType name="FaxNumber">
<xsd:restriction base="xsd:string">
<xsd:minLength value="1" />
</xsd:restriction>
</xsd:simpleType>
जिसके परिणामस्वरूप एक्सएमएल कुछ इस तरह होना चाहिए :
<FaxNumbers>
<FaxNumber>3878374</FaxNumber>
<FaxNumber>387833434</FaxNumber>
<FaxNumber>3878334</FaxNumber>
</FaxNumbers>
एक्सएसडी से जावा कक्षाएं उत्पन्न करने के लिए जेएक्सबी एक्सजेसी चलाते समय यह निम्न वर्ग उत्पन्न करता है:
@XmlType(name = "FaxNumbers")
public class FaxNumbers {
/**
* No comment.
*/
@XmlElement(name = "FaxNumber", required = true)
protected List<String> faxNumber = new ArrayList<String>();
}
हालांकि मैं बाँध FaxNumber समग्र वर्ग के लिए इस तरह करना चाहते हैं:
@XmlType(name = "FaxNumbers")
public class FaxNumbers {
/**
* No comment.
*/
@XmlElement(name = "FaxNumber", required = true)
protected List<FaxNumber> faxNumber = new ArrayList<String>();
}
Where FaxNumber class looks like this:
public class FaxNumber{
@XmlValue
private String value;
}
वहाँ JAXB बाइंडिंग एक्सएमएल में बंधन को परिभाषित करने के लिए एक रास्ता है?
नोट: दुर्भाग्य से मैं नियंत्रण अपने हाथ में नहीं है और अपने FaxNumbers XSD परिभाषा उपयोग <xsd:element name="FaxNumber" ref="FaxNumber" maxOccurs="unbounded" />
में XSD
दुर्भाग्य से मैं नियंत्रण नहीं और XSD नहीं बदल सकते हैं (मूल पोस्ट अद्यतन करेगा)। –
तो मुझे डर है कि आप उत्पन्न जावा फ़ाइल के मैनुअल संशोधन के साथ अटक से पहले आप इसका इस्तेमाल कर रहे हैं रहा हूँ। यदि आपके मामले के लिए यह संभव है –
जेनरेट की गई जावा फाइलों का मैन्युअल संपादन ठीक काम करता है। हालांकि जब एक्सएसडी बदल जाता है और मैं फ़ाइलों को प्री-जेनरेट करता हूं तो मुझे हर बार मैन्युअल रूप से अपडेट करना पड़ता है। –