Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1058 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  java, dtd, xml et sax, help mega noob plz ...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

java, dtd, xml et sax, help mega noob plz ...

n°661394
John_Hide
Posté le 02-03-2004 à 20:15:42  profilanswer
 

Salut, dans le cadre d'un projet de fac, je dois utiliser xml pour créer un mini langage.
J'ai créé une dtd qui correspond a la grammaire de ce langage.
Bon, a partir de ca, je genere des classes java avec jbuilder sans probleme (une classe par element).
 
Mon prob, c'est que je dois instancier ces classes, ou une partie, en fonction d'un fichier xml (qui vérifie la dtd) et des elements et des attributs qu'il contient .
 
Je croisque je dois parcourir mon fichier xml et a chaque fois qu'il rencontre un element, il va instancier la classe correspondante et utiliser les valeurs des attributs dans ses méthodes .
Et je sais pas du tout comment faire ...
G regardé les tutos de jbuilder,et rapidement sur le site de sun, mais c pas trop ce que je recherche .
Si kk'un a compris mon charabiat, et avait une aide a me proposer (tuto, doc, ou procedure a faire) ce serai sympa
 
merci d'avance :)

mood
Publicité
Posté le 02-03-2004 à 20:15:42  profilanswer
 

n°661403
greg@frees​tarthu
Posté le 02-03-2004 à 20:19:52  profilanswer
 

bon en gros tu dois *parser* ton fichier xml, et chopper des valeurs dedans, que tu passeras au constructeur de tes classes?
 
si oui, la question que tu dois te poser, c'est: "comment lit-on un document xml", betement.
 
et laisse tomber jbuilder.

n°661410
nraynaud
lol
Posté le 02-03-2004 à 20:24:45  profilanswer
 

avec un titre pareil, je me demande s'il tente pas d'avoir une bonne place dans google quand même ...


---------------
trainoo.com, c'est fini
n°661449
John_Hide
Posté le 02-03-2004 à 20:52:26  profilanswer
 

lol, nan pas dans google, mais je voulais donner le plus d'elements dans le titre.
Alors, comment lire un document xml ?
Oui en effet, mais il faut que je recupere les infos pour le spasser aux constructeurs.
V faire un tour sur mon pote alors (google)
 
L'avantage de Jbuilder c que ca fait de beaux diagrammes (bah oue ca compte dans la notation) et puis je connais rien d'autre (sauf xemacs et vns, mais pour ce dernier c encore pire je crois :))
 
G vu pa smal de personne parlées de l'api dom.
Est ce un element de soluce ??


Message édité par John_Hide le 02-03-2004 à 20:56:15
n°661452
greg@frees​tarthu
Posté le 02-03-2004 à 20:57:10  profilanswer
 

jbuilder? diagrammes?
t'aurais un exemple à me montrer stp?
 
(ça fait ça à partir de tes sources?)
 
et pour lire l'xml bah DOMParser.getParser().parse(...)
en gros. :o

n°661453
greg@frees​tarthu
Posté le 02-03-2004 à 20:58:08  profilanswer
 

sinon t'as des libs comme jdom qui présentent une api bcp plus simple, et d'ailleurs plus performante. mais pas standard.
 
y'a aussi dom4j qui semble très apprécié, mais je suis pas certain d'ou il se situe par rapport aux standards et par rapport à jdom

n°661469
John_Hide
Posté le 02-03-2004 à 21:06:59  profilanswer
 

Nan, g pas d'exemple sous la main la, g format mon dd y a pas lgts, et g plus mes vieux projets dans jbuilder (mon archive est sur un dd dans le placard).
Mais ca genere des diagrammes de classe pas trop moches oue
 
Sax me permet aussi de lire mon ficher xml si je ne m'abuse ?
 
Enfin, v creuser Jdom aussi, thx


Message édité par John_Hide le 02-03-2004 à 21:07:40
n°661489
greg@frees​tarthu
Posté le 02-03-2004 à 21:16:50  profilanswer
 

sax aussi oui, mais à moins d'avoir un truc énorme à lire, dom te servira mieux.
 
pour jdom, méfie toi car ton prof s'attend pê à ce que tu utilises un parser standard :D
 
(hint: y'en a un par défaut dans la jdk>=1.4)

n°661544
John_Hide
Posté le 02-03-2004 à 22:12:12  profilanswer
 

oki mci  :jap:

n°661630
benou
Posté le 03-03-2004 à 00:40:24  profilanswer
 

greg@freestarthu a écrit :

jbuilder? diagrammes?


les dernières versions (8 ?) de jbuilder gèrent les diagrammes de classes UML ... je me demande si c'est pas un bout de rose qui a été intégré à jbuilder ...
 

greg@freestarthu a écrit :

sax aussi oui, mais à moins d'avoir un truc énorme à lire, dom te servira mieux.


 [:mlc2]  
pour le cas qu'il a donné, sax s'applique très très bien.  
 
 
 
Et j'ai jamais compris l'intérêt d'utiliser JDom par rapport à un parser DOM standard ... Si c'est pour les parfs, à la rigueur, (quoique je demande à être convaincu), mais pour la facilité d'utilisation, Dom + xpath c'est quand même très facilement manipulable ... Qu'est ce que ca apporte Jdom par rapport à ca ?


Message édité par benou le 03-03-2004 à 00:41:16
mood
Publicité
Posté le 03-03-2004 à 00:40:24  profilanswer
 

n°661632
greg@frees​tarthu
Posté le 03-03-2004 à 00:45:12  profilanswer
 

benou a écrit :

[:mlc2]  
pour le cas qu'il a donné, sax s'applique très très bien.  


j'ai pas dit que sax n'irait pas, mais j'ai toujours cru que sax était plus complexe à utiliser et que ça n'apportait un avantage que sur de *gros* documents.
j'ai peut etre raté un épisode.
 

benou a écrit :


Et j'ai jamais compris l'intérêt d'utiliser JDom par rapport à un parser DOM standard ... Si c'est pour les parfs, à la rigueur, (quoique je demande à être convaincu), mais pour la facilité d'utilisation, Dom + xpath c'est quand même très facilement manipulable ... Qu'est ce que ca apporte Jdom par rapport à ca ?


jdom est plus simple, si on se passe d'xpath. l'api est plus simple, moins de classes à manipuler, c'est plus intuitif (pas de trucs à faire du genre if nodeType==text || nodeType==je sais plus quoi..., t'as simplement getNodeTextContent() et getChildren ou qqchose dans le style)
 
