• Annonces

    • Olivier Devriese

      Nouveauté du forum, les blogs !   30/04/2016

      Envie de créer votre blog FileMaker ? Ca ne peut pas être plus simple qu'avec cette nouvelle section du site FM Source qui est désormais plus qu'un simple forum mais un vrai centre de ressource. Vous pouvez aussi facilement l'alimenter en le liant avec le flux RSS d'un autre blog que vous possédez déjà.
  • billets
    69
  • commentaires
    9
  • vues
    2 177

Histoire d'O ou l'importation XML avec FileMaker Pro | 1ère parte

David Julot

262 vues

Après Histoire d’X passons maintenant à Histoire d’O… Rappelez-vous, votre première expérience… Il vous a fallut vous y prendre à cinq reprises pour arriver à vos fins! Les cinq chapitres d’Histoire d’X vous a permis de prendre plus d’assurance dans l’utilisation d’XML avec FileMaker et plus particulièrement pour l’exportation…

Avant de continuer cette chronique et si vous ne l’avez pas encore fait, je vous invite à lire les cinq chapitres suivants, ils sont indispensables pour la bonne compréhension cette nouvelle série, pompeusement nommée Histoire d’O, et je n’ai aucune honte…

 

Introduction à la grammaire FMPXMLRESULT

Lors des chapitres de la série d’Histoire d’X, je n’ai utilisé que la grammaire FMPDSORESULT, adaptée à l’initiation d’XML avec FileMaker Pro. Je pense que c’est pour cette raison que l’éditeur à conservé cette grammaire. Il en existe une autre : FMPXMLRESULT, disponible à la fois pour l’exportation que pour l’importation. Par contre, c’est la seule disponible pour l’importation XML dans FileMaker Pro.

 

Exportation avec la grammaire FMPXMLRESULT

La grammaire FMPXML a la particularité de générer un fichier XML ayant une double structure:

  • la première contient des informations sur la table et les rubriques exportées ;
  • la seconde contient les données exportées.

La grammaire FMPXMLRESULT propose un fichier XML résultat dont les données sont présentées à plat, c’est-à-dire que les données sont présentées comme dans un tableau.

L’exportation des données d’une table en XML avec la grammaire FMPXMLRESULT suit la même procédure qu’une exportation classique.

schema001.jpg

En effet, il faut au préalable choisir les enregistrements qui seront exportés, soit l’ensemble des enregistrements de la table, soit les enregistrements actifs, suite à une recherche par exemple.

Pour exporter les enregistrements d’une table au format FMPXMLRESULT il faut suivre la procédure suivante :

  1. Choisir l’article de menu Fichier > Exporter des enregistrements… ;
  2. Dans le menu local Type choisir l’option XML ;
  3. Saisir un nom pour le fichier d’exportation puis cliquer sur le bouton Enregistrer ;
  4. Dans le menu local Grammaire, choisir l’option FMPXMLRESULT, puis cliquer sur le bouton Continuer… ;
  5. Dans la boîte de dialogue Ordre d’exportation des rubriques, choisir la table contenant les colonnes à exporter puis cliquer sur le bouton Exporter.

Lors de l’exportation, on obtient un fichier XML équivalent à celui-ci :

