Je suis formel, cela fonctionne chez moi... Mais

Selon Emmanuel Pacaud <[EMAIL PROTECTED]>:

> J'ai essayé l'import des notices par le fichier, et ça fonctionne comme
> sur des roulettes.
> 
> En lisant un peu le code de PMB, j'ai vu que la classe iso2970 a besoin
> d'un guide pour lire les informations de la notice. Ce guide est présent
> dans le fichier de notice. Par contre, je ne le vois pas dans les blobs
> zmarc de z_notices. Est-ce que le problème peut venir de là ?

J'interviens sans trop avoir creusé la question Z39.50, hormis beaucoup de 
tests qui chez moi ont fonctionné. La classe iso2709_record est destinée à 
parser des enregistrements au format ISO 2709. Hors de là, point de salut... Le 
guide est transmis avec tout enregistrement ISO 2709. Ce dont on doit 
s'assurer, c'est que les serveurs Z.39.50 renvoient bien de l'UNIMARC au format 
ISO 2709. Je connais bien cette classe, ayant passé pas mal de temps à l'écrire 
et la tester avec différentes sources. On peut être fixés en utilisant sa 
méthode valid() : 

Si mon enregistrement est dans $maChaine :

$monEnr = new iso2709_record($maChaine);
if($monEnr->valid())
  print "cet enregistrement est au format iso2709";
else
  print "cet enregistrement n'est pas au format iso2709";

En gros, la méthode valid() prend le guide qui contient les offsets des champs 
unimarc dans l'enregistrement et compare ces offsets avec les positions des 
délimiteurs de champs dans l'enregistrement. S'il y a un décalage, ou si le 
guide est de longueur nulle, l'enregistrement est réputé mal formaté.

De toutes les manières, en l'absence de guide, la classe ne retournera que des 
données fantaisistes ou vides.

En regardant la table z_notices, je vois que le champ z_marc est un longblob. 
Je n'ai pas ma doc sous la main, mais je crois me rappeler que les specs 
UNIMARC limitent la taille maximum d'un enregistrement à un truc genre 65357 
octets. En tous les cas, PhpMyAdmin l'indique 'binary' et n'affiche pas ce 
champ... J'ai MySQl 3.23.49-max installé, et si le pb venait de cela ?  

Mystère...

> > ----- Original Message ----- 
> > From: "Emmanuel Pacaud" <[EMAIL PROTECTED]>
> > To: "PhpMyBibli" <[EMAIL PROTECTED]>
> > Sent: Sunday, November 02, 2003 12:41 AM
> > Subject: [PMB-USER] Re: Recherche z39.50
> > 
> > 
> > > Le sam 01/11/2003 à 20:17, Eric ROBERT a écrit :
> > > > Il faut tenter d'en intégrer une, l'intégration en catalogue est
> faite à
> > > > martir du champ z_marc et donc ne tiendra pas compte des autres champs
> > > > vides.
> > >
> > > J'ai essayé, mais sans succès, tous les champs sont vides dans la
> notice
> > > créée.
> > >
> > > > je crains que votre version ne soit pas bonne... (différence entre le
> > CVS
> > > > pserver et le CVS ssh)
> > > >
> > > > je peux vous passer tous les fichiers du répertoire
> > > > concerné(/PMB/catalog/z3950/), en cas de pb (j'ai un peu rebossé
> dessus
> > > > depuis, des histoires de lien vers autre recherche et compagnie) en
> cas
> > de
> > > > pb, disais-je donc ;-) il faudra me dire ce qu'il vous manque !
> > >
> > > Bon, ça ne vient pas des fichiers de ce répertoire, j'avais bien les
> > > mêmes.
> > >
> > > J'ai l'impression que le problème réside quelque part dans
> traite_notice
> > > et la classe iso2709.
> > >
> > > PhpMyBibli/classes/iso2709.class.php
> > >
> > > J'ai peut-être tout simplement un problème avec le traitement des
> > > notices UNIMARC. J'aimerai pouvoir tester l'import de notice du menu
> > > administration. Pour cela il me faudrai un fichier de notice.
> > > Pouvez-vous m'en faire parvenir un ?
> > >
> > > Emmanuel.
> > >
> > >
> > > Liste de diffusion phpmybibli.user
> > > Pour se dsinscrire :
> > mailto:[EMAIL PROTECTED]
> > >
> > >
> 
> 
> Liste de diffusion phpmybibli.user
> Pour se désinscrire :
> mailto:[EMAIL PROTECTED]
> 
> 


-- 
François Lemarchand
homepage : http://balno.free.fr/
PhpMyBibli : http://phpmybibli.sourceforge.net

Liste de diffusion phpmybibli.devel
Pour se désinscrire : mailto:[EMAIL PROTECTED]

Répondre à