Dilib, module Tei, classe TeiHandler

De Wicri Outils
LogoDilib.gif
Panneau travaux.png
Bibliothèque Dilib (ressources numériques)
Module Tei

La classe TeiHandler contient un ensemble de fonctions C pour faciliter la création d'un document TEI ou la manipulation de ses éléments.

 

Utilisation en création

En création, les fonctions opèrent sur un seul document pour lequel des points d'entrée sont prédéfinis.

Le fichier TeiHandler.h

Il contient un ensemble de pointeurs.

Certains pointeurs sont liés à un document et sont uniques.

SxmlNode *Tei_root;
SxmlNode *Tei_header;
SxmlNode *Tei_front;
SxmlNode *Tei_back;

De même, pour le header :

SxmlNode *Tei_fileDesc;
SxmlNode *Tei_profileDesc;
SxmlNode *Tei_publicationStmt;
SxmlNode *Tei_textClass;
SxmlNode *Tei_titleStmt;
SxmlNode *Tei_seriesStmt;
SxmlNode *Tei_back_listBibl;
SxmlNode *Tei_sourceDesc;

Dans ce header, des éléments répétables qui peuvent se retrouver dans la bibliographie désignent en fait ceux qui figurent dans le header ;

SxmlNode *Tei_biblStruct;    
SxmlNode *Tei_analytic;
SxmlNode *Tei_series;
SxmlNode *Tei_seriesImprint;
SxmlNode *Tei_monogr;

Tei_series

Le pointeur Tei_series, pointe pour un document sur la première occurrence d'un élément series.

Il lui correspond un pointeur Tei_seriesImprint sur l'élément imprint correspondant.

Fonction TeiAppendIdno

SxmlNode *TeiAppendIdno(char *type, char *value)

Cette fonction retourne un pointeur sur l'élément idno créé et ajouté.

Fonction TeiSetIdnoRbid

SxmlNode *TeiSetIdnoRbid(char *base, char *identifier)
Exemple d'emploi

Adaptation de l'élément id d'une notice ArXiv.

 <id>http://arxiv.org/abs/1102.4151v1</id>
 if ((idArxiv=SxmlGetFirstChildByTagName(entry,"id")))
    {
      char *beginId;
      beginId=strstr(SxmlLeafText(idArxiv), "abs/");
      if (beginId) TeiSetIdnoRbid("ArXiv", beginId+4);
    }
 <idno type="RBID">ArXiv:1102.4151v1</idno>

Auteurs

Utilisation en lecture

SxmlNode *TeiHandlerInit(SxmlNode *docInput)