Getsuyodev, Programming is mainly used when constructing an application. Programming requires knowledge of application domains, algorithms, and programming language expertise. Programming can be developed in different logic based on developer knowledge.

Client Serveur – Schéma XML

Programmation Client Serveur



Introduction:

  • Dans les chapitres précédents, nous avons étudié l’une des technologies permettant d’écrire les définitions de documents XML : les DTD.
  • Mais, comme je vous le disais dans le tout premier chapitre, une autre technologie permet elle aussi d’écrire des définitions : les Schémas XML.

Les défauts des DTD: Un nouveau format

  • Tout d’abord, les DTD ne sont pas au format XML.
  • Nous avons dû apprendre un nouveau langage avec sa propre syntaxe et ses propres règles.
  • La principale conséquence est que, pour exploiter une DTD, nous allons être obligé d’utiliser un outil différent de celui qui exploite un fichier XML.
  • Il est vrai que dans notre cas, nous avons utilisé le même outil, à savoir EditiX, mais vos futurs programmes, logiciels ou applications mobiles devront forcément exploiter la DTD et le fichier XML différemment, à l’aide, par exemple, d’une API différente.

Les défauts des DTD: Le typage des données

  • Le second défaut que l’on retiendra dans ce cours est que les DTD ne permettent pas de typer des données.
  • Comme vous avez pu le voir, on se contente d’indiquer qu’une balise contient des données, mais impossible de préciser si l’on souhaite que ça soit un nombre entier, un nombre décimal, une date, une chaîne de caractères, etc.

Les apports des schémas XML:

  • C’est pour pallier les défauts des DTD que les Schémas XML ont été créés.
  • S’ils proposent au minimum les mêmes fonctionnalités que les DTD, ils en apportent également de nouvelles.

Le typage des données:

  • Les Schémas XML permettent tout d’abord de typer les données.
  • Nous verrons également par la suite, qu’il est possible d’aller plus loin en créant nos propres types de données.

Les contraintes:

  • Nous découvrirons aussi que les Schémas XML permettent d’être beaucoup plus précis que les DTD lors de l’écriture des différentes contraintes qui régissent un document XML.

Les définitions XML:

  • Un des principaux avantages des Schémas XML est qu’ils s’écrivent grâce au XML.
  • Ainsi, pour exploiter un document XML et le Schéma qui lui est associé, vous n’avez en théorie plus besoin de plusieurs outils.

Structure d’un schéma XML: Extension du fichier

  • Comme pour les DTD, nous prendrons l’habitude de séparer les données formatées avec XML et le Schéma XML associé dans 2 fichiers distincts.
  • Bien que les Schémas XML soient écrits avec un langage de type XML, le fichier n’a pas cette extension.
  • Un fichier dans lequel est écrit un Schéma XML porte l’extension “.xsd“.

Structure d’un schéma XML: Le prologue

  • Puisque c’est le XML qui est utilisé, il ne faut pas déroger à la règle du prologue.
  • Ainsi, la première ligne d’un Schéma XML est :
<?xml version="1.0" encoding="UTF-8" ?>

Structure d’un schéma XML: Le corps

  • Comme pour un fichier XML classique, le corps d’un Schéma XML est constitué d’un ensemble de balises dont nous verrons le rôle dans les prochains chapitres.
  • Cependant, une chose ne change pas : la présence d’un élément racine, c’est-à-dire la présence d’une balise qui contient toutes les autres.
  • Mais, contrairement à un fichier XML, son nom nous est imposé.
<!-- Prologue -->
<?xml version="1.0" encoding="UTF-8" ?>
<!-- Elément racine -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
</xsd:schema>

Comme vous pouvez le voir dans le code précédent, l’élément racine est <xsd:schema />.

  • Si l’on regarde de plus prêt, on remarque la présence de l’attribut xmlns:xsd.
  • xmlns nous permet de déclarer un espace de noms.
  • A travers la déclaration de cet espace de noms, tous les éléments doivent commencer par xsd:.

Référencer un schéma XML :

  • Le référencement d’un schéma XML se fait au niveau de l’élément racine du fichier XML grâce à l’utilisation de 2 attributs: ü

L’espace de noms

xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”

La location

Le second attribut nous permet d’indiquer à notre fichier XML où se situe le fichier contenant le Schéma XML.

ü2 possibilités s’offrent alors à nous : les schémas XML qui décrivent un espace de noms et ceux qui ne décrivent pas un espace de noms. ü

Schémas XML qui décrivent un espace de noms

xsi:schemaLocation=”chemin_vers_fichier.xsd”>

Schémas XML qui ne décrivent pas un espace de noms

c’est ce type de Schéma XML que nous allons utiliser.

xsi:noNamespaceSchemaLocation=”chemin_vers_fichier.xsd”>

Résumé :

  • Pour résumer, voici ce à quoi nos fichiers XML ressembleront :
<?xml version="1.0" encoding="UTF-8"?>
<racine xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="chemin_vers_fichier.xsd">
</racine>
  • Les Schémas XML offrent plus de possibilités que les DTD.
  • Les Schémas XML s’écrivent à l’aide d’un langage de type XML.
  • Un fichier dans lequel est écrit un Schéma XML porte l’extension “.xsd”.

Comments are closed, but trackbacks and pingbacks are open.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More