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&#39;=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&#39;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">&lt;<a href=3D"mailto:akamanouch=
[email protected]">[email protected]</a>&gt;</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=
">&lt;<a href=3D"mailto:[email protected]" target=3D"_blank">akamanouch=
[email protected]</a>&gt;</span><br>


Date=A0: 6 d=E9cembre 2011 15:24<br>Objet=A0: G=E9n=E9rer un XML =E0 partir=
 d&#39;une XSD au runtime<br>=C0=A0: JAVA_ML_USTRASBG &lt;<a href=3D"mailto=
:[email protected]" target=3D"_blank">[email protected]</a>&gt;<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&#39;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&#39;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&#39;utilise d=E9j=E0 <br>- JAXB pour mon Binding XM=
L/Java<br>- XSOM (l&#39;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&#39;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--