खोज…


परिचय

XJC एक जावा SE उपकरण है जो XML स्कीमा फ़ाइल को पूरी तरह से एनोटेट जावा कक्षाओं में संकलित करता है।

यह JDK पैकेज के भीतर वितरित किया जाता है और /bin/xjc पथ पर स्थित /bin/xjc है।

वाक्य - विन्यास

  • xjc [विकल्प] स्कीमा फ़ाइल / URL / dir / जार ... [-b bindinfo] ...

पैरामीटर

पैरामीटर विवरण
स्कीमा फ़ाइल जावा में कनवर्ट करने के लिए xsd स्कीमा फ़ाइल

टिप्पणियों

XJC टूल JDK के भाग के रूप में उपलब्ध है। यह JAXB एनोटेशन के लिए उपयुक्त (अन) मार्शलिंग के साथ जावा कोड बनाने की अनुमति देता है।

सरल XSD फ़ाइल से जावा कोड बनाना

XSD स्कीमा (स्कीमा। Xsd)

निम्नलिखित xml स्कीमा (xsd) गुण name और reputation उपयोगकर्ताओं की एक सूची को परिभाषित करता है।

<?xml version="1.0"?>

<xs:schema version="1.0"
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:ns="http://www.stackoverflow.com/users"
           elementFormDefault="qualified"
           targetNamespace="http://www.stackoverflow.com/users">
    <xs:element name="users" type="ns:Users"/>
    
    <xs:complexType name="Users">
        <xs:sequence>
            <xs:element type="ns:User" name="user" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    
    <xs:complexType name="User">
        <xs:attribute name="name" use="required" type="xs:string"/>
        <xs:attribute name="reputation" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:int">
                    <xs:minInclusive value="1"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>
</xs:schema>

Xjc का उपयोग करना

इसके लिए OS पथ चर में xjc टूल (JDK बायनेरिज़) के लिए पथ की आवश्यकता होती है।

कोड पीढ़ी का उपयोग करना शुरू किया जा सकता है

xjc schema.xsd

यह वर्किंग डायरेक्टरी में जावा फाइल्स जेनरेट करेगा।

परिणाम फ़ाइलें

कुछ अतिरिक्त टिप्पणियां होंगी, लेकिन मूल रूप से उत्पन्न जावा फाइलें इस तरह दिखती हैं:

package com.stackoverflow.users;

import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlType;

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Users", propOrder = {
    "user"
})
public class Users {

    protected List<User> user;

    public List<User> getUser() {
        if (user == null) {
            user = new ArrayList<User>();
        }
        return this.user;
    }

}
package com.stackoverflow.users;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlType;

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "User")
public class User {

    @XmlAttribute(name = "name", required = true)
    protected String name;
    @XmlAttribute(name = "reputation", required = true)
    protected int reputation;

    public String getName() {
        return name;
    }

    public void setName(String value) {
        this.name = value;
    }

    public int getReputation() {
        return reputation;
    }

    public void setReputation(int value) {
        this.reputation = value;
    }

}
package com.stackoverflow.users;

import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlElementDecl;
import javax.xml.bind.annotation.XmlRegistry;
import javax.xml.namespace.QName;

@XmlRegistry
public class ObjectFactory {

    private final static QName _Users_QNAME = new QName("http://www.stackoverflow.com/users", "users");

    public ObjectFactory() {
    }

    public Users createUsers() {
        return new Users();
    }

    public User createUser() {
        return new User();
    }

    @XmlElementDecl(namespace = "http://www.stackoverflow.com/users", name = "users")
    public JAXBElement<Users> createUsers(Users value) {
        return new JAXBElement<Users>(_Users_QNAME, Users.class, null, value);
    }

}

package-info.java

@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.stackoverflow.com/users", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package com.stackoverflow.users;


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow