Import de données depuis Loris dans Koha

J'ai développé un script php pour importer des données provenant du SIGB Loris dans Koha. Loris permet un export aux formats iso2709, XML, CSV, Word, etc, en utilisant la fonction dt_export. Le format XML est un format propre à Loris, il ne s'agit pas de MarcXML. L'avantage du format XML est qu'il récupère tous les champs de la table UNIMARC de Loris. Il est possible d'obtenir du MarcXML grâce à une feuille de style XSLT.

A ce stade, j'utilise le fichier XML sans transformation XSLT. Je récupère facilement tout le contenu des balises XML ainsi que des attributs grâce à SimpleXML. J'insère ensuite les données dans les tables biblio, biblioitems et zebraqueue. Je crée par ailleurs la notice au format MarcXML pour l'insérer dans le champ du même nom de la table biblioitems.

La même solution est à appliquer également aux données d'exemplaires, ainsi qu'aux notices d'autorités.

___________________________________________________________________________________________

Voici un exemple de données qu'il est possible de récupérer avec SimpleXML :

SimpleXMLElement Object
(
[DORIS_KEY] => 88468
[DORIS_SUBKEY] => 1
[DORIS_STAMP] => 20070423110701
[SORT] => FONTES CODAGESHARALAMBOUS, YANNIS2004O'REILLY2-84177-273-X - 1
[DISPLAY] => Fontes codagesHaralambous, Yannis20042-84177-273-X1
[FR_BN] => 077914031
[TYPE_MS] => 0
[UNIMARC1] => 12
[UNIMARC2] => DEVILLE
[UNIMARC3] => 20050117
[UNIMARC5] => 20050318
[UNIMARC6] => 2-84177-273-X
[UNIMARC8] => 1
[UNIMARC9] => 1
[UNIMARC10] => d
[UNIMARC13] => 1
[UNIMARC15] => 9
[UNIMARC17] => 2004
[UNIMARC18] => 20040510
[UNIMARC19] => **
[UNIMARC20] => 1
[T_DORIS] => SimpleXMLElement Object
(
[LABEL] => 01234cam0 2200337 450
[MARC] => SimpleXMLElement Object
(
[_001] => 077914031
[_005] => 20050317084839.000
[_010] => SimpleXMLElement Object
(
[_010a] => 2-84177-273-X
[_010b] => br.
)

[_035] => SimpleXMLElement Object
(
[_0355] => 831522101
[_035a] => 88468
)

[_100] => SimpleXMLElement Object
(
[_100a] => 20040510d2004 k y0frey0103 ba
)

[_101] => SimpleXMLElement Object
(
[_101ind1] => 0
[_101a] => fre
)

[_102] => SimpleXMLElement Object
(
[_102a] => FR
)

[_105] => SimpleXMLElement Object
(
[_105a] => a a 001yy
)

[_106] => SimpleXMLElement Object
(
[_106a] => r
)

[_200] => SimpleXMLElement Object
(
[_200ind1] => 1
[_200a] => Fontes codages
[_200b] => Texte imprimé
[_200f] => Yannis Haralambous
)

[_210] => SimpleXMLElement Object
(
[_2105] => 8977O'Reilly
[_210a] => Paris
[_210c] => O'Reilly
[_210d] => 2004
)

[_215] => SimpleXMLElement Object
(
[_215a] => XX-990 p.
[_215c] => ill.
[_215d] => 24 cm
)

[_312] => SimpleXMLElement Object
(
[_312a] => La couv. porte en plus : "Glyphes et caractères à l'ère du numérique"
)

[_320] => SimpleXMLElement Object
(
[_320a] => Bibliogr. p. 947-964. Index
)

[_517] => SimpleXMLElement Object
(
[_517a] => Fontes et codages
)

[_606] => Array
(
[0] => SimpleXMLElement Object
(
[_606a] => 88159Caractères d'imprimerie ** Techniques numériques
[_6068] => Caractères d'imprimerie ** Techniques numériques
)

[1] => SimpleXMLElement Object
(
[_606a] => 88160Jeux de caractères (informatique)
[_6068] => Jeux de caractères (informatique)
)

[2] => SimpleXMLElement Object
(
[_606a] => 88161Unicode (jeu de caractères)
[_6068] => Unicode (jeu de caractères)
)

[3] => SimpleXMLElement Object
(
[_606a] => 40472Codage
[_6068] => Codage
)

[4] => SimpleXMLElement Object
(
[_606a] => 47422Macintosh (ordinateur)
[_6068] => Macintosh (ordinateur)
)

[5] => SimpleXMLElement Object
(
[_606a] => 46982Microsoft Windows (logiciels)
[_6068] => Microsoft Windows (logiciels)
)

)

[_700] => SimpleXMLElement Object
(
[_700ind2] => 1
[_700a] => 86018Haralambous, Yannis
[_7004] => 070
)

[_801] => SimpleXMLElement Object
(
[_801ind2] => 3
[_801a] => FR
[_801b] => Abes
[_801c] => 20050317
[_801g] => AFNOR
)

[_915] => SimpleXMLElement Object
(
[_9155] => 831522101:225207311
[_915b] => C005927D
)

[_930] => SimpleXMLElement Object
(
[_9305] => 831522101:225207311
[_930b] => 831522101
[_930d] => Salle générale
[_930a] => 005.72 HAR
[_930j] => u
)

)

)

)