AW: Combination of SyncML, JAXB

Manfred Sturm <[email protected]> Mon, 3 Feb 2003 12:16:39 +0100
Newsgroups gmane.comp.java.sun.xml.general
Message-ID <[email protected]>
Maulik,

JAXB (1.0 Beta) needs a XML schema file to generate classes. Convert your
DTD into an XML schema first and JAXB will do a fine job (see attachement).

Manfred

    | -----Ursprüngliche Nachricht-----
    | Von: XML technologies in the Java Platform
    | [mailto:[email protected]]Im Auftrag von Maulik Thakkar
    | Gesendet: Friday, January 31, 2003 12:22 PM
    | An: [email protected]
    | Betreff: [XML-INTEREST] Combination of SyncML, JAXB
    |
    |
    | Hi All,
    |
    | I m working with SyncML & JAXB.
    |
    | My Problem is, I m creating the set of java files to
    | parse the XML file which is created according to DTD.
    |
    | But With the use of the JAXB generated file, i m not
    | able to parse the file and getting error.
    |
    | My Code is as Follow....
    |
    | Input File for generating JAXB classes.
    |
    | 1) SyncmlRepresent.DTD (Given By SyncML.org. Define
    | Protocol)
    |
    | 2) SyncmlRepresent.xjs (Define by me)
    |
    | Above both file are attached in mail.
    |
    | And My SyncApp.java taking XML file as Input, parse it
    | and generate the new XML file just like input xml
    | file.
    |
    | I m also attaching the SyncApp.java file and xml file
    | that is to be used.
    |
    | Please help me out if any one got my problem and
    | propar solution.
    |
    | Regards
    | Maulik
    |
    |
    |
    | ______________________________________________________________
    | __________
    | Missed your favourite TV serial last night? Try the new, Yahoo! TV.
    |        visit http://in.tv.yahoo.com
