README.md 4.69 KB
Newer Older
Guillaume Porte's avatar
Guillaume Porte committed
1
2
# Imports dans TELMA CHARTES

Guillaume Porte's avatar
Guillaume Porte committed
3
4
5
6
7
8
9
10
## Avant tout 

* dans Telma Chartes : 
    * créer un projet
    * définir une liste de champs 
    * définir des listes propres au projet ou utiliser les listes communes
    * contact @gporte@unistra.fr ou cyril.masset@cnrs-orleans.fr

Guillaume Porte's avatar
Guillaume Porte committed
11
12
## Principes généraux

Guillaume Porte's avatar
Guillaume Porte committed
13
* voir template.xml pour la construction du fichier d'import 
Guillaume Porte's avatar
Guillaume Porte committed
14
15
16
17
18
19
20
* Racine du document : `<xml>`
* Chaque notice est définie dans un `<record>`
* Chaque notice contient une série d'éléments dans `<elements>` (au pluriel)
* Chaque `<elements>` contient n `<element>` (au singulier)
* Les balises `<element>` décrivent les champs (voir ci-dessous)

------------
Guillaume Porte's avatar
Guillaume Porte committed
21

Guillaume Porte's avatar
Guillaume Porte committed
22
## 1. Construction d'une balise `<element>` pour un champ
Guillaume Porte's avatar
Guillaume Porte committed
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39

### 1.1 nom_champ
Nom du champ à donner dans `@type`

### 1.2 nom champs parent
Indique que ce champ ne peut être utilisé seul, mais seulement comme enfant d'un autre champ (voir "dates" et "champs composés")

### 1.3 template_champ
Selon le template, une structuration spécifique est requise.

### 1.4 liste
Nom de la liste correspondant à ce champ.
Des fichiers csv décrivant ces listes sont associés à cette doc.

### 1.4 duplicable
Le champ peut être répété plusieurs fois (oui) ou doit être unique (non).

Guillaume Porte's avatar
Guillaume Porte committed
40
### 1.5 balisesHTML
Guillaume Porte's avatar
Guillaume Porte committed
41
42
43
Le champ autorise ou non l'utilisation de balises html dans la zone `<value>`

* En général, l'usage de balises HTML dans les champs **n'est pas recommandé**
Guillaume Porte's avatar
Guillaume Porte committed
44
* Il est cependant **possible** pour les champs de type "text-bloc" (analyse, etc.)
Guillaume Porte's avatar
Guillaume Porte committed
45
46
47
48
* Les balises autorisées dans ce dernier cas sont : 
	* mise en forme (uniquement `<i>` et `<b>`)
	* liens hypertexte
	* cas particulier des appels de notes : 
Guillaume Porte's avatar
Guillaume Porte committed
49
50
		* apparat critique (a) ```<a class="app" href="#app-{lettre_de_la_note}">{lettre_de_la_note}</a>```
	   	* notes historiques (1) ```<a class="note" href="#note-{numéro_de_la_note}">{numéro_de_la_note}</a>```
Guillaume Porte's avatar
Guillaume Porte committed
51

Guillaume Porte's avatar
Guillaume Porte committed
52
53
54
55
### 1.6 balises XML
Le champ "transcription" **uniquement** permet l'utilisation de balises XML (TEI).
Leur comportement à l'affichage n'est pas automatique et doit être paramétré (contact gporte@unnistra.fr ou cyril.masset@cnrs-orleans.fr)

Guillaume Porte's avatar
Guillaume Porte committed
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
------------


## 2. fichier XML pour l'import 

### 2.1 attributs 

* @id : **ne pas indiquer** => créé lors de l'import
* @status : 1 => non publié ; 2 => publié

### 2.2 balises

#### 2.2.1 notice
Chaque notice est englobée dans une balise `<record>`
```
<record type="acte" status="{1|2}">
Guillaume Porte's avatar
Guillaume Porte committed
72
	<projectSlug>nom_du_projet</projectSlug>
Guillaume Porte's avatar
Guillaume Porte committed
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
	<elements>
		<element/>
		<element/>
		...
	</elements>
</record>
```

#### 2.2.2 champs
* L'ensemble des champs est contenu dans une balise `<elements>`
* Chaque champ est contenu dans une balise `<element>` et se compose **au moins** : 
	* d'un `@type` (= nom du champ)
	* d'un `@status` (= statut de publication)
	* d'un sous élément `<value>`
* et **éventuellement** :
	* d'un sous élément `<children>` contenant lui même _n_ sous éléments `<element>`
* Chaque champ répond à un template qui a sa propre logique 

##### 2.2.2.1 champs "text" ou "text-block"
```
<element type="{nom_champ}" status="{1|2}">
	<value>{contenu plein texte}</value>
</element>
```

##### 2.2.2.2 champs "liste"
Guillaume Porte's avatar
Guillaume Porte committed
99
* Indiquer dans `element` le nom de la liste dans un attribut `@liste`.
Guillaume Porte's avatar
Guillaume Porte committed
100
* Indiquer dans `value` l'identifiant de la valeur via un `@id`.
Guillaume Porte's avatar
Guillaume Porte committed
101
102
* Les identifiants des listes spécifiques au projet peuvent être trouvées dans Telma Chartes > paramètres > Mes projets > {projet} > Listes
* Pour les identifiants des listes communes, voir listes-communes.csv
Guillaume Porte's avatar
Guillaume Porte committed
103
```
Guillaume Porte's avatar
Guillaume Porte committed
104
<element type="{nom_champ}" status="{1|2}" liste={nom_de_la_liste}>
Guillaume Porte's avatar
Guillaume Porte committed
105
106
107
108
109
110
111
112
	     <value id="{id_value}"/>
</element>
```

#### 2.2.2.3 champs "date"
* Une date est donnée au format suivant : AAAA/MM/JJ ;  AAAA/MM ; AAAA
* Elle est soit **unique** (précise ou approximative), soit sous forme de **période** (après et/ou avant) 

Guillaume Porte's avatar
Guillaume Porte committed
113
* **date unique précise ou approximative**
Guillaume Porte's avatar
Guillaume Porte committed
114
115
```
<element type="date" status="{1|2}">
Guillaume Porte's avatar
Guillaume Porte committed
116
	<value type="{precise|circa}">{AAAA/MM/JJ}</value>
Guillaume Porte's avatar
Guillaume Porte committed
117
118
119
120
121
122
123
124
125
126
</element>
```

* **périodes**
	* Il est possible de ne renseigner qu'une seule date :
		* après seul = sans date de fin 
		* avant seul = sans date de début
	* Pas de circa dans le cas de périodes
```
<element type="date" status="{1|2}">
Guillaume Porte's avatar
Guillaume Porte committed
127
128
	<value type="date_apres">{AAAA/MM/JJ}</value>
	<value type="date_avant">{AAAA/MM/JJ}</value>
Guillaume Porte's avatar
Guillaume Porte committed
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
</element>
```

#### 2.2.2.4 champs composés
```
<element type="{nom_champ}" status="{1|2}">
	<value>{contenu plein texte}</value>
	<children>
		<element type="{nom_champ}" status="{1|2}">
			<value>{contenu plein texte}</value>
		</element>
	</children>
</element>
```
* exemple
```
<element type="notes_historiques" status="2">
	<value>Ceci est une note</value>
	<children>
		<element type="numero_note" status="2">
			<value>1/value>
		</element>
	</children>
</element>
```