<?xml version= »1.0 encoding= »UTF-8 ?>
<FMPXMLRESULT xmlns= »http://www.filemaker.com/fmpxmlresult »>
  <ERRORCODE>0</ERRORCODE>
  <PRODUCT BUILD= »11-02-2007″ NAME= »FileMaker Pro » VERSION= »9.0v3″ />
  <DATABASE DATEFORMAT= »D/m/yyyy » LAYOUT= » » NAME= »SOCIETES.fp7″ RECORDS= »2″ TIMEFORMAT= »k:mm:ss » />
  <METADATA>
    <FIELD EMPTYOK= »YES » MAXREPEAT= »1″ NAME= »id » TYPE= »TEXT » />
    <FIELD EMPTYOK= »YES » MAXREPEAT= »1″ NAME= »nom » TYPE= »TEXT » />
    <FIELD EMPTYOK= »YES » MAXREPEAT= »1″ NAME= »adresse » TYPE= »TEXT » />
    <FIELD EMPTYOK= »YES » MAXREPEAT= »1″ NAME= »cp » TYPE= »TEXT » />
    <FIELD EMPTYOK= »YES » MAXREPEAT= »1″ NAME= »ville » TYPE= »TEXT » />
    <FIELD EMPTYOK= »YES » MAXREPEAT= »1″ NAME= »pays » TYPE= »TEXT » />
    <FIELD EMPTYOK= »YES » MAXREPEAT= »1″ NAME= »telephone » TYPE= »TEXT » />
    <FIELD EMPTYOK= »YES » MAXREPEAT= »1″ NAME= »telecopie » TYPE= »TEXT » />
    <FIELD EMPTYOK= »YES » MAXREPEAT= »1″ NAME= »email » TYPE= »TEXT » />
    <FIELD EMPTYOK= »YES » MAXREPEAT= »1″ NAME= »web » TYPE= »TEXT » />
  </METADATA>
  <RESULTSET FOUND= »2″>
    <ROW MODID= »1″ RECORDID= »1″>
      <COL><DATA>S001</DATA></COL>
      <COL><DATA>Artys</DATA></COL>
      <COL><DATA>53 place de la Résistance</DATA></COL>
      <COL><DATA>45000</DATA></COL>
      <COL><DATA>Orléans</DATA></COL>
      <COL><DATA>France</DATA></COL>
      <COL><DATA>02 77 32 12 78</DATA></COL>
      <COL><DATA>02 77 32 12 79</DATA></COL>
      <COL><DATA></DATA></COL>
      <COL><DATA></DATA></COL>
    </ROW>
    <ROW MODID= »4″ RECORDID= »2″>
      <COL><DATA>S002</DATA></COL>
      <COL><DATA>Colyseum</DATA></COL>
      <COL><DATA>22 rue de la libération</DATA></COL>
      <COL><DATA>29000</DATA></COL>
      <COL><DATA>Quimper</DATA></COL>
      <COL><DATA>France</DATA></COL>
      <COL><DATA>02 23 34 45 56</DATA></COL>
      <COL><DATA>02 23 34 45 55</DATA></COL>
      <COL><DATA></DATA></COL>
      <COL><DATA>www.colyseum.com</DATA></COL>
    </ROW>
  </RESULTSET>
</FMPXMLRESULT>


Cette grammaire se compose comme suit :

  • <FMPXMLRESULT> : balise racine de l’arborescence XML du flux de données ;
    • <ERRORCODE> : balise contenant le code erreur survenue lors de l’exportation, pour connaître la signification cliquer ici ;
    • <PRODUCT> : balise contenant, via des attributs, les informations sur le logiciel ayant servi à générer le flux XML ;
    • <DATABASE> : balise contenant, via des attributs, des informations sur le formatage des données ;
    • <METADATA> : balise contenant le premier bloc du fichier XML. Ce bloc contient la liste des rubriques (colonnes) exportés, ainsi que leur type ;
      • <FIELD> : balise de description d’une rubrique exportée ;
    • <RESULTSET> : balise contenant le deuxième bloc du fichier XML. Ce bloc contient, sous forme d’un tableau, les données exportées ;
      • <ROW> : balise contenant les données d’un enregistrement (rangée), sous forme de colonnes (rubriques) ;
        • <COL> : balise contenant les données d’une rubrique (colonne). Les données d’une rubrique multivaluée sont stockées dans autant de balises <DATA> ;
          • <DATA> : balise contenant la donnée de la rubrique.

On peut voir que le flux XML FMPXMLRESULT est une exportation à plat des données sous forme de tableau, ce qui est normal puisque la structure d’une table ce n’est plus ni moins qu’un tableau !

Rappelez-vous que :

  • Enregistrement = Rangée
  • Rubrique = Colonne

 

L’importation XML dans FileMaker Pro

L’importation XML dans FileMaker Pro passe exclusivement par la grammaire FMPXMLRESULT, et comme c’est une grammaire spécifique à FileMaker Pro, il faudra donc créer une feuille de transformation XSL-T pour chaque type de flux à importer.

Nous verrons, la semaine prochaine, l’importation d’un flux XML dans FileMaker Pro et nous prendrons comme exemple un flux RSS. Vous aurez ainsi, avec peu de moyen, un lecteur RSS sous FileMaker Pro.

 

C’est tout pour aujourd’hui

En attendant donc la suite, je vous souhaite une excellente semaine et profitez en pour réviser les précédents chapitres !


  Signaler le billet


0 Commentaire


Aucun commentaire à afficher.

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant