Re: A la recherche d'un parseur XML sous linux !

Stéphane Bonhomme <[email protected]>
Newsgroups gmane.text.xml.french.tech
Message-ID <[email protected]>
Herve AGNOUX wrote:

>Le Mercredi 10 Mai 2006 11:54, Stéphane Bonhomme a écrit :
>  
>
>>MMM je pense que tu dis quelques contres-vérités la, permets moi de te
>>rectifier
>>
>>    
>>
>
>Aholà.
>
>
>  
>
>>>Sous linux il est possible d'écrire des scripts shell directement en java.
>>>      
>>>
>>Je ne pense pas non, il faudrait qu'il existe un interpréteur de code
>>source java !
>>Ou alors compiler et produire le bytecode just-in-time (à la python),
>>mais de toutes façon, il n'y a pas de jvm installée de base sur beaucoup
>>de distributions linux.
>>
>>    
>>
>
>Effectivement il faut une JVM d'installée. Mais une fois qu'elle est 
>installée, tu peux choisir coté interpréteurs.
>
>J'utilise le beanshell (http://www.beanshell.org), et il est très pratique.
>  
>
Ah ok, je connaissais pas... très pratique pour qui a l'habitude de java

>Voici, par exemple, un script shell qui se lance en ligne de commande, et qui 
>te donne l'IP de ton poste :
>
>==>
>#! /home/herve/java/jdk1.5.0_06/bin/java bsh.Interpreter
>
>import java.net.*;
>
>soc = new Socket("www.google.com", 80);
>System.out.println(soc.getLocalAddress().getHostAddress());
>soc.close();
>
><==
>
>Si ce script s'appelle monip, alors tu le places en fichier exécutable, tu 
>écris au prompt "monip", et il t'affiche ton ip. (bon, la mode WEB 2 serait 
>de le nommer "myip"...)
>
>  
>
Ha la toile2.0 est anti-francophone ? ;)

>Tu vois que c'est un code java un peu détendu par rapport à la norme, mais, si 
>tu veux, tu peux être tout à fait strict.
>
>  
>
oui, mais c'est un peu verbeux par rapport à un
tail -1 /proc/net/arp | cut -f 1 -d ' '

>  
>
>>>C'est tout de même mieux qu'avec bash, enfin, il me semble.
>>>      
>>>
>>Chacun ses goûts, quitte à utiliser un langage de script un peu plus
>>évolué que *sh, je me tournarais plutot vers du python ou, au pire du
>>perl (la libxml2 a des wrapper pour tous ces langages de toutes façons...)
>>
>>    
>>
>
>Exact. Moi je me tourne souvent vers Rhino, mais malheureusement je n'ai 
>encore réussi à trouver le moyen de le placer dans un script shell.
>
>Si je ne fais pas python, c'est juste parce que je me sers de ces scripts 
>juste pour des bouts de code, et que le beanshell autorise une syntaxe 
>simplifiée par rapport au java.
>
>Sur mon exemple, par exemple, j'aurais pu écrire :
>
>print(soc.localAddress.hostAddress);
>
>... mais, par fainéantise, j'ai pris la syntaxe compliquée. Cela venait d'un 
>de mes copié/collé d'une classe java orthodoxe, sans doute.
>
>Avec python, c'est vrai, il est possible d'actionner java par jython, et donc 
>de se faire un parseur validant. Jamais essayé, mais théoriquement cela doit 
>marcher. Pour quelqu'un qui connait le python, c'est mieux.
>
>  
>
...ou d'utiliser le binding python libxml2 qui est quand meme plus 
efficace qui de mettre en eouvre l'usine à gaz jython (et puis jython 
c'est pour produire du pseudo-code java à partir de code python, pas le 
contraire).

>  
>
>>>Donc il n'y a pas besoin de xerces, puisque le support de XML schema est
>>>inclus dans jdk5.
>>>      
>>>
>>xerces est inclus dans les jdk (relativement récents)...
>>
>>    
>>
>>>Bien sûr, il faut connaître le java, et bien sûr, avec xerces, les lignes
>>>de commande sont déjà toutes prêtes... Je ne sais pas ce qui est le mieux
>>>pour vous.
>>>      
>>>
>>Xerces ne peut pas être *directement* appelé en ligne de commande, mais
>>il existe un wrapper (assez simple à développer, enfin ça dépend des
>>options...).
>>    
>>
>
>Bon, là j'admets : impossible de retrouver la référence de l'interface de 
>xerces; j'ai dû confondre avec Xalan, pour la 100.000ème fois.
>
>D'autres contre-vérités ?
>
>
>  
>


-- 
   Stéphane Bonhomme           --           Exselt Services

Formations, Conseil et Réalisations en Ingénierie Documentaire,
            Technologies Web et Logiciels Libres
     [email protected]   -   http://www.exselt.com
        04 76 17 09 40        /      06 88 57 27 08
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.