Re: Générer un XML à partir d'une XSD au runtime
Laurent Forêt <[email protected]> Tue, 6 Dec 2011 16:33:57 +0100
| Newsgroups | gmane.comp.java.french.general |
|---|---|
| Message-ID | <CAGbcYL=iECbORGW+D5zpgq9KncLW2g3OiVKT6tTMuoVxd07YLg@mail.gmail.com> |
--e89a8f2359a9273b3804b36e2bcc Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Salut Sylvain, on a eu =E0 faire =E7a dans le temps dans mes souvenirs on utiliser les librairies de xerces pour le faire notamment le XSLoader pour r=E9cup=E9rer= le XSModel puis pour chaque XSElementDeclaration on cr=E9ait un nouvel =E9l=E9= ment dans le DOM. C'=E9tait brut de fonderie mais =E7a marchait. Une fa=E7on plus =E9l=E9gante serait de g=E9n=E9rer le modele JAXB, de char= ger les classes puis de jouer avec ce mod=E8le. MAis l=E0 j'ai pas fait. Laurent For=EAt http://www.devcoop.fr, http://laurentforet.org IvyBeans Creator Membre du JUG Bordeaux 2011/12/6 Sylvain RICHET <[email protected]> > (pr=E9cision suppl=E9mentaire) > > Tout =E7a dans le but de compl=E9ter mes XML potentiellement incomplets p= ar > rapport =E0 leur d=E9finition de XSD... > > ---------- Message transf=E9r=E9 ---------- > De : Sylvain RICHET <[email protected]> > Date : 6 d=E9cembre 2011 15:24 > Objet : G=E9n=E9rer un XML =E0 partir d'une XSD au runtime > =C0 : JAVA_ML_USTRASBG <[email protected]> > > > > Bonjour =E0 Tous, > > Il me faut g=E9n=E9rer une template XML =E0 partir d'une XSD, ceci au run= time > (par runtime, je veux dire : pendant que je valide mes XML, et non pas pa= r > une commande du genre xjc...) > > J'ai d=E9j=E0 un peu googl=E9, mais bon, pas trouv=E9 de quoi r=E9pondre = =E0 mon > besoin > > A part ce lien peut-=EAtre (mais il faut alors me lancer dans de la > Customisation JAXB) : > > http://stackoverflow.com/questions/17106/how-to-generate-sample-xml-docum= ents-from-their-dtd-or-xsd > > ... o=F9 M. Rames conseille de solliciter EclipseLink MOXy... > > > Actuellement, j'utilise d=E9j=E0 > - JAXB pour mon Binding XML/Java > - XSOM (l'API de Kohsuke) pour mon parsing de XSD > > > Merci d'avance de vos conseils =E9clair=E9s > (pour ceux qui ont d=E9j=E0 arpent=E9 le chemin) > > > > --e89a8f2359a9273b3804b36e2bcc Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Salut Sylvain,=A0<div><br></div><div>on a eu =E0 faire =E7a dans le temps d= ans mes souvenirs on utiliser les librairies de xerces pour le faire notamm= ent le XSLoader pour r=E9cup=E9rer le XSModel puis pour chaque XSElementDec= laration on cr=E9ait un nouvel =E9l=E9ment dans le DOM.<div> <br></div><div>C'=E9tait brut de fonderie mais=A0=E7a=A0marchait.=A0<di= v><br></div><div>Une fa=E7on plus =E9l=E9gante serait de g=E9n=E9rer le mod= ele JAXB, de charger les classes puis de jouer avec ce mod=E8le. MAis l=E0 = j'ai pas fait.</div> <div><br></div><div>Laurent For=EAt<br><a href=3D"http://www.devcoop.fr">ht= tp://www.devcoop.fr</a>, <br><a href=3D"http://laurentforet.org">http://lau= rentforet.org</a><br>IvyBeans Creator<br>Membre du JUG Bordeaux<br><br><br>= <div class=3D"gmail_quote"> 2011/12/6 Sylvain RICHET <span dir=3D"ltr"><<a href=3D"mailto:akamanouch= [email protected]">[email protected]</a>></span><br><blockquote class=3D"g= mail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-l= eft:1ex;"> (pr=E9cision<span style=3D"background-color:rgb(51,204,0)" name=3D"textmark= er_1"></span> suppl=E9mentaire)<br><br>Tout =E7a dans le but de compl=E9ter= mes XML potentiellement incomplets par rapport =E0 leur d=E9finition de XS= D...<span style=3D"background-color:rgb(51,204,0)" name=3D"textmarker_16"><= /span><span style=3D"background-color:rgb(51,204,0)" name=3D"textmarker_15"= ></span><span style=3D"background-color:rgb(255,255,0)" name=3D"textmarker_= 14"></span><span style=3D"background-color:rgb(51,204,0)" name=3D"textmarke= r_13"></span><span style=3D"background-color:rgb(51,204,0)" name=3D"textmar= ker_12"></span><span style=3D"background-color:rgb(255,255,0)" name=3D"text= marker_11"></span><span style=3D"background-color:rgb(51,204,0)" name=3D"te= xtmarker_10"></span><span style=3D"background-color:rgb(255,255,0)" name=3D= "textmarker_9"></span><span style=3D"background-color:rgb(255,255,0)" name= =3D"textmarker_8"></span><span style=3D"background-color:rgb(255,255,0)" na= me=3D"textmarker_7"></span><span style=3D"background-color:rgb(255,0,0)" na= me=3D"textmarker_6"></span><span style=3D"background-color:rgb(51,204,0)" n= ame=3D"textmarker_5"></span><span style=3D"background-color:rgb(51,204,0)" = name=3D"textmarker_4"></span><span style=3D"background-color:rgb(51,204,0)"= name=3D"textmarker_3"></span><span style=3D"background-color:rgb(255,255,0= )" name=3D"textmarker_2"></span><br> <br><div class=3D"gmail_quote">---------- Message transf=E9r=E9 ----------<= br>De=A0: <b class=3D"gmail_sendername">Sylvain RICHET</b> <span dir=3D"ltr= "><<a href=3D"mailto:[email protected]" target=3D"_blank">akamanouch= [email protected]</a>></span><br> Date=A0: 6 d=E9cembre 2011 15:24<br>Objet=A0: G=E9n=E9rer un XML =E0 partir= d'une XSD au runtime<br>=C0=A0: JAVA_ML_USTRASBG <<a href=3D"mailto= :[email protected]" target=3D"_blank">[email protected]</a>><div><div cl= ass=3D"h5"><br><br> <br>Bonjour =E0 Tous,<br><br>Il me faut g=E9n=E9rer une template XML =E0 pa= rtir d'une XSD, ceci au runtime<span style=3D"background-color:rgb(255,= 255,0)" name=3D"textmarker_9"></span><span style=3D"background-color:rgb(51= ,204,0)" name=3D"textmarker_8"></span><span style=3D"background-color:rgb(5= 1,204,0)" name=3D"textmarker_7"></span><span style=3D"background-color:rgb(= 255,255,0)" name=3D"textmarker_6"></span><span style=3D"background-color:rg= b(255,255,0)" name=3D"textmarker_5"></span><span style=3D"background-color:= rgb(51,204,0)" name=3D"textmarker_4"></span><span style=3D"background-color= :rgb(51,204,0)" name=3D"textmarker_3"></span><span style=3D"background-colo= r:rgb(255,255,0)" name=3D"textmarker_2"></span><span style=3D"background-co= lor:rgb(51,204,0)" name=3D"textmarker_1"></span><br> (par runtime, je veux dire : pendant que je valide mes XML, et non pas par = une commande du genre xjc...)<br><br>J'ai d=E9j=E0 un peu googl=E9, mai= s bon<span style=3D"background-color:rgb(51,204,0)" name=3D"textmarker_5"><= /span><span style=3D"background-color:rgb(255,0,0)" name=3D"textmarker_4"><= /span><span style=3D"background-color:rgb(255,255,0)" name=3D"textmarker_3"= ></span><span style=3D"background-color:rgb(255,0,0)" name=3D"textmarker_2"= ></span><span style=3D"background-color:rgb(51,204,0)" name=3D"textmarker_1= "></span>, pas trouv=E9 de quoi r=E9pondre =E0 mon besoin<br> <br>A part ce lien peut-=EAtre (mais il faut alors me lancer dans de la Cus= tomisation JAXB) :<br><a href=3D"http://stackoverflow.com/questions/17106/h= ow-to-generate-sample-xml-documents-from-their-dtd-or-xsd" target=3D"_blank= ">http://stackoverflow.com/questions/17106/how-to-generate-sample-xml-docum= ents-from-their-dtd-or-xsd</a><br> <br> ... o=F9 M. Rames conseille de solliciter EclipseLink MOXy...<span style=3D= "background-color:rgb(255,255,0)" name=3D"textmarker_23"></span><span style= =3D"background-color:rgb(51,204,0)" name=3D"textmarker_22"></span><span sty= le=3D"background-color:rgb(51,204,0)" name=3D"textmarker_21"></span><span s= tyle=3D"background-color:rgb(255,255,0)" name=3D"textmarker_20"></span><spa= n style=3D"background-color:rgb(255,255,0)" name=3D"textmarker_19"></span><= span style=3D"background-color:rgb(51,204,0)" name=3D"textmarker_18"></span= ><br> <br><br>Actuellement, j'utilise d=E9j=E0 <br>- JAXB pour mon Binding XM= L/Java<br>- XSOM (l'API de Kohsuke) <span style=3D"background-color:rgb= (255,255,0)" name=3D"textmarker_27"></span><span style=3D"background-color:= rgb(255,0,0)" name=3D"textmarker_26"></span><span style=3D"background-color= :rgb(51,204,0)" name=3D"textmarker_25"></span><span style=3D"background-col= or:rgb(255,255,0)" name=3D"textmarker_24"></span><span style=3D"background-= color:rgb(51,204,0)" name=3D"textmarker_23"></span><span style=3D"backgroun= d-color:rgb(51,204,0)" name=3D"textmarker_22"></span>pour mon parsing de XS= D<br> <br><br>Merci d'avance de vos conseils =E9clair=E9s<br>(pour ceux qui o= nt d=E9j=E0 arpent=E9 le chemin)<span style=3D"background-color:rgb(51,204,= 0)" name=3D"textmarker_30"></span><span style=3D"background-color:rgb(255,2= 55,0)" name=3D"textmarker_29"></span><span style=3D"background-color:rgb(51= ,204,0)" name=3D"textmarker_28"></span><span style=3D"background-color:rgb(= 51,204,0)" name=3D"textmarker_27"></span><span style=3D"background-color:rg= b(51,204,0)" name=3D"textmarker_26"></span><span style=3D"background-color:= rgb(51,204,0)" name=3D"textmarker_25"></span><br> <br><br><span style=3D"background-color:rgb(51,204,0)" name=3D"textmarker_9= "></span><span style=3D"background-color:rgb(51,204,0)" name=3D"textmarker_= 8"></span><span style=3D"background-color:rgb(255,255,0)" name=3D"textmarke= r_7"></span> </div></div></div><br> </blockquote></div><br></div></div></div> --e89a8f2359a9273b3804b36e2bcc--