[Java] Parser XML léger

Parser XML léger [Java] - VB/VBA/VBS - Programmation

Marsh Posté le 01-05-2002 à 08:07:39    

:hello:  
je cherche un parser XML léger pour mon applet... Pour le moment j'utilise JDOM qui utilise lui même Xerces, mais xerces.jar pèse 1.5 Mo donc bcp trop pour une applet...
Si vous avez des pistes de recherche...


---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com
Reply

Marsh Posté le 01-05-2002 à 08:07:39   

Reply

Marsh Posté le 01-05-2002 à 10:41:11    

tu dois parser quels genre de fichiers. Si c'est léger et si c'est tout le temps la meme chose, fais le à la main ;) Y a pas plus léger (et plus foireux aussi mais bon).
 
Bon mon conseil est nul je sais mais c'est un up déguisé car la question m'intéresse aussi ...
 
Une solution est d'installer XML chez les postes clients (y a pas de miracle si tu veux utiliser des trucs comme XML, etc)


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 01-05-2002 à 10:54:01    

les fichiers sont assez petits en effet (de l'ordre de 1 à 5 Ko maximum), c'est pour le projet de simulation graphique du noyau d'un sytème d'exploitation dont je t'avais parlé il y a un moment... Les scénario d'exéctution sont en XML. Donc l'appli doit parser des fichiers qui ont tous la même DTD (qui ne changera pas...). Alors c'est vrai que faire un parser spécialisé aurait été une bonne idée, mais par manque de temps (et oui, il fallait le rendre le projet...) on a pris un parser tout fait, mais de 1.5 Mo. Une amélioration de notre simulateur serait de l'alléger...


---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com
Reply

Marsh Posté le 01-05-2002 à 11:32:14    

z0rglub a écrit a écrit :

les fichiers sont assez petits en effet (de l'ordre de 1 à 5 Ko maximum), c'est pour le projet de simulation graphique du noyau d'un sytème d'exploitation dont je t'avais parlé il y a un moment... Les scénario d'exéctution sont en XML. Donc l'appli doit parser des fichiers qui ont tous la même DTD (qui ne changera pas...). Alors c'est vrai que faire un parser spécialisé aurait été une bonne idée, mais par manque de temps (et oui, il fallait le rendre le projet...) on a pris un parser tout fait, mais de 1.5 Mo. Une amélioration de notre simulateur serait de l'alléger...  




 
je vais tenter de retrouver un mail d'un contact du W3C qui m'avait expliqué qu'il y avait moyen, à la compilation d'un package de montrer toutes les classes nécesséaires pour que ca fonctionne. Tu pourrais dézipper le jar, virer tout ce que tu n'as pas besoin et recompiler. A mon avis tu devrais gagner pas mal de place. Je vais regarder si je retrouve ca  
 
 :hello:


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 01-05-2002 à 11:38:12    

Citation :


As I recall, jigsaw had some dependencies which would require the
creation
of a few more interface classes to break it up.
 
1)You could start with a known entry point source
file
and try to compile it. It would of course fail to compile but the
failure
message should indicate a needed dependency which you could then auto
find and add to the list of sources.
 
2) Another possibility is to supply flags to the JRE to persuade it to
list classes
as they are loaded.
 
3) Another possibility is to look in the generated class files. The
compiler store the *real* import dependencies in the class file
header
(rather than those mere programmer estimates of dependencies listed in
the source file)
 
All approaches may need some human guidance to find classes not
statically
linked (e.g loaded by name from property values) but this should be a
small
proportion.
 


 
essaie de compiler en verbose pour voir ...


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 01-05-2002 à 22:12:17    

z0rglub a écrit a écrit :

:hello:  
je cherche un parser XML léger pour mon applet... Pour le moment j'utilise JDOM qui utilise lui même Xerces, mais xerces.jar pèse 1.5 Mo donc bcp trop pour une applet...
Si vous avez des pistes de recherche...  




 
juste une idée comme ça: tu peux ptet les parser sur le serveur? (sockets pif paf)

Reply

Marsh Posté le 02-05-2002 à 07:01:47    

c'est une idée à explorer, mais ça suppose d'utiliser les servlets et ça change l'architecture de notre appli, mais c'est pas forcément une mauvaise chose même si demande du temps...


---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com
Reply

Marsh Posté le 02-05-2002 à 09:24:36    

Comme parsers leger, tu as SAX  si tu tiens a du Java, ou sinon, expat en C.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 02-05-2002 à 10:44:37    

z0rglub a écrit a écrit :

c'est une idée à explorer, mais ça suppose d'utiliser les servlets et ça change l'architecture de notre appli, mais c'est pas forcément une mauvaise chose même si demande du temps...  




pas necessairement , si tu peux ouvrir un port sur ton serveur et y coller une chaussette...

Reply

Marsh Posté le 02-05-2002 à 20:54:59    

greg@freestarthu a écrit a écrit :

 
pas necessairement , si tu peux ouvrir un port sur ton serveur et y coller une chaussette...  




