|
Convertisseur PGN->XML par ka****5746 le
[Aller à la fin] |
| Informatique | |
Bonjour, je viens d'écrire un petit convertisseur de fichiers PGN vers XML.
Je l'ai rédigé en perl, si vous êtes intéressés, je vous invite à télécharger l'interpréteur perl sur Activestate (pour Windows), les Unixien devraient déjà le posséder sur leur machine.Les programmeurs constateront que le script n'est pas d'une élégance folle, mais je l'ai écrit en trois minutes, donc bon... :) Si vous avez d'autres besoins, n'hésitez pas à me demander ! #!/usr/local/bin/perl foreach $file (@ARGV)
{
print "Fichier : $file...";
local $/=undef;
open(PGN,";
$lignes=~s/[([^s]+)s+"([^"]
+)"]//g;
$lignes=~s/d+.s+([^s]+)s+
([^s]+)s+//g;
$lignes=~s/d(/d)?-d(/d)?
s*$//; $file=~s/.pgn/.xml/; open(XML,">$file") or die "pb
open 2";
print XML "" . $lignes . "";
close XML; print " OKn";
} Copiez-collez vers le bloc note et enregristrez sous "convertisseur.pl". Invoquez-le :
perl convertisseur.pl etc.
|
|
zut... La moulinette infernale du forum a du manger une partie de la ligne de commande. Pour l'invoquer, il faut donc faire : perl convertisseur.pl fichier1.pgn fichier2.pgn etc.
|
|
mangé pas manger
|
|
salut Kafka, Comment réutiliser un fichier XML ensuite en HTML? Peux tu me présenter l'intérêt de ton convertisseur et comment tu utilises le résultat? un exemple? Je connais le principe des DTD et du XML mais je n'ai guère qu'un apercçu très théorique.Merci!
|
|
L'idée du convertisseur Est de faciliter la constitution de bases de données personnelles. En fait, je reste bien frustré devant les capacités d'extension très limitées de ChessBase (1000 francs pour un logiciel aussi peu souple, ça me fait mal...) aussi j'ai en projet l'écriture d'un logiciel de base de données échiquéenne.Pour répondre à ta question, afin de convertir le XML en HTML, il faut passer par des templates XSL, lesquels décrivent quelle représentation les données contenues dans le fichier XML doivent avoir.Je vais donc de ce pas m'y atteler :)
|
|
Et je m'aperçois... Que la fameuse moulinette a aussi dégusté une partie du code... qui devient donc inutilisable tel quel...Bon, les gens intéressés peuvent donc me le demander directement...Et si certaines personnes sont également intéressées par l'écriture d'un logiciel de base de données échiquéennes, qu'elles n'hésitent pas non plus :)
|
|
Quelle moulinette ? Tu as fait un copier-coller de ton code. Si tu veux conserver une mise en page, va voir la rubrique FAQ. Il existe aussi chessbase light, gratuit pour des base jusqu'à 8000 parties et surtout, le logiciel Scid, totalement gratuit: http://scid.sourceforge.net/
|
|
Je pense Qu'il doit y avoir une fonction de nettoyage du texte, qui supprime tous les tags non autorisés. Or, dans mon source, une ligne comporte un chevron que la fonction doit prendre pour un tag ouvrant. Résultat : une partie de la ligne a disparu.Bref, je disais simplement ça à titre informatif... et ça n'est pas très important.Je ne connais pas Scid, je vais y jeter un oeil, merci.Cela dit,je pense quand même poursuivre mon projet, tout du moins si il est suceptible d'intéresser quelqu'un.
|
|
Bonjour.
Quelqu'un aurait un script perl pour generer un fichier pgn avec que la position ?
Je souhaite remplacer les coups de la partie par *.
Vu qu'il y a des accolades ca peut se corser un peu.
apres je verrai pour modifier mes entetes et ecrire "position xx".
A terme ce sera generer aussi un texte avec uniquement la solution.
|
|
Où est-ce que j'ai foutu l'Aspirine?
|
|
y'en n'a pu, j'ai tout bouloté !
|
|
Salut Kafka
Je cherche de mon coté aussi à développer des outils plus conviviaux. Mais je suis pas programmeur, je suis utilisateur, et je constate que effectivement beaucoup de choses avec ce qui existe ne sont pas très souples.
Avec un ami programmeur, on a conçu un convertisseur pgn vers pdf pour faire des planches de diagrammes.
En ce qui concerne cette fonction, il faut avec ChessBase pour sortir un diagramme sans les coups joués utiliser les fonction "insérer dans la liste de diagramme" puis imprimmer la liste de diagramme. Quand on en a plusieurs centaines... no comment...
Cet outil m'a permit de réaliser les Cahiers de l'animateur, et il va sans dire que si je m'étais tapé la mise en page des 3000 diagrammes, je ne l'aurais surement pas distribué sous licence Creative Commons.
Cet outil aurait besoin d'être encore développé mais le programmeur qui l'a mit au point n'a plus le temps de continuer ce travail.
Je pense aussi qu'en terme de base de donnée de partie d'échecs, il y a la place pour des produits qui proposent autre chose que ce qui existe. Je travaille avec ChessBase, je le trouve très bien, mais c'est un produit compliqué difficile à prendre en main pour nombreux. Il faudrait quelque chose avec moins de fonctions, et plus simple et plus souple.
|
|
|