Générer un fichier XSD à partire de XML [Résolu]

Signaler
Messages postés
18
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
25 décembre 2008
-
Messages postés
18
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
25 décembre 2008
-
salut pour tous:


je veux parser un fichier xml existant en utilisant JAXB, la première étape est transformer le fichier xml en XSD,

Est ce que je doit créer une variable d'environnement JWSDP_HOME pour le web service ?

Est ce qu'il y a quelqu'un qui peut m'aider pour faire ça et merci?
Salem Gassara

8 réponses

Messages postés
18
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
25 décembre 2008

Merci pour vos réponses et vos aides, le problème est résolue.
JAXB permet de faire passer de XML ==> Objet et de Objet==> XML automatiquement.

Salem Gassara 
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
99
Salut,

Quel est le rapport entre extraire le xsd d'un xml, les webservices, et les variables d'environnement ???
______________________________________
DarK Sidious
Messages postés
18
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
25 décembre 2008

je ne sais pas moi aussi je suis etaunné,
mais j'ai lu un document où son auteur dit qu'il faut créer une variable d'environnement de webservice, voici le lien :

http://www.labo-sun.com/resource-FR-articles-606-0-java-autre-jaxb-le-data-binding-en-java.htm
partie :II / C Déclaration de variables d'environnement:

 Si c'est pas correcte comment poursuivre pour parser un fichier xml à partire de l'API JAXB
Merci

Salem Gassara
Messages postés
130
Date d'inscription
mardi 21 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2008

Salut,
par définition un fichier XSD permet de vérifier l'intégrité d'un fichier XML. Donc si tu génère le XSD à partir du XML il est certain que ça validera ta grammaire ma ça n'aura aucune valeur en terme de confirmité de données. Le XSD doit être fait indépendamment du XML qu'il doit valider.
Perso je m'étais servi de commons.Digester lorsque j'ai eu be soin de faire du "Data Binding".

--- Moucave , petit singe au pays du j2ee  ---
Messages postés
18
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
25 décembre 2008

Salut pour tous,

j'ai fait quelque recherche sur Internet et j'ai compris que JAXB ne permet pas de

générer des fichier XSD, je doit créer le document xsd manuellement à partir de mon fichier.xml
ma question est comment je crée mon fichier xml ?

je le fait manuellement ou il y a des outils qui fait ça ?


Merci .
Salem Gassara
Messages postés
18
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
25 décembre 2008

Merci [auteur/MOUCAVE/548540.aspx Moucave]votre interret sur ce sujet, oui il faut créer le fichier.xsd à part c-à-d manuellement,
Il y a l'outil xmlspy.
que penser vous ? je crée mon xsd manuellement où à partire d'un outil ?

Salem Gassara
Messages postés
18
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
25 décembre 2008

Ce sujet m'interesse beaucoup,