ouep ! les chausettes c'est multi-langage !

Reply

Marsh Posté le 02-05-2002 à 20:54:59   

Reply

Marsh Posté le 03-05-2002 à 09:24:58    

benou a écrit a écrit :

 
ouep ! les chausettes c'est multi-langage !  




 
 :D


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 03-05-2002 à 09:25:47    

je persiste à dire qu'un petit XML de 10ko avec le meme DTD ca peut se faire à la main si on veut vraiment optimiser (mais alors tu ne fonctionnes pas en mode validation. Ou tu valides ton doc XML coté serveur avant de le banalcer chez le client)


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 03-05-2002 à 11:48:29    

je fonctionne pas en mode validation (pas d'analyse syntaxique...) je récupère juste les valeur des contenus de balise :

Code :
  1. <?xml version="1.0" standalone="no" ?>
  2.   <!DOCTYPE scenario (View Source for full doctype...)>
  3. - <scenario>
  4.   <nomScenario>Gestion_des_evts</nomScenario>
  5. - <donneesAuteur>
  6.   <nomAuteur>Virginie Mathivet</nomAuteur>
  7.   <mailAuteur>vm_42@yahoo.fr</mailAuteur>
  8.   </donneesAuteur>
  9.   <dateCreation>26/04/2002</dateCreation>
  10.   <tabObjet />
  11. - <tabTache>
  12. - <tache>
  13.   <prioTache>3</prioTache>
  14.   <idTache>Tache3</idTache>
  15. - <primitiveTache>
  16.   <nomPrimitive>signalerEvt</nomPrimitive>
  17.   <nomObjet>EVT1</nomObjet>
  18.   <parametre>Tache1</parametre>
  19.   </primitiveTache>
  20. - <primitiveTache>
  21.   <nomPrimitive>attendreEvt</nomPrimitive>
  22.   <nomObjet>EVT1</nomObjet>
  23.   </primitiveTache>
  24. - <primitiveTache>
  25.   <nomPrimitive>signalerEvt</nomPrimitive>
  26.   <nomObjet>EVT1</nomObjet>
  27.   <parametre>Tache2</parametre>
  28.   </primitiveTache>
  29. - <primitiveTache>
  30.   <nomPrimitive>attendreEvt</nomPrimitive>
  31.   <nomObjet>EVT2</nomObjet>
  32.   </primitiveTache>
  33.   </tache>
  34. - <tache>
  35.   <prioTache>2</prioTache>
  36.   <idTache>Tache2</idTache>
  37. - <primitiveTache>
  38.   <nomPrimitive>attendreEvt</nomPrimitive>
  39.   <nomObjet>EVT1</nomObjet>
  40.   </primitiveTache>
  41. - <primitiveTache>
  42.   <nomPrimitive>effacerEvt</nomPrimitive>
  43.   <nomObjet>EVT1</nomObjet>
  44.   </primitiveTache>
  45. - <primitiveTache>
  46.   <nomPrimitive>signalerEvt</nomPrimitive>
  47.   <nomObjet>EVT2</nomObjet>
  48.   <parametre>Tache3</parametre>
  49.   </primitiveTache>
  50.   </tache>
  51. - <tache>
  52.   <prioTache>1</prioTache>
  53.   <idTache>Tache1</idTache>
  54. - <primitiveTache>
  55.   <nomPrimitive>attendreEvt</nomPrimitive>
  56.   <nomObjet>EVT1</nomObjet>
  57.   </primitiveTache>
  58. - <primitiveTache>
  59.   <nomPrimitive>effacerEvt</nomPrimitive>
  60.   <nomObjet>EVT1</nomObjet>
  61.   </primitiveTache>
  62. - <primitiveTache>
  63.   <nomPrimitive>signalerEvt</nomPrimitive>
  64.   <nomObjet>EVT1</nomObjet>
  65.   <parametre>Tache3</parametre>
  66.   </primitiveTache>
  67.   </tache>
  68.   </tabTache>
  69.   </scenario>


---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com
Reply

Marsh Posté le 03-05-2002 à 11:50:32    

sax pur c'est pas suffisament léger comme le suggère Gilou?


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 03-05-2002 à 12:22:35    

Z0rglub>c'est pour ton stage ?

 

[jfdsdjhfuetppo]--Message édité par chadenat le 03-05-2002 à 12:23:06--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 03-05-2002 à 13:07:41    

chadenat a écrit a écrit :

Z0rglub>c'est pour ton stage ?



projet spécifique... t'auras l'URL à la rentrée


---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com
Reply

Marsh Posté le 03-05-2002 à 23:06:30    

z0rglub a écrit a écrit :

je fonctionne pas en mode validation (pas d'analyse syntaxique...) je récupère juste les valeur des contenus de balise :




En ce cas, sax ou sax2 te conviendras parfaitement.
Sax  c'est leger, et parfait pour recuperer les données. Par contre ca valide pas par rapport a une DTD.
A+,

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed