Fichier corpus-classes.xml : définir des classes de corpus

Le moteur Scrutari permet de regrouper des corpus issus de bases différentes au sein de « classes ». Dans la Coredem, par exemple, tous les corpus des différents sites qui correspondent à des dossiers sont réunis dans la classe « dossiers ».

Le nombre de classes n'est pas limité. Il existe toujours une classe « par défaut » dans lequel sont placés tous les corpus dont la classe n'est pas explicitement définie dans le fichier de configuration (si ce dernier n'existe pas, tous les corpus sont dans la classe par défaut).

Les classes suivent un ordre hiérarchique. Cette hiérarchie joue un grand rôle dans l'ordre des fiches puisque toutes les fiches d'une classe supérieure sont placées avant les fiches d'une classe inférieure. Dans la Coredem, la hiérarchie des classes est la suivante : Concepts > Sites > Dossiers > Ouvrages > Textes et documents (cette dernière classe étant la classe par défaut).

Structure du format XML

L'élément racine est l'élément <corpus-classes>. Il contient comme premier élément un élément <classe-def-list> qui contient la définition des différentes classes sous la forme d'éléments <classe-def>. Un élément <classe-def> possède l'attribut @name qui correspond au nom de la classe et il contient un nombre illimité d'éléments <lib> indiquant l'intitulé de la classe dans une langue donnée.

Les intitulés de la classe par défaut peuvent être définis en insérant un élément <class-def> avec comme valeur _default pour l'attribut @name.

L'ordre des éléments <class-def> est important car il définit la hiérarchie des groupes (dans l'ordre décroissant : les premières classes définies sont placées en premier). La classe par défaut n'est pas obligatoirement la dernière, elle peut être placée avant d'autres classes (si on définit par exemple une classe « archives » qui contient des fiches de moindre importance).

Ensuite, l'élément <corpus-classes> contient un nombre illimité d'éléments <corpus-list> (normalement, un par classe). Un élément <corpus-list> possède l'attribut @classe-name qui a pour valeur le nom de la classe correspondant à la liste et il contient des éléments <uri> qui ont comme valeur l'URI des corpus en question.

Exemple

L'exemple suivant est la définition des classes de la Coredem (en juin 2009). Quatre classes sont définies : Concepts (avec un seul corpus), Sites (un seul corpus également), Dossiers (trois corpus), Ouvrages (un corpus).

La classe par défaut a comme intitulé en français « Textes et documents ».

<corpus-classes>
	<classe-def-list>
		<classe-def name="concept">
			<lib xml:lang="fr">Concepts</lib>
			<lib xml:lang="en">Concepts</lib>
			<lib xml:lang="es">Conceptos</lib>
			<lib xml:lang="pt">Conceitos</lib>
		</classe-def>
		<classe-def name="site">
			<lib xml:lang="fr">Sites</lib>
			<lib xml:lang="en">Websites</lib>
			<lib xml:lang="es">Sitios web</lib>
			<lib xml:lang="pt">Websites</lib>
		</classe-def>
		<classe-def name="dossier">
			<lib xml:lang="fr">Dossiers</lib>
			<lib xml:lang="en">Dossiers</lib>
			<lib xml:lang="es">Dosiers</lib>
			<lib xml:lang="pt">Dossiês</lib>
		</classe-def>
		<classe-def name="ouvrage">
			<lib xml:lang="fr">Ouvrages</lib>
			<lib xml:lang="en">Books</lib>
			<lib xml:lang="es">Libros</lib>
			<lib xml:lang="pt">Livros</lib>
		</classe-def>
		<classe-def name="_default">
			<lib xml:lang="fr">Textes et documents</lib>
			<lib xml:lang="en">Texts and documents</lib>
			<lib xml:lang="es">Textos y documentos</lib>
			<lib xml:lang="pt">Textos e documentos</lib>
		</classe-def>
	</classe-def-list>
	<corpus-list classe-name="concept">
		<uri>corpus:/e17a05b0-c45e-11d8-9669-0800200c9a66/coredem_fr/concept</uri>
	</corpus-list>
	<corpus-list classe-name="site">
		<uri>corpus:/e17a05b0-c45e-11d8-9669-0800200c9a66/sitecoredem/site</uri>
	</corpus-list>
	<corpus-list classe-name="dossier">
		<uri>corpus:/e17a05b0-c45e-11d8-9669-0800200c9a66/dph/dossiers</uri>
		<uri>corpus:/e17a05b0-c45e-11d8-9669-0800200c9a66/irenees/dossiers</uri>
		<uri>corpus:/e17a05b0-c45e-11d8-9669-0800200c9a66/rsp/dossier</uri>
	</corpus-list>
	<corpus-list classe-name="ouvrage">
		<uri>corpus:/e17a05b0-c45e-11d8-9669-0800200c9a66/eclm/eclm</uri>
	</corpus-list>
</corpus-classes>

DTD

<!ELEMENT corpus-classes (classe-def-list,corpus-list*)>
 
<!ELEMENT classe-def-list (classe-def*)>
 
   <!ELEMENT classe-def (lib*)>
     <!ATTLIST class-def name NMTOKEN #REQUIRED>
 
 
<!ELEMENT corpus-list (uri*)>
 
   <!ELEMENT uri (#PCDATA)>
 
 
 
<!ELEMENT lib (#PCDATA)>
   <!ATTLIST lib xml:lang NMTOKEN #REQUIRED>
serveurscrutari/config/corpusclasses.txt · Dernière modification: 2014/03/25 21:34 par vincent
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0