et pour les perfs, j'ai jms pris la peine de tester, mais à l'époque je m'étais laissé entendre que sur de gros documents y'avait pas photo (ie que ça avait des perfs equivalentes à du sax)
 
[:spamafote]

n°661891
benou
Posté le 03-03-2004 à 11:47:01  profilanswer
 

greg@freestarthu a écrit :


j'ai pas dit que sax n'irait pas, mais j'ai toujours cru que sax était plus complexe à utiliser et que ça n'apportait un avantage que sur de *gros* documents.
j'ai peut etre raté un épisode.


Ca dépend pour quoi fair : le sax est beaucoup plus simple si l'utilisation que tu veux en faire se abse sur un modèle évenelentielle, c'est à daire que tu as pas ou peux de contexte à gérer au long du parsibng du document.  
Dans son cas, si c'est créer un objet avec les attributs du tag en paramêtres, c'est hyper simple.
 
Et l'avantage de sax sur les gros documents c'est simplement que ca ne t'éfondre pas la mémoire, contrairement à du DOM qui recréé en mémoire la structure objet correspondant à du XML => sur des gros documents, en général tu ne peux pas utiliser du DOM.
 

greg@freestarthu a écrit :


jdom est plus simple, si on se passe d'xpath. l'api est plus simple, moins de classes à manipuler, c'est plus intuitif (pas de trucs à faire du genre if nodeType==text || nodeType==je sais plus quoi..., t'as simplement getNodeTextContent() et getChildren ou qqchose dans le style)


 
Ok ...  
 
Moi je fais du DOM avec une petite classe de méthodes utilitaires à côté ... J'ai l'avantage d'être standard et que ce soit facile à manipuler ;)
 
 

greg@freestarthu a écrit :

et pour les perfs, j'ai jms pris la peine de tester, mais à l'époque je m'étais laissé entendre que sur de gros documents y'avait pas photo (ie que ça avait des perfs equivalentes à du sax)


Je peux imaginer que ce soit plus performant que du DOM classique (même si ca demande à être vérifier), mais de là à dire que ca a les perfs du sax c'est n'importe quoi ! Le cout d'un parsing sax est ridicule : pour résumer c'est juste lire le fichier et appeler des méthodes à chaque balise...
Dès qu'un parser recréé l'arbre XML en mémoire c'est forcément plus coûteux et surtout plus lourd en mémoire [:spamafote]. D'un point de vue mémoire ca l'est surement moins pour JDom ...


Message édité par benou le 03-03-2004 à 11:47:42

---------------
ma vie, mon oeuvre - HomePlayer
n°661961
greg@frees​tarthu
Posté le 03-03-2004 à 13:14:56  profilanswer
 

> Moi je fais du DOM avec une petite classe de méthodes utilitaires à côté ... J'ai l'avantage d'être standard et que ce soit facile à manipuler  
 
ouais c'est ce qu'on fait ici aussi maintenant, même si je vois absolument pas ce que ça apporte d'être standard mais bon, soit :D
(meme avec jdom on avait des classes "utils" )
 
 
> Dès qu'un parser recréé l'arbre XML en mémoire c'est forcément plus coûteux et surtout plus lourd en mémoire  . D'un point de vue mémoire ca l'est surement moins pour JDom
 
ouais, je ne sais pas comment il fonctionne, mais pê que justement il ne crée pas la structure objet complement dès le parsing, mais uniquement au fur et à mesure des besoins. aucune idée..
 
tfaçons niveau parsing xml, maintenant si on veut etre branché on fait du xpp3 :o

n°666197
sanctuaire
Droit dans les yeux...
Posté le 07-03-2004 à 16:50:57  profilanswer
 

il me semlbe que digester est encore plus simple :jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  java, dtd, xml et sax, help mega noob plz ...

 

Sujets relatifs
[JAVA/XML]Serialization d'un document XML[Projet][Java] Idée de projet en informatique à donner
[Java] [applet] Big problème sociologique[Java] Prolème avec une instruction
[HELP] pb avec menu javascript + HTML ??Débutant en Java, j'ai du mal a mis trouver.
[JAVA]JTextField et JTExtArea[java]Obtenir le chemin (path) de l'application
prob d'edition de liens=> g++ connait pas -lqt, HELPPHP et java script
Plus de sujets relatifs à : java, dtd, xml et sax, help mega noob plz ...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR