Jump to content
  • entries
    69
  • comments
    18
  • views
    6047

Une histoire X - 1ère partie

Sign in to follow this  
David Julot

835 views

J’espère que vous n’attendiez pas ma chronique dimanche soir, car c’est loupé. Un petit problème technique chez moi, plus la fatigue aidant, j’avais décidé d’aller me coucher.

J’avais décidé de vous parler de fonctions personnalisées, de récursivités, de choses compliquées… Et bien, ce matin, j’ai changé d’avis. Après tout, c’est ma chronique. Aussi, j’ai pris la décision de vous conter une histoire X !

Je sens en vous frémir le désir d’assouvir votre curiosité, et aller de ce pas, sous vos doigts agiles, faire frétiller la queue de votre souris pour cliquer sur le mot « suite » ! Stop ! Hum.. Je vous ai dit que je suis fatigué….

Bien, d’histoire X je vais tout simplement vous initiez au X, et plus précisément à : XML, XSL, XPATH, etc.

Dans FileMaker nous trouvons la technologie XML un peu partout :

  • à l’exportation, par le menu fichier ;
  • à l’importation, par le menu fichier ;
  • dans la description de thèmes, lorsque l’on crée un modèle ;
  • dans la description d’étiquettes, lorsque l’on crée un modèle de type étiquettes ;
  • dans le rapport sur la structure de la base de données (DDR), via l’outil de FileMaker Pro Advanced ;
  • dans la publication XML et XSL-T de FileMaker Server ;
  • dans la description du format d’impression contenu dans le fichier fp7 lui-même (!).

FileMaker utilise donc cette technologie pour échanger des informations, mais aussi pour son paramétrage, des thèmes et des formats d’étiquettes.

 

Introduction à XML

