Le XML est particulièrement utile en matière d’échange de données. Plus précisément, le XML est un mécanisme de formatage des données basé sur le texte. Cela signifie que le format de données XML est compatible avec n’importe quelle application (quels que soient les systèmes d’exploitation et les langues) et qu’il est facile de transférer des documents XML d’un système à un autre.Dans le reste de ce chapitre et dans les deux chapitres suivants, vous développerez un peu plus votre application Friends Reunion, en ajoutant quelques fonctions d’échange de données qui utilisent différentes techniques d’échange de données XML. Au fur et à mesure, vous en apprendrez beaucoup plus sur le XML et son utilisation dans les applications Web.
Nous allons décrir l’une des fonctionnalités que vous allez ajouter. Supposons qu’une université ou une autre institution souhaite télécharger des informations sur un certain nombre de ses étudiants vers l’application Web Friends Reunion, ou qu’un groupe social (tel qu’une association d’anciens camarades de classe) souhaite ajouter les coordonnées de tous ses membres au site. Dans sa forme actuelle, l’application ne permet pas à une personne de télécharger des informations sur un grand nombre de personnes en même temps. Au lieu de cela, cette personne doit utiliser l’interface existante pour insérer les détails de chaque membre manuellement. S’il y a plus de quelques membres dans le groupe, ce serait une tâche assez laborieuse !
Il serait beaucoup plus facile pour les personnes concernées si vous leur permettiez de télécharger l’ensemble des informations relatives à leurs membres en une seule fois, sous la forme d’un document XML. Le document XML passerait du navigateur web de la personne concernée à l’application web Friends Reunion sur le serveur. L’application lit et interprète le document XML téléchargé, puis affiche les informations à l’écran. À partir de là, vous pouvez étendre la fonctionnalité et demander à l’application de placer les données téléchargées dans votre base de données.
Nous n’irons que jusqu’à la troisième étape, mais vous devriez en apprendre suffisamment pour pouvoir mettre en œuvre la quatrième étape vous-même, si vous le souhaitez.
Schémas XML et validation
Avant de vous précipiter et de construire l’outil de téléchargement, vous devez effectuer un travail préparatoire. En particulier, il est assez facile de voir que, si vous n’imposez pas un mécanisme de vérification minutieux, un individu pourra télécharger n’importe quel type de document vers votre application Web. Vous devez développer un mécanisme qui vérifie le document téléchargé, pour confirmer qu’il contient exactement le type d’informations que l’application Friends Reunion attend.Nous pouvons diviser ce processus de vérification en deux parties :
– Premièrement, votre application doit être capable de lire le document XML. En d’autres termes, vous devez vérifier que le document téléchargé est un document XML et qu’il est bien formé.
– Deuxièmement, votre application doit être capable d’interpréter votre document XML bien formé. Qu’est-ce que cela signifie ? La tâche de l’application consiste à comprendre les données du document, à les extraire et à les utiliser (dans notre cas, les afficher à l’écran ou les placer dans la base de données). Si le document contient des balises et des attributs que l’application ne comprend pas, l’application ne pourra pas extraire les données qu’elle recherche et ne sera pas en mesure d’accomplir sa tâche.
Voyons comment effectuer ces deux vérifications : pour s’assurer que le document XML est bien formé et qu’il contient les balises et attributs attendus.
Vérification de la conformité de la forme du document
Lorsqu’une application ouvre un document XML, elle utilise un analyseur XML pour vérifier que le document est bien formé. L’analyseur fait partie de l’implémentation XML que votre application utilise chaque fois qu’elle doit traiter des documents XML. (Par exemple, le .NET Framework de Microsoft fournit une implémentation par le biais des classes de l’espace de noms System.Xml, et Sun fait quelque chose de similaire pour les programmeurs Java). La norme XML du W3C spécifie qu’une implémentation XML « conforme » doit rejeter un document XML s’il n’est pas bien formé.Si votre application ouvre un document XML qui est bien formé,
l’analyseur syntaxique acceptera le document. Cela indique à l’application qu’elle devrait être capable de lire le document.
Un document XML qui n’est pas bien formé est inutile. Si votre application ouvre un document XML qui n’est pas bien formé, l’analyseur syntaxique le rejettera. Il génère une exception qui indique à votre application que le document n’est pas bien formé et qu’il ne peut donc pas être traité du tout.
Définition des balises et des attributs du document XML
Même si vous pouvez commencer à coder pour lire un document XML afin de le traiter et d’ajouter les fonctionnalités souhaitées à l’application, il est recommandé de toujours commencer par définir à quoi doit ressembler le document d’entrée. C’est particulièrement important pour les applications Web, car elles sont potentiellement exposées au monde entier et vous devez protéger vos applications contre les données erronées. Un utilisateur malveillant pourrait télécharger un énorme document ne contenant rien d’utile pour votre application, et réaliser une attaque par déni de service (DoS), par exemple. La définition d’un document vous permet également de le traiter en toute confiance, car toutes les informations se trouvent exactement là où vous les attendez.
Écrit par: Mehdi