Voici mon fichier xml, je veux le convertire en xsd pour faire le Binding avec JAXB,
//fichier xml:
<START_Ferry_SFS_GeneralReplySFS>

    <errorAndMessageLine>

        <Text></Text>

    </errorAndMessageLine>

   

        <FN></FN>

   

    <cursor>

        <Row></Row>

        <Col></Col>

    </cursor>

    <sfsApplication>

       

        <FerryCompany></FerryCompany>

        <GrownUp></GrownUp>

        <Child></Child>

       

        <ReservationNo></ReservationNo>

        <TicketNo></TicketNo>

        <FareType></FareType>

        <NextPage></NextPage>

       


       


       

        <TitleVoucher></TitleVoucher>

        <MarkerField_1></MarkerField_1>

        <MarkerField_2></MarkerField_2>

        <MarkerField_3></MarkerField_3>

        <MarkerField_4></MarkerField_4>

        <Departure_1></Departure_1>

        <Departure_2></Departure_2>

        <Departure_3></Departure_3>

        <Departure_4></Departure_4>

        <Destination_1></Destination_1>

        <Destination_2></Destination_2>

        <Destination_3></Destination_3>

        <Destination_4></Destination_4>

        <NameOfShip_1></NameOfShip_1>

        <NameOfShip_2></NameOfShip_2>

        <NameOfShip_3></NameOfShip_3>

        <NameOfShip_4></NameOfShip_4>

        <DepartureDate_1></DepartureDate_1>

        <DepartureDate_2></DepartureDate_2>

        <DepartureDate_3></DepartureDate_3>

        <DepartureDate_4></DepartureDate_4>

        <DepartureTime_1></DepartureTime_1>

        <DepartureTime_2></DepartureTime_2>

        <DepartureTime_3></DepartureTime_3>

        <DepartureTime_4></DepartureTime_4>

        <CheckInTime_1></CheckInTime_1>

        <CheckInTime_2></CheckInTime_2>

        <CheckInTime_3></CheckInTime_3>

        <CheckInTime_4></CheckInTime_4>

        <TypeOfCabin_1></TypeOfCabin_1>

        <TypeOfCabin_2></TypeOfCabin_2>

        <TypeOfCabin_3></TypeOfCabin_3>

        <TypeOfCabin_4></TypeOfCabin_4>

        <OccupancyType_1></OccupancyType_1>

        <OccupancyType_2></OccupancyType_2>

        <OccupancyType_3></OccupancyType_3>

        <OccupancyType_4></OccupancyType_4>

        <OccupancyExclusive_1></OccupancyExclusive_1>

        <OccupancyExclusive_2></OccupancyExclusive_2>

        <OccupancyExclusive_3></OccupancyExclusive_3>

        <OccupancyExclusive_4></OccupancyExclusive_4>

        <CabinNo_1></CabinNo_1>

        <CabinNo_2></CabinNo_2>

        <CabinNo_3></CabinNo_3>

        <CabinNo_4></CabinNo_4>

        <SeatNo_1></SeatNo_1>

        <SeatNo_2></SeatNo_2>

        <SeatNo_3></SeatNo_3>

        <SeatNo_4></SeatNo_4>

        <Count_1></Count_1>

        <Count_2></Count_2>

        <Count_3></Count_3>

        <Count_4></Count_4>

        <Status_1></Status_1>

        <Status_2></Status_2>

        <Status_3></Status_3>

        <Status_4></Status_4>

       

       

       

       

       


       


       


       


        <Title_1></Title_1>

        <Title_3></Title_3>

        <Title_2></Title_2>

        <Title_4></Title_4>

        <Name_1></Name_1>

        <Name_3></Name_3>

        <Name_2></Name_2>

        <Name_4></Name_4>

        <Nationality_1></Nationality_1>

        <Nationality_3></Nationality_3>

        <Nationality_2></Nationality_2>

        <Nationality_4></Nationality_4>

       

       

       

       

        <Reduction_1></Reduction_1>

        <Reduction_3></Reduction_3>

        <Reduction_2></Reduction_2>

        <Reduction_4></Reduction_4>

        <CancelFee></CancelFee>

        <CarFee_1></CarFee_1>

        <CarFee_2></CarFee_2>

        <CarType_1></CarType_1>

        <CarType_2></CarType_2>

        <CarName_1></CarName_1>

        <CarName_2></CarName_2>

        <LicensePlateNo_1></LicensePlateNo_1>

        <LicensePlateNo_2></LicensePlateNo_2>

        <CarLength_1></CarLength_1>

        <CarLength_2></CarLength_2>

        <CarHeight_1></CarHeight_1>

        <CarHeight_2></CarHeight_2>

        <CarWidth_1></CarWidth_1>

        <CarWidth_2></CarWidth_2>

        <CarWeight_1></CarWeight_1>

        <CarWeight_2></CarWeight_2>

        <CarSpaceDeckNo_1></CarSpaceDeckNo_1>

        <CarSpaceDeckNo_2></CarSpaceDeckNo_2>

        <CarSpacePlaceNo_1></CarSpacePlaceNo_1>

        <CarSpacePlaceNo_2></CarSpacePlaceNo_2>

        <MiscRemark_1></MiscRemark_1>

        <MiscRemark_2></MiscRemark_2>

       


        <Currency></Currency>

        <Total></Total>

        <DestinationCode></DestinationCode>

        <CostCenter></CostCenter>

        <OrderNo></OrderNo>

        <CommissionCode></CommissionCode>

        <DepartureDate></DepartureDate>

        <Operator></Operator>

    </sfsApplication>

   

        <CustomerNo></CustomerNo>

        <OffsetAccount></OffsetAccount>

       

        <FormOfPayment></FormOfPayment>

        <ConsCode></ConsCode>

        <Traveller></Traveller>

        <DateOfTravel></DateOfTravel>

        <OrderedBy></OrderedBy>

        <OrderDate></OrderDate>

        <CustomerTitle></CustomerTitle>

        <CustomerName></CustomerName>

        <CustomerStreet></CustomerStreet>

        <CustomerPostalCode></CustomerPostalCode>

        <CustomerCity></CustomerCity>

       


   

   

        <Row></Row>

        <Count></Count>

   


   

        <Data></Data>

   


   

        <Count></Count>

   


   

        <Row></Row>

        <Col></Col>

        <Display></Display>

        <Length></Length>

   


    <markFN>

        <Display></Display>

        <Mark></Mark>

    </markFN>

    <textFNWithoutPrinting>

        <FN></FN>

        <Time></Time>

    </textFNWithoutPrinting>

</START_Ferry_SFS_GeneralReplySFS>

Comment je le convertit en xsd.

Merci si quelqu'un me donne le processus de transformation
Salem Gassara
Messages postés
130
Date d'inscription
mardi 21 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2008

Hello,
Je me suis déja servi de XMLSPY comme logiciel et c'est l'un des meilleurs qui te permettra de valider ton xml avec un fichier xsd. Cependant il est payant, tu pourra te procurer une version gratuite de 30 jours si ma mémoire est bonne.
Bon sinon pour ma part le processus de transformation c'est à la main. J'écrivais même mes XSD avant d'écrire mon XML. Maintenant pour tes XSD je ne sais pas si tu as des outils qui te le font automatiquement à partir du XML.
Sinon il faut que tu définisse toi même ta XSD à la main... Ca te donnerai un truc dans le genre:

<xsd:element name="START_Ferry_SFS_GeneralReplySFS">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="errorAndMessageLine" minOccurs="1" maxOccurs="1"/>
                <xsd:element ref="alternativeTextFN" minOccurs="1" maxOccurs="1"/>
                <xsd:element ref="cursor" minOccurs="1" maxOccurs="1"/>
                <xsd:element ref="sfsApplication" minOccurs="1" maxOccurs="1"/>
    ....

Comme je te le disais précédemment, si tu le crée à partir d'un outil qui va se baser sur le XML ça ne sert pas à grand chose...

Bonne continuation.

--- Moucave , petit singe au pays du j2ee  ---