Extensible Markup Language, XML, est un langage de traitement de documents proposé par le World Wide Web Consortium (W3C, http://www.w3.org), l’organisation responsable de la définition et la maintenance du langage normalisé HTML. Bien que nombre de spécifications associées à XML soient encore en développement, nombreux sont ceux qui espèrent que XML et ses technologies parentes remplacent HTML comme langage de marquage par excellence pour les contenus Web générés dynamiquement, y compris les pages Web non statiques. Plusieurs éditeurs de navigateurs ou de traitements de texte sont en phase d’intégration du support XML dans leurs produits.

XML

XML est en réalité une forme simplifiée de SGML, Standard Generalized Markup Language, un langage international de documentation normalisé qui existe depuis le début de la décennie 80. Toutefois, SGML est extrêmement volumineux, spécialement pour le Web. Le plus grand mérite de la création de XML revient à Jon Bosak de Sun Microsystems, Inc., qui lança le groupe de travail du W3C responsable de l’adaptation de SGML aux besoins de l’Internet.

XML, pour eXtensible Markup Language, à été défini par le consortium W3org, le consortium en charge de la normalisation de HTML, entre autres.

L’XML est un langage de description par balisage, toutes les données sont encadrées par des balises ouvrantes et fermantes.

L’XML à pour objectif :

  • D’être un Format de fichier non-propriétaire d’un éditeur en particulier.
  • De facilité les échanges entre applications, grâce au point précédent, les échanges sont donc plus faciles.
  • D’être lisible par l’homme. En effet, à l’origine de l’informatique le moindre octet était précieux, il fallait donc utiliser des fichiers compressés, ce qui empêchait une lecture directe par l’homme.

Exemple de document XML :

<Famille>
  <Nom>Dupont</Nom>
  <Pere>
    <Prenom>Henri</Prenom>
    <DateNaissance>01/02/1953</DateNaissance>
  </Pere>
  <Mere>
    <Prenom>Marinette</Prenom>
    <Nee>Martin</Nee>
    <DateNaissance>02/03/1954</DateNaissance>
  </Mere>
</Famille>

Mais avant de faire notre première feuille de transformation (XSL-T), un peu de théorie…

Les balises

Un document XML est dit balisé, avec une balise de début et une balise de fin encadrant la donnée.

La balise de début est caractérisée par <, alors que la balise de fin est caractérisée par </. Toutes deux se terminant par >.

<Racine> </Racine>

Le contenu d’une balise doit être : soit une valeur, soit une ou plusieurs balises, soit les deux ensembles.

<!-- exemple 1 -->
<Racine>
  <balise>valeur</balise>
</Racine>

<!-- exemple 2 -->
<Racine>
  valeur
  <balise>valeur</balise>
</Racine>

<!-- exemple 3 -->
<Racine>
  <balise1>valeur</balise1>
  <balise2>valeur</balise2>
</Racine>

Élément vide

Il existe deux syntaxes pour écrire des balises n’ayant aucune valeur. La première consiste simplement à mettre la balise de fin aussitôt après la balise de début. La seconde syntaxe consiste à ne mettre qu’une seule balise, mais celle-ci doit se terminer par /> au lieu de >.

<Balise></Balise>
<Balise/>

Commentaire

Pour placer un commentaire au sein d’un document XML, il faut encadrer le commentaire par <!– et –>.

<!-- ceci est un exemple de commentaire -->

Sensibilité à la casse

La technologie XML est sensible à la casse. C’est-à-dire que la balise <Racine> est différente de la balise <RACINE>.

Il faut donc, au sein d’un document XML, utiliser la même casse pour l’écriture des balises. De plus, il faut éviter d’utiliser deux balises distinctes avec la même orthographe mais avec une casse différente, ceci pour éliminer toute confusion possible à la lecture du document.

L’arborescence

Un document XML décrit toujours une arborescence contenant une, et une seule, balise racine. À l’intérieur de cette racine, on peut trouver d’autres balises, elles-mêmes pouvant contenir d’autres éléments.

Il existe une terminologie pour désigner telle ou telle balise. En effet, nous appelons Parent pour désigner une balise contenant d’autres éléments. Et nous appelons Enfant une balise contenue dans une balise Parent.

En sachant qu’une balise peut être à la fois Parent et Enfant.

Enfin, il est à noter que toutes les balises d’un Enfant doivent se trouver à l’intérieur des balises du Parent.

<!-- exemple de code XML valide -->
<RACINE>
  <PARENT>
    <ENFANT>valeur</ENFANT>
    <ENFANT>valeur</ENFANT>
  </PARENT>
</RACINE>

<!-- exemple de code XML non valide -->
<RACINE>
  <PARENT>
    <ENFANT>valeur</ENFANT>
    <ENFANT>valeur
      </PARENT>
    </ENFANT>
</RACINE>

Les attributs

Une balise XML peut contenir un ou plusieurs attributs. Ils sont alors présents dans la balise de début sous la forme attribut= "valeur".

Les attributs, dans certains documents XML, peuvent remplacer la valeur de la balise.

<!-- exemple 1 -->
<Familles>
  <Famille Nom="Martin">
    <Pere>Henri</Pere>
    <Mere>Marinette</Mere>
  </Famille>
</Familles>

<!-- exemple 2 -->
<Familles>
  <Famille Nom="Martin">
    <Pere Nom="Henri"/>
    <Mere Nom="Marinette"/>
  </Famille>
</Familles>

<!-- exemple 3 -->
<Familles>
  <Famille Nom="Martin" Pere="Henri" Mere="Marinette"/>
</Familles>

Il est à noter qu’une balise ne peut pas avoir deux attributs avec le même nom.

La déclaration XML

Un document XML doit normalement intégrer une déclaration XML. Cette déclaration indique :

  • La version XML utilisée par le document,
  • L’encodage UNICODE du document utilisé,
  • Si un document DTD externe est utilisé ou non.

Si une déclaration est présente dans un document XML, elle doit être faite en début du document avant la balise racine.

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>

 

Document XML bien formé

Un document XML est dit bien formé, c’est le terme consacré, s’il répond aux critères suivants :

  • À chaque balise de début correspond une balise de fin ;
  • Les éléments peuvent être imbriqués, mais il ne doivent pas se recouvrir ;
  • Il ne doit y avoir qu’un seul élément Racince ;
  • Les valeurs des attributs doivent être entre guillemets ;
  • Une balise ne doit pas avoir deux attributs avec le même nom ;
  • Les commentaires ne doivent pas apparaître à l’intérieur des balises ;
  • Aucun caractère < ou & non « échappé » ne doit apparaître dans les données textuelles d’un élément ou d’un attribut.

Cette liste n’est pas exhaustive.

 

C’est tout pour aujourd’hui

Voilà pour la première partie de cette histoire X ! La suite au prochain épisode…

Sign in to follow this  


0 Comments


Recommended Comments

There are no comments to display.

Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...