SyncmlRepresent.xsd (text/xml, 21.4 KB)
<?xml version="1.0" encoding="UTF-8"?>
<!--W3C Schema generated by XMLSPY v5 rel. 3 U (http://www.xmlspy.com)-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
        <xs:element name="Add">
                <xs:complexType>
                        <xs:sequence>
                                <xs:element ref="CmdID"/>
                                <xs:element ref="NoResp" minOccurs="0"/>
                                <xs:element ref="Cred" minOccurs="0"/>
                                <xs:element ref="Meta" minOccurs="0"/>
                                <xs:element ref="Item" maxOccurs="unbounded"/>
                        </xs:sequence>
                </xs:complexType>
        </xs:element>
        <xs:element name="Alert">
                <xs:complexType>
                        <xs:sequence>
                                <xs:element ref="CmdID"/>
                                <xs:element ref="NoResp" minOccurs="0"/>
                                <xs:element ref="Cred" minOccurs="0"/>
                                <xs:element ref="Data" minOccurs="0"/>
                                <xs:element ref="Item" minOccurs="0" maxOccurs="unbounded"/>
                        </xs:sequence>
                </xs:complexType>
        </xs:element>
        <xs:element name="Atomic">
                <xs:complexType>
                        <xs:sequence>
                                <xs:element ref="CmdID"/>
                                <xs:element ref="NoResp" minOccurs="0"/>
                                <xs:element ref="Meta" minOccurs="0"/>
                                <xs:choice maxOccurs="unbounded">
                                        <xs:element ref="Add"/>
                                        <xs:element ref="Replace"/>
                                        <xs:element ref="Delete"/>
                                        <xs:element ref="Copy"/>
                                        <xs:element ref="Atomic"/>
                                        <xs:element ref="Map"/>
                                        <xs:element ref="Sequence"/>
                                        <xs:element ref="Sync"/>
                                        <xs:element ref="Get"/>
                                        <xs:element ref="Exec"/>
                                        <xs:element ref="Alert"/>
                                </xs:choice>
                        </xs:sequence>
                </xs:complexType>
        </xs:element>
        <xs:element name="CmdID" type="xs:string"/>
        <xs:element name="CmdRef" type="xs:string"/>
        <xs:element name="Copy">
                <xs:complexType>
                        <xs:sequence>
                                <xs:element ref="CmdID"/>
                                <xs:element ref="NoResp" minOccurs="0"/>
                                <xs:element ref="Cred" minOccurs="0"/>
                                <xs:element ref="Meta" minOccurs="0"/>
                                <xs:element ref="Item" maxOccurs="unbounded"/>
                        </xs:sequence>
                </xs:complexType>
        </xs:element>
        <xs:element name="Cred">
                <xs:complexType>
                        <xs:sequence>
                                <xs:element ref="Meta" minOccurs="0"/>
                                <xs:element ref="Data"/>
                        </xs:sequence>
                </xs:complexType>
        </xs:element>
        <xs:element name="Data" type="xs:string"/>
        <xs:element name="Delete">
                <xs:complexType>
                        <xs:sequence>
                                <xs:element ref="CmdID"/>
                                <xs:element ref="NoResp" minOccurs="0"/>
                                <xs:element name="Archive" minOccurs="0">
                                        <xs:complexType/>
                                </xs:element>
                                <xs:element name="SftDel" minOccurs="0">
                                        <xs:complexType/>
                                </xs:element>
                                <xs:element ref="Cred" minOccurs="0"/>
                                <xs:element ref="Meta" minOccurs="0"/>
                                <xs:element ref="Item" maxOccurs="unbounded"/>
                        </xs:sequence>
                </xs:complexType>
        </xs:element>
        <xs:element name="Exec">
                <xs:complexType>
                        <xs:sequence>
                                <xs:element ref="CmdID"/>
                                <xs:element ref="NoResp" minOccurs="0"/>
                                <xs:element ref="Cred" minOccurs="0"/>
                                <xs:element ref="Meta" minOccurs="0"/>
                                <xs:element ref="Item"/>
                        </xs:sequence>
                </xs:complexType>
        </xs:element>
        <xs:element name="Get">
                <xs:complexType>
                        <xs:sequence>
                                <xs:element ref="CmdID"/>
                                <xs:element ref="NoResp" minOccurs="0"/>
                                <xs:element ref="Lang" minOccurs="0"/>
                                <xs:element ref="Cred" minOccurs="0"/>
                                <xs:element ref="Meta" minOccurs="0"/>
                                <xs:element ref="Item" maxOccurs="unbounded"/>
                        </xs:sequence>
                </xs:complexType>
        </xs:element>
        <xs:element name="Item">
                <xs:complexType>
                        <xs:sequence>
                                <xs:element ref="Target" minOccurs="0"/>
                                <xs:element ref="Source" minOccurs="0"/>
                                <xs:element ref="Meta" minOccurs="0"/>
                                <xs:element ref="Data" minOccurs="0"/>
                                <xs:element name="MoreData" minOccurs="0">
                                        <xs:complexType/>
                                </xs:element>
                        </xs:sequence>
                </xs:complexType>
        </xs:element>
        <xs:element name="Lang" type="xs:string"/>
        <xs:element name="LocName" type="xs:string"/>
        <xs:element name="LocURI" type="xs:string"/>
        <xs:element name="Map">
                <xs:complexType>
                        <xs:sequence>
                                <xs:element ref="CmdID"/>
                                <xs:element ref="Target"/>
                                <xs:element ref="Source"/>
                                <xs:element ref="Cred" minOccurs="0"/>
                                <xs:element ref="Meta" minOccurs="0"/>
                                <xs:element name="MapItem" maxOccurs="unbounded">
                                        <xs:complexType>
                                                <xs:sequence>
                                                        <xs:element ref="Target"/>
                                                        <xs:element ref="Source"/>
                                                </xs:sequence>
                                        </xs:complexType>
                                </xs:element>
                        </xs:sequence>
                </xs:complexType>
        </xs:element>
        <xs:element name="Meta" type="xs:string"/>
        <xs:element name="MsgRef" type="xs:string"/>
        <xs:element name="NoResp">
                <xs:complexType/>
        </xs:element>
        <xs:element name="Replace">
                <xs:complexType>
                        <xs:sequence>
                                <xs:element ref="CmdID"/>
                                <xs:element ref="NoResp" minOccurs="0"/>
                                <xs:element ref="Cred" minOccurs="0"/>
                                <xs:element ref="Meta" minOccurs="0"/>
                                <xs:element ref="Item" maxOccurs="unbounded"/>
                        </xs:sequence>
                </xs:complexType>
        </xs:element>
        <xs:element name="Sequence">
                <xs:complexType>
                        <xs:sequence>
                                <xs:element ref="CmdID"/>
                                <xs:element ref="NoResp" minOccurs="0"/>
                                <xs:element ref="Meta" minOccurs="0"/>
                                <xs:choice maxOccurs="unbounded">
                                        <xs:element ref="Add"/>
                                        <xs:element ref="Replace"/>
                                        <xs:element ref="Delete"/>
                                        <xs:element ref="Copy"/>
                                        <xs:element ref="Atomic"/>
                                        <xs:element ref="Map"/>
                                        <xs:element ref="Sync"/>
                                        <xs:element ref="Get"/>
                                        <xs:element ref="Alert"/>
                                        <xs:element ref="Exec"/>
                                </xs:choice>
                        </xs:sequence>
                </xs:complexType>
        </xs:element>
        <xs:element name="Source">
                <xs:complexType>
                        <xs:sequence>
                                <xs:element ref="LocURI"/>
                                <xs:element ref="LocName" minOccurs="0"/>
                        </xs:sequence>
                </xs:complexType>
        </xs:element>
        <xs:element name="SourceRef" type="xs:string"/>
        <xs:element name="Sync">
                <xs:complexType>
                        <xs:sequence>
                                <xs:element ref="CmdID"/>
                                <xs:element ref="NoResp" minOccurs="0"/>
                                <xs:element ref="Cred" minOccurs="0"/>
                                <xs:element ref="Target" minOccurs="0"/>
                                <xs:element ref="Source" minOccurs="0"/>
                                <xs:element ref="Meta" minOccurs="0"/>
                                <xs:element name="NumberOfChanges" type="xs:string" minOccurs="0"/>
                                <xs:choice minOccurs="0" maxOccurs="unbounded">
                                        <xs:element ref="Add"/>
                                        <xs:element ref="Atomic"/>
                                        <xs:element ref="Copy"/>
                                        <xs:element ref="Delete"/>
                                        <xs:element ref="Replace"/>
                                        <xs:element ref="Sequence"/>
                                </xs:choice>
                        </xs:sequence>
                </xs:complexType>
        </xs:element>
        <xs:element name="SyncML">
                <xs:complexType>
                        <xs:sequence>
                                <xs:element name="SyncHdr">
                                        <xs:complexType>
                                                <xs:sequence>
                                                        <xs:element name="VerDTD" type="xs:string"/>
                                                        <xs:element name="VerProto" type="xs:string"/>
                                                        <xs:element name="SessionID" type="xs:string"/>
                                                        <xs:element name="MsgID" type="xs:string"/>
                                                        <xs:element ref="Target"/>
                                                        <xs:element ref="Source"/>
                                                        <xs:element name="RespURI" type="xs:string" minOccurs="0"/>
                                                        <xs:element ref="NoResp" minOccurs="0"/>
                                                        <xs:element ref="Cred" minOccurs="0"/>
                                                        <xs:element ref="Meta" minOccurs="0"/>
                                                </xs:sequence>
                                        </xs:complexType>
                                </xs:element>
                                <xs:element name="SyncBody">
                                        <xs:complexType>
                                                <xs:sequence>
                                                        <xs:choice maxOccurs="unbounded">
                                                                <xs:element ref="Alert"/>
                                                                <xs:element ref="Atomic"/>
                                                                <xs:element ref="Copy"/>
                                                                <xs:element ref="Exec"/>
                                                                <xs:element ref="Get"/>
                                                                <xs:element ref="Map"/>
                                                                <xs:element name="Put">
                                                                        <xs:complexType>
                                                                                <xs:sequence>
                                                                                        <xs:element ref="CmdID"/>
                                                                                        <xs:element ref="NoResp" minOccurs="0"/>
                                                                                        <xs:element ref="Lang" minOccurs="0"/>
                                                                                        <xs:element ref="Cred" minOccurs="0"/>
                                                                                        <xs:element ref="Meta" minOccurs="0"/>
                                                                                        <xs:element ref="Item" maxOccurs="unbounded"/>
                                                                                </xs:sequence>
                                                                        </xs:complexType>
                                                                </xs:element>
                                                                <xs:element name="Results">
                                                                        <xs:complexType>
                                                                                <xs:sequence>
                                                                                        <xs:element ref="CmdID"/>
                                                                                        <xs:element ref="MsgRef" minOccurs="0"/>
                                                                                        <xs:element ref="CmdRef"/>
                                                                                        <xs:element ref="Meta" minOccurs="0"/>
                                                                                        <xs:element ref="TargetRef" minOccurs="0"/>
                                                                                        <xs:element ref="SourceRef" minOccurs="0"/>
                                                                                        <xs:element ref="Item" maxOccurs="unbounded"/>
                                                                                </xs:sequence>
                                                                        </xs:complexType>
                                                                </xs:element>
                                                                <xs:element name="Search">
                                                                        <xs:complexType>
                                                                                <xs:sequence>
                                                                                        <xs:element ref="CmdID"/>
                                                                                        <xs:element ref="NoResp" minOccurs="0"/>
                                                                                        <xs:element name="NoResults" minOccurs="0">
                                                                                                <xs:complexType/>
                                                                                        </xs:element>
                                                                                        <xs:element ref="Cred" minOccurs="0"/>
                                                                                        <xs:element ref="Target" minOccurs="0"/>
                                                                                        <xs:element ref="Source" maxOccurs="unbounded"/>
                                                                                        <xs:element ref="Lang" minOccurs="0"/>
                                                                                        <xs:element ref="Meta"/>
                                                                                        <xs:element ref="Data"/>
                                                                                </xs:sequence>
                                                                        </xs:complexType>
                                                                </xs:element>
                                                                <xs:element ref="Sequence"/>
                                                                <xs:element name="Status">
                                                                        <xs:complexType>
                                                                                <xs:sequence>
                                                                                        <xs:element ref="CmdID"/>
                                                                                        <xs:element ref="MsgRef"/>
                                                                                        <xs:element ref="CmdRef"/>
                                                                                        <xs:element name="Cmd" type="xs:string"/>
                                                                                        <xs:element ref="TargetRef" minOccurs="0" maxOccurs="unbounded"/>
                                                                                        <xs:element ref="SourceRef" minOccurs="0" maxOccurs="unbounded"/>
                                                                                        <xs:element ref="Cred" minOccurs="0"/>
                                                                                        <xs:element name="Chal" minOccurs="0">
                                                                                                <xs:complexType>
                                                                                                        <xs:sequence>
                                                                                                                <xs:element ref="Meta"/>
                                                                                                        </xs:sequence>
                                                                                                </xs:complexType>
                                                                                        </xs:element>
                                                                                        <xs:element ref="Data"/>
                                                                                        <xs:element ref="Item" minOccurs="0" maxOccurs="unbounded"/>
                                                                                </xs:sequence>
                                                                        </xs:complexType>
                                                                </xs:element>
                                                                <xs:element ref="Sync"/>
                                                                <xs:element ref="Add"/>
                                                                <xs:element ref="Replace"/>
                                                                <xs:element ref="Delete"/>
                                                        </xs:choice>
                                                        <xs:element name="Final" minOccurs="0">
                                                                <xs:complexType/>
                                                        </xs:element>
                                                </xs:sequence>
                                        </xs:complexType>
                                </xs:element>
                        </xs:sequence>
                </xs:complexType>
        </xs:element>
        <xs:element name="Target">
                <xs:complexType>
                        <xs:sequence>
                                <xs:element ref="LocURI"/>
                                <xs:element ref="LocName" minOccurs="0"/>
                        </xs:sequence>
                </xs:complexType>
        </xs:element>
        <xs:element name="TargetRef" type="xs:string"/>
</xs:schema>