Thèse soutenue

Une Méthode de correction de la structure de documents XML dans le cadre d'une validation incrémentale

FR  |  
EN
Auteur / Autrice : Ahmed Cheriat
Direction : Dominique LaurentBéatrice MarkhoffMírian Halfeld Ferrari Alves
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance en 2006
Etablissement(s) : Tours

Résumé

FR  |  
EN

XML s'est imposé comme format d'échange de données. Dans ce cadre, les données sont structurées selon un schéma et un validateur permet de vérifier qu'un document XML respecte le schéma qui lui est associé, c'est à dire que sa structure suit les règles du schéma (la structure d'un document XML est un arbre). Si ce document est mis à jour, une validation incrémentale doit être réalisée, qui consiste à vérifier si la structure du nouveau document est toujours conforme aux règles du schéma, en considérant uniquement les parties qui sont concernées par les mises à jour (ceci pour réduire le coût, par rapport à une validation du document entier). Cette thèse présente une méthode générale de validation incrémentale, qui de plus, au lieu de refuser les mises à jour qui rendent un document invalide, propose des corrections pour celui-ci. La correction en l'occurence consiste à transformer le résultat invalide des mises à jour en un document valide. Dans un premier temps, nous nous intéressons à un problème simplifié, qui consiste à corriger un mot par rapport à un autre mot (le mot initial valide) et à un langage. En effet, la correction d'un document XML dont la structure est simplement une racine et ses fils correspond à la correction d'un mot (composé des fils de la racine). Par rapport à une grammaire (la contrainte du schéma associé à l'étiquette de la racine). Dans un second temps, nous avons étendue cette idée à la correction d'un arbre XML (la structure d'un document) par rapport à un langage d'arbres (le schéma associé du document). Cette correction est réalisée en appliquant le minimum de modifications possibles (insérer, supprimer ou renommer des éléments) pour obtenir un arbre valide à partir d'un arbre invalide. Les algorithmes présentés dans cette thèse ont été implantés (en Java) et des résultats expérimentaux sont rapportés.