Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

XMLSTRUCT : EXTRAIRE ET COMPARER LA STRUCTURE DE DOCUMENTS XML


Information sur la source



Description

Ca fait un bout de temps que je cherche à faire une version française du célèbre Robot de discussion Alice. Il existe certes des jeux AIML en français, mais je n'ai jamais réussi à les faire fonctionner. Or depuis Septembre 2007, il existe une version DotNet d'Alice avec les sources, j'ai converti le code en VB ici :
http://patrice.dargenton.free.fr/ia/alice/alicechatbot.html

Une nouvelle tentative est donc possible, et pour la première fois avec les sources complètes en VB, ce qui devrait permettre d'aller plus loin dans le diagnostique de la version française. L'idée de base est d'analyser la structure des documents aiml qui fonctionne effectivement en anglais, avec l'objectif de vérifier et d'appliquer, le cas échéant, la structure correcte aux fichiers aiml en français. Il se trouve qu'il existe un schéma xsd officiel pour valider les fichiers aiml, mais en pratique, aucun des jeux testés ne respectent complètement le schéma officiel ! (voir la doc. d'AliceVB).

Une solution plus pragmatique consiste donc à déduire le schéma selon le dernier jeu AIML qui fonctionne. Pour cela, il faut fusionner l'ensemble des fichiers aiml afin d'avoir la liste complète des formats rencontré (un simple copy /b *.aiml Cumul.aiml suffit, à condition de retirer la balise d'entête et de fin de chaque fichier, cela fonctionne si l'encodage des fichiers est identique).

En répétant la manipulation avec les fichiers en français, on obtient cette fois le schéma utilisé en français. Cependant, la comparaison des schémas Anglais et Français est à peu près illisible via l'utilitaire WinDiff. D'où l'idée de comparer plutôt via le DTD (Document Type Definition), lequel est un schéma simplifié beaucoup plus lisible. Le seul problème est que le DTD ne permet pas de gérer l'aspect récursif (hiérarchique) des fichiers aiml. Cependant, on peut contourner cette limite en renommant avec un numéro les balises susceptibles d'apparaître à plusieurs niveaux, de façon à les dissocier et à faire disparaître complètement l'aspect récursif de la structure AIML. Les fichiers AIML ainsi mis à plat ne fonctionneront plus avec le robot de discussion, mais on pourra alors extraire la DTD et vérifier, d'une part que les fichiers transformés respectent bien leur DTD (pour voir si l'extraction DTD est juste), et ensuite comparer leur DTD plus facilement qu'avec leur schéma xsd. Je n'ai pas trouvé de logiciel pour extraire le DTD (sauf peut être TRANG, cf. lien dans la doc.), alors j'en ai conçu un, mais en ignorant les attributs dans cette première version.

Voici donc un ensemble d'utilitaires pour comparer la structure de fichiers xml via WinDiff.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

Aucun commentaire pour le moment.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

VB 6, XML et DOCTYPE [ par ynizon ] Bonjour,voici mon pblm, si jamais vous pouvez faire qq chose...Si on charge un doc XML qui a une DTD inaccessible (ex: la DTD est sur le net, et votre Comparer une table XML et une table acces sous VB6 [ par dimond ] Bonjour voilà je voudrais savoir comment comparer la structure d'une table XML et d'une table ACCES sous vb. Afin de modifier la table acces a pa validation d'une DTD Xml [ par kharrat ] Bonjour, je suis en train d'écrire une DTD Xml. j'aimerais savoir s'il existent des outils permettants de vérifier si cette DTD est correctement fait PC Poket system.xml [ par fadl1010 ] Bonjourj ai un probleme dans l'utilisation de Imports system.xml il marche sur un progrmme .net standart mais il ne veut marcher sur un programme pour Presentation de données issues de fichiers XML [ par yunderwo ] Bonjour,Auriez-vous des adresses de sites proposant des tutoriaux sur l'exploitation de données issues de fichiers XML en vb.net ?Montrant l XML Schema avec MSXML(VBA) [ par samouille666 ] Bonjour, je developpe une application dont une partie en VBA. Je genere des fichier XML. Je les valide avec une grammaire écrite à la main (les fameu Incrémentation dans fichier XML [ par yunderwo ] Petite question...mon progamme VB va chercher des infos dans un fichier XML, jusque la pas de soucis, par contre comment puis-je récupérer u Formulaire vers fichier XML... [ par yunderwo ] Bonjour,Auriez-vous une piste pour renvoyer les valeur d'un formulaire vers un fichier XML existant ?merci [vb.net]Flux XML [ par shadow1779 ] Bonsoir,j'aimerai m'initier un peu au xml , par exmple faire un fichier nommé test.xml et dedans mettre un truc du genre<window><titre&g Créer un fichier XML en VB6 [ par freddy1787 ] Salut, Voila j'ai besoin de creer un fichier XML sur plusieur ligne. Ma premiere ligne Ma seconde ligne et en


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,437 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.