🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fr.comp.text.xml
Article #8726

Re: DOM et SAX

#8726
From: Alain Ketterlin
Date: Tue, 21 Aug 2001 12:36
38 lines
2820 bytes
"Johan MOREAU" <Johan-Moreau@laposte.net> writes:

> Je d�sire cr�er et pouvoir relire des fichiers aux formats XML. Je travaille
> en C++ sous VISUAL.
> Je d�sire "s�rialiser" mes objets que j'ai en m�moire (list, vector de la
> stl contenant des entiers, float et autres string).
> Dans un but d'ouverture, je souhaite faire cette "s�rialisation" en XML.
> Dans ce but j'ai r�cup�rer Xerces (Apache). Mais je me confronte � un
> probl�me. Il me semble que je peux r�aliser mon outils soit avec DOM soit
> avec SAX. Le probl�me c'est que je n'arrive pas � voir la diff�rence entre
> les 2...

En general, SAX et DOM sont utilises plutot pour aller dans l'autre
sens (du document vers la memoire). Mais j'imagine que tu auras besoin
de cela aussi.

La difference majeure entre les deux est que DOM construit une image
en memiore du document complet avant d'y donner acces. C'est pratique
pour des acces aleatoires, mais ca occupe pas mal de memoire. SAX, par
contre, lit le document en indiquant au programme ce qu'il voit (une
balise ouvrante, etc.) Ca veut dire que c'est au programme de
chopper au vol ce qui l'interesse (dans ton cas, tout je pense).

Le critere majeur de choix est, selon moi, le fait d'avoir des liens
dans le document (par ID/IDREF ou autre). Ca complique un peu la vie
avec SAX, alors qu'avec DOM ca se regle tout seul.

Le mieux est peut-etre de demarrer avec DOM, parce que ca prend
quelques lignes. Si ce n'est pas satisfaisant, tu peux toujours t'y
coller et passer a SAX (mais cela demandera un peu plus de
programmation).

Pour ce qui est d'ecrire, je ne crois pas que SAX ait prevu quoi que
ce soit. Et pour DOM, c'est du niveau 3. En particulier Xerces n'a pas
de mecanisme de serialisation en C++. Donc, il va falloir l'ecrire
toi-meme.

-- Alain.
Technical Details
Message-ID: <wyy9odtwst.fsf@polya.u-strasbg.fr>
Path: arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!sn-xit-02!supernews.com!news.tele.dk!small.news.tele.dk!213.56.195.71!fr.usenet-edu.net!usenet-edu.net!enst!univ-angers.fr!news.unicaen.fr!univ-lille1.fr!news.u-strasbg.fr!not-for-mail
References: <9ltoqr$pol$1@news.u-strasbg.fr>

Show Full Headers
Complete Article Headers
X-Google-Language: FRENCH,ASCII
X-Google-Thread: 114f60,5684defd274f05a0
X-Google-Attributes: gid114f60,public
X-Google-ArrivalTime: 2001-08-21 06:25:34 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!sn-xit-02!supernews.com!news.tele.dk!small.news.tele.dk!213.56.195.71!fr.usenet-edu.net!usenet-edu.net!enst!univ-angers.fr!news.unicaen.fr!univ-lille1.fr!news.u-strasbg.fr!not-for-mail
From: Alain Ketterlin <alain@dpt-info.u-strasbg.fr>
Newsgroups: fr.comp.text.xml
Subject: Re: DOM et SAX
Date: 21 Aug 2001 14:36:02 +0200
Organization: CRC - Universite Louis Pasteur Strasbourg France
Lines: 38
Message-ID: <wyy9odtwst.fsf@polya.u-strasbg.fr>
References: <9ltoqr$pol$1@news.u-strasbg.fr>
NNTP-Posting-Host: polya.u-strasbg.fr
X-Trace: news.u-strasbg.fr 998405027 26428 130.79.44.199 (21 Aug 2001 14:43:47 GMT)
X-Complaints-To: usenet@u-strasbg.fr
NNTP-Posting-Date: 21 Aug 2001 14:43:47 GMT
X-Newsreader: Gnus v5.6.45/XEmacs 21.1 - "Capitol Reef"