importation de données issues d'un fichier XML-TEI dans une BD mySQL
Posté : 23 oct. 2015, 14:58
Bonjour,
J'espère ne pas me tromper de forum...
L'objectif de ce message est de savoir quelle est la meilleure méthode d'importation de fichier XML-TEI dans une base de données mySQL.
Où se trouvent mes données et de quelles natures sont-elles ? Mes données se trouvent dans deux projets distincts qui pourraient être considérés comme indépendants (jusqu'à un certain point pour les données XML-TEI) :
1. J'ai un fichier XML-TEI dans lequel j'encode au fur et à mesure un corpus de textes, à des fins d'édition numérique pour mettre en avant des occurrences lexicales. Généralement, il y a un utilisateur par fichier.
2. Par ailleurs, j'ai une base de données mySQL dont les données sont affichées via php/xhtml5 dans un navigateur. Ces données sont plurielles et sont issues de plusieurs corpus, saisies par plusieurs utilisateurs. L'objectif est à des fins plutôt statistiques.
Les données majoritairement lexicales (mais pas que) du fichier XML-TEI viendraient donc simplement enrichir la BD mySQL, qui a reçoit par ailleurs des données à partir d'un formulaire.
Je ne souhaite pas importer dans la BD mySQL toutes les données de mon fichier XML-TEI.
Les balises d'encodage de mon fichier XML-TEI ne correspondent malheureusement pas aux titres de mes colonnes dans ma BD mySQL.
Il faut donc que je passe par une étape intermédiaire, une sorte de table de concordance :
Dans mon fichier XML-TEI @type = lexem ce qui équivaut à extractedLexem dans mySQL et ainsi de suite.
J'ai lu la réflexion d'@rthur sur l'importation de données à partir d'un fichier XML faq-tutoriels/importer-des-donnees-xml- ... 43506.html , j'ai cru comprendre que la meilleure méthode est XSLT (ce qui pourrait m'arranger). Cependant, @rthur n'exclut pas la solution PHP. On m'a également suggéré JSON.
Pour choisir la meilleure solution, il faut prendre en considération le moment souhaité pour l'importation :
l'importation de nouvelles données du fichier XML-TEI devra se faire automatiquement à chaque fois qu'une mise à jour du fichier XML-TEI sera faite sur le serveur.
Dans ces conditions, quelle est la meilleure solution selon vous ?
On m'a souvent demandé pourquoi je n'opte pas pour BaseX ou eXist-db : comme précédemment écrit, il s'agit de deux projets en un et à la fois indépendants. Les données saisies dans ma base mySQL ne nécessitent pas un encodage en XML-TEI. Les deux BD (XML native et SGBDR mySQL) sont indépendantes. Cependant les données XML-TEI ont pour fonction d'enrichir la BD mySQL.
En vous remerciant par avance de vos suggestions,
McCallum
J'espère ne pas me tromper de forum...
L'objectif de ce message est de savoir quelle est la meilleure méthode d'importation de fichier XML-TEI dans une base de données mySQL.
Où se trouvent mes données et de quelles natures sont-elles ? Mes données se trouvent dans deux projets distincts qui pourraient être considérés comme indépendants (jusqu'à un certain point pour les données XML-TEI) :
1. J'ai un fichier XML-TEI dans lequel j'encode au fur et à mesure un corpus de textes, à des fins d'édition numérique pour mettre en avant des occurrences lexicales. Généralement, il y a un utilisateur par fichier.
2. Par ailleurs, j'ai une base de données mySQL dont les données sont affichées via php/xhtml5 dans un navigateur. Ces données sont plurielles et sont issues de plusieurs corpus, saisies par plusieurs utilisateurs. L'objectif est à des fins plutôt statistiques.
Les données majoritairement lexicales (mais pas que) du fichier XML-TEI viendraient donc simplement enrichir la BD mySQL, qui a reçoit par ailleurs des données à partir d'un formulaire.
Je ne souhaite pas importer dans la BD mySQL toutes les données de mon fichier XML-TEI.
Les balises d'encodage de mon fichier XML-TEI ne correspondent malheureusement pas aux titres de mes colonnes dans ma BD mySQL.
Il faut donc que je passe par une étape intermédiaire, une sorte de table de concordance :
Dans mon fichier XML-TEI @type = lexem ce qui équivaut à extractedLexem dans mySQL et ainsi de suite.
J'ai lu la réflexion d'@rthur sur l'importation de données à partir d'un fichier XML faq-tutoriels/importer-des-donnees-xml- ... 43506.html , j'ai cru comprendre que la meilleure méthode est XSLT (ce qui pourrait m'arranger). Cependant, @rthur n'exclut pas la solution PHP. On m'a également suggéré JSON.
Pour choisir la meilleure solution, il faut prendre en considération le moment souhaité pour l'importation :
l'importation de nouvelles données du fichier XML-TEI devra se faire automatiquement à chaque fois qu'une mise à jour du fichier XML-TEI sera faite sur le serveur.
Dans ces conditions, quelle est la meilleure solution selon vous ?
On m'a souvent demandé pourquoi je n'opte pas pour BaseX ou eXist-db : comme précédemment écrit, il s'agit de deux projets en un et à la fois indépendants. Les données saisies dans ma base mySQL ne nécessitent pas un encodage en XML-TEI. Les deux BD (XML native et SGBDR mySQL) sont indépendantes. Cependant les données XML-TEI ont pour fonction d'enrichir la BD mySQL.
En vous remerciant par avance de vos suggestions,
McCallum