Article View: fr.comp.text.xml
Article #9335Re: [NEWBIE] Importer un XML (+ DTD) dans BD Oracle...
From: Doeni
Date: Tue, 17 Apr 2001 19:14
Date: Tue, 17 Apr 2001 19:14
78 lines
3438 bytes
3438 bytes
Lassie <lameto@altavista.net> writes:
> Hello,
> J'ai besoin d'importer un fichier XML au format d�j� d�fini (par une
> autre application). J'ai la doc du format DTD de ce fichier. Mon but est
> d'importer ce fichier r�guli�rement dans une BD Oracle (v8).
>
> Seul probl�me, le mod�le physique ORACLE est radicalement diff�rent du
> mod�le d�fini pour le XML (pas la m�me application). Comment importer
> mes donn�es ?
> On m'a parl� de plusieurs solutions :
Effectivement il y a plusieurs solutions :
> 1 - Transformer le XML vers un autre XML qui correspond plus � ma BD
> (transformation XSLT ?)
Solution XML pure : Transformer ton fichier XML en plusieurs fichiers
XML sous forme canonique. C'est-�-dire :
<ROWSET>
<ROW num="1">
<champ1>valeur1</champ1>
<champ2>valeur2</champ2>
...
</ROW>
<ROW num="2">
<champ1>valeur1</champ1>
...
</ROW>
...
<ROWSET>
Chaque ROW correspondant � un enregistrement de la table, champX � une
colonne de la table.
La transformation se faisant par XSLT.
> 2 - Utiliser une API comme DOM ? Quel langage ? Java ? Autre...
La solution programmatique. Le langage importe peu du moment qu'il
existe un moyen d'acc�der une base, et qu'il existe un parser (DOM ou
SAX).
Les langages les plus �vidents �tant Java, C, C++ et PL/SQL.
Comme c'est toi qui fait le programme tu es libre de faire ce que tu
veux.
> 3 - Autre sol ?
La solution SQL pure :
Cr�er des vues objets (ou object view) par dessus ton sch�ma
relationnel et tes tables. Puis � l'aide de trigger 'Instead of'
remplir les tables.
La structure de ton object view sera similaire � la structure de
fichier XML (DTD).
Cette approche est assez sympa � condition de connaitre SQL et les
types objets d'Oracle. Le seul prob�me �tant que les collections
(VARRAY) ne peuvent pas s'imbriquer.
>
> O� trouver des exemples sur les API et sur les transformations XSLT
Le XDK d'Oracle contient pas mal d'exemples d'utilisation des API DOM
et SAX ainsi que pour XSL.
Voir aussi les exemples sur Technet :
http://technet.oracle.com/tech/xml
> Voil�. Merci pour vos conseils avis�s.
> A+
Et amuse toi bien.
>
> Lassie
>
>
--
Rien n'est jamais perdu tant qu'il reste quelque chose � trouver.
-Pierre Dac
Technical Details
Message-ID:
<87d7ab1gq4.fsf@dinosaur.evhr.net>Path:
arc1-ca.pugleaf.net!supernews.google.com!sn-xit-03!supernews.com!freenix!isdnet!inetway!inetway.net!not-for-mailReferences:
<3ADC65EE.D9EE42A3@altavista.net>Show Full Headers
Complete Article Headers
X-Google-Language: FRENCH,ASCII X-Google-Thread: 114f60,6ee997f9051384e7 X-Google-Attributes: gid114f60,public X-Google-ArrivalTime: 2001-04-17 12:20:09 PST Path: arc1-ca.pugleaf.net!supernews.google.com!sn-xit-03!supernews.com!freenix!isdnet!inetway!inetway.net!not-for-mail From: Doeni <doeni@evhr.net> Newsgroups: fr.comp.text.xml Subject: Re: [NEWBIE] Importer un XML (+ DTD) dans BD Oracle... Date: 17 Apr 2001 21:14:27 +0200 Organization: Ni dieu ni b�te Lines: 78 Message-ID: <87d7ab1gq4.fsf@dinosaur.evhr.net> References: <3ADC65EE.D9EE42A3@altavista.net> NNTP-Posting-Host: cm245-8.evhr.net Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: reader1.fr.uu.net 987536209 22755 212.94.199.245 (17 Apr 2001 19:36:49 GMT) X-Complaints-To: abuse@fr.uu.net NNTP-Posting-Date: 17 Apr 2001 19:36:49 GMT User-Agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.1 (Cuyahoga Valley)