source: pmb4.2/trunk/fuentes/pmb/admin/convert/imports/aix2pmbxml/superdoc_aix.xsl @ 815

Last change on this file since 815 was 815, checked in by jrpelegrina, 4 years ago

Initial release of pmb 4.2

  • Property svn:executable set to *
File size: 20.1 KB
Line 
1<?xml version="1.0" encoding="iso-8859-1"?>
2<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:inm="http://www.inmagic.com/webpublisher/query">
3
4<xsl:output method="xml" version="1.0" encoding="iso-8859-1" indent="yes"/>
5
6<xsl:template match="/inm:Results">
7        <xsl:apply-templates select="inm:Recordset"/>
8</xsl:template>
9
10<xsl:template match="inm:Recordset">
11<unimarc>
12        <xsl:apply-templates select="inm:Record"/>
13</unimarc>
14</xsl:template>
15
16<xsl:template match="inm:Record">
17        <xsl:if test="normalize-space(./inm:Nom-periodique)!='' "> <!-- article -->
18                <xsl:call-template name="notice">
19                        <xsl:with-param name="doctype" select="./inm:Type-de-Document" />
20                        <xsl:with-param name="nottype">article</xsl:with-param>
21                </xsl:call-template>
22        </xsl:if>
23        <xsl:if test="./inm:Nom-periodique=''"> <!-- monographie -->
24                <xsl:call-template name="notice">
25                        <xsl:with-param name="doctype" select="./inm:Type-de-Document" />
26                        <xsl:with-param name="nottype">mono</xsl:with-param>
27                </xsl:call-template>
28        </xsl:if>
29</xsl:template>
30
31
32<xsl:template name="notice">
33        <xsl:param name='doctype'/>
34        <xsl:param name='nottype'/>
35        <notice>
36                <xsl:element name="rs">*</xsl:element>
37                <xsl:element name="ru">*</xsl:element>
38                <xsl:element name="el">1</xsl:element>
39                <xsl:element name="dt">
40                        <xsl:choose>
41                                <xsl:when test="$doctype='texte imprimé'">a</xsl:when>
42                                <xsl:when test="$doctype='texte manuscrit'">b</xsl:when>
43                                <xsl:when test="$doctype='partition musicale imprimée'">c</xsl:when>
44                                <xsl:when test="$doctype='partition musicale manuscrite'">d</xsl:when>
45                                <xsl:when test="$doctype='document cartographique imprimé'">e</xsl:when>
46                                <xsl:when test="$doctype='document cartographique manuscrit'">f</xsl:when>
47                                <xsl:when test="$doctype='document projeté ou vidéo'">g</xsl:when>
48                                <xsl:when test="$doctype='enregistrement sonore non musical'">i</xsl:when>
49                                <xsl:when test="$doctype='enregistrement sonore musical'">j</xsl:when>
50                                <xsl:when test="$doctype='document graphique à deux dimensions'">k</xsl:when>
51                                <xsl:when test="$doctype='document électronique'">l</xsl:when>
52                                <xsl:when test="$doctype='document multimédia'">m</xsl:when>
53                                <xsl:when test="$doctype='objet à 3 dimensions, artefacts, ...'">r</xsl:when>
54                                <xsl:otherwise>a</xsl:otherwise>
55                        </xsl:choose>
56                </xsl:element>
57               
58                <xsl:element name="bl">
59                        <xsl:choose>
60                                <xsl:when test="$nottype='article'">a</xsl:when>
61                                <xsl:otherwise>m</xsl:otherwise>
62                        </xsl:choose>
63                </xsl:element>
64               
65                <xsl:element name="hl">
66                        <xsl:choose>
67                                <xsl:when test="$nottype='article'">2</xsl:when>
68                                <xsl:otherwise>0</xsl:otherwise>
69                        </xsl:choose>
70                </xsl:element>
71
72                <xsl:choose>   
73                        <xsl:when test="$nottype='article'">   
74                                <xsl:call-template name="article"/>
75                        </xsl:when>
76                        <xsl:otherwise>
77                                <xsl:call-template name="mono"/>
78                        </xsl:otherwise>
79                </xsl:choose>
80        </notice>
81</xsl:template>
82
83
84<!-- mono -->
85<xsl:template name='mono'>
86        <xsl:call-template name="id"/>
87        <xsl:call-template name="isbn"/>
88        <xsl:call-template name="langues"/>
89        <xsl:call-template name="titres"/>
90        <xsl:call-template name="edition"/>
91        <xsl:call-template name="collation"/>
92        <xsl:call-template name="collection"/>
93        <xsl:call-template name="notes"/>
94        <xsl:call-template name="indexations"/>
95        <xsl:call-template name="responsabilites"/>
96        <xsl:call-template name="origine"/>
97        <xsl:call-template name="url"/>
98        <xsl:call-template name="persos"/>
99        <xsl:call-template name="exemplaires">
100                <xsl:with-param name="n_ex" select="1"/>       
101        </xsl:call-template>
102</xsl:template>
103
104
105<!-- article -->
106<xsl:template name='article'>
107        <xsl:call-template name="id"/>
108        <xsl:call-template name="isbn"/>
109        <xsl:call-template name="langues"/>
110        <xsl:call-template name="titres"/>
111       
112        <xsl:if test="./inm:Titre='' and ./inm:Sous-titre='' and ./inm:Titre-generique=''">
113                <f c='200'><s c='a'>_OBJECT_BULLETIN_</s></f>
114        </xsl:if>
115       
116        <!-- lien perio -->
117        <f c='461'>
118                <s c='t'>
119                        <xsl:choose>
120                                <xsl:when test="./inm:Nom-periodique!=''"> <!-- nom perio -->
121                                        <xsl:value-of select="./inm:Nom-periodique"/>
122                                </xsl:when>
123                                <xsl:otherwise>INDETERMINE</xsl:otherwise>
124                        </xsl:choose>
125                </s>
126                <s c="9">lnk:perio</s>
127        </f>           
128        <!-- lien bulletin -->                                 
129        <f c='463'>
130                <s c='v'>
131                        <xsl:choose> <!-- numero -->
132                                <xsl:when test="normalize-space(./inm:No-collection)=''">
133                                        <xsl:choose>
134                                                <xsl:when test="(normalize-space(./inm:Volume)!='') or (normalize-space(./inm:Numero-Revue)!='')">
135                                                        <xsl:if test="./inm:Volume!=''">
136                                                                <xsl:value-of select="concat('VOL. ',./inm:Volume)"/>
137                                                        </xsl:if>
138                                                        <xsl:if test="./inm:Volume!='' and ./inm:Numero-Revue!=''">
139                                                                <xsl:text> </xsl:text> 
140                                                        </xsl:if>
141                                                        <xsl:if test="./inm:Numero-Revue!=''">
142                                                                <xsl:value-of select="concat('N° ',./inm:Numero-Revue)"/>
143                                                        </xsl:if>
144                                                </xsl:when>
145                                                <xsl:otherwise>
146                                                        <xsl:text>INDETERMINE</xsl:text>
147                                                </xsl:otherwise>
148                                        </xsl:choose>
149                                </xsl:when> 
150                                <xsl:when test="normalize-space(substring-before(./inm:No-collection,','))!=''" >
151                                        <xsl:value-of select="concat('N° ', normalize-space(substring-before(./inm:No-collection,',')))"/>
152                                </xsl:when>
153                                <xsl:otherwise>
154                                        <xsl:value-of select="concat('N° ', normalize-space(./inm:No-collection))"/>
155                                </xsl:otherwise>
156                        </xsl:choose>
157                </s>
158                <s c='e'>
159                        <xsl:choose>  <!-- date -->
160                                <xsl:when test="normalize-space(./inm:No-collection)='' and normalize-space(./inm:Date-Edition)=''" >
161                                        <xsl:text>INDETERMINE</xsl:text>
162                                </xsl:when>
163                                <xsl:when test="normalize-space(substring-after(./inm:No-collection,','))='' and normalize-space(./inm:Date-Edition)=''" >
164                                        <xsl:text>INDETERMINE</xsl:text>
165                                </xsl:when>
166                                <xsl:when test="normalize-space(substring-after(./inm:No-collection,','))!='' and normalize-space(./inm:Date-Edition)='' ">
167                                        <xsl:value-of select="normalize-space(substring-after(./inm:No-collection,','))"/>
168                                </xsl:when>
169                                <xsl:when test="normalize-space(substring-after(./inm:No-collection,','))!='' and normalize-space(./inm:Date-Edition)!='' ">
170                                        <xsl:choose>
171                                                <xsl:when test="normalize-space(substring-before(./inm:No-collection,./inm:Date-Edition))!=''">
172                                                        <xsl:value-of select="normalize-space(substring-after(./inm:No-collection,','))"/>
173                                                </xsl:when>
174                                                <xsl:otherwise>
175                                                        <xsl:value-of select="concat(normalize-space(substring-after(./inm:No-collection,',')),' ',normalize-space(./inm:Date-Edition))"/>
176                                                </xsl:otherwise>
177                                        </xsl:choose>
178                                </xsl:when>
179                                <xsl:when test="normalize-space(substring-after(./inm:No-collection,','))='' and normalize-space(./inm:Date-Edition)!=''">
180                                        <xsl:value-of select="normalize-space(./inm:Date-Edition)"/>
181                                </xsl:when>
182                        </xsl:choose>                                           
183                </s>
184                <s c="9">lnk:bull</s>
185        </f>
186        <xsl:call-template name="edition"/>
187        <xsl:call-template name="collation"/>
188        <xsl:call-template name="notes"/>
189        <xsl:call-template name="indexations"/>
190        <xsl:call-template name="responsabilites"/>
191        <xsl:call-template name="origine"/>
192        <xsl:call-template name="url"/>
193        <xsl:call-template name="persos"/>
194        <xsl:call-template name="exemplaires">
195                <xsl:with-param name="n_ex" select="1"/>       
196        </xsl:call-template>                   
197</xsl:template>
198
199<!-- Id -->
200<xsl:template name="id">
201        <xsl:if test="./inm:ID!=''" >
202                <f c='001'>
203                        <xsl:value-of select="./inm:ID"/>
204                </f>           
205        </xsl:if>
206</xsl:template>
207       
208<!-- ISBN/ISSN/prix -->
209<xsl:template name="isbn">
210        <xsl:if test="./inm:ISBN!='' or ./inm:Prix-de-vente!=''" >
211                <f c='010'>
212                        <xsl:if test="./inm:ISBN!=''">
213                                <s c='a'><xsl:value-of select="./inm:ISBN"/></s>
214                        </xsl:if>
215                        <xsl:if test="./inm:Prix-de-vente!=''">
216                                <s c='d'><xsl:value-of select="./inm:Prix-de-vente"/></s>
217                        </xsl:if>                               
218                </f>
219        </xsl:if>
220        <xsl:if test="./inm:ISSN!=''">
221                <f c='011'>
222                        <s c='a'><xsl:value-of select="./inm:ISSN"/></s>
223                </f>           
224        </xsl:if>
225</xsl:template>
226
227
228<!-- langues -->
229<xsl:template name="langues">
230        <xsl:if test="./inm:Langue!=''">
231                <f c='101'>
232                        <xsl:for-each select="./inm:Langue">
233                                <xsl:choose>
234                                        <xsl:when test=".='Français'">
235                                                <s c='a'>fre</s>                               
236                                        </xsl:when>
237                                        <xsl:when test=".='Anglais'">
238                                                <s c='a'>eng</s>                               
239                                        </xsl:when>
240                                        <xsl:when test=".='Allemand'">
241                                                <s c='a'>ger</s>                               
242                                        </xsl:when>
243                                        <xsl:when test=".='Espagnol'">
244                                                <s c='a'>spa</s>                               
245                                        </xsl:when>
246                                        <xsl:when test=".='Italien'">
247                                                <s c='a'>ita</s>                               
248                                        </xsl:when>
249                                        <xsl:when test=".='Japonais'">
250                                                <s c='a'>jpn</s>                               
251                                        </xsl:when>                                     
252                                        <xsl:when test=".='Chinois'">
253                                                <s c='a'>chi</s>                               
254                                        </xsl:when>                                     
255                                        <xsl:when test=".='Arabe'">
256                                                <s c='a'>ara</s>                               
257                                        </xsl:when>                                     
258                                        <xsl:when test=".='Basque'">
259                                                <s c='a'>baq</s>                               
260                                        </xsl:when>                                     
261                                        <xsl:when test=".='Danois'">
262                                                <s c='a'>dan</s>                               
263                                        </xsl:when>                                     
264                                        <xsl:when test=".='Esperanto'">
265                                                <s c='a'>esp</s>                               
266                                        </xsl:when>                                     
267                                        <xsl:when test=".='Français ancien'">
268                                                <s c='a'>fro</s>                               
269                                        </xsl:when>                                     
270                                        <xsl:when test=".='Grec classique'">
271                                                <s c='a'>grc</s>                               
272                                        </xsl:when>                                     
273                                        <xsl:when test=".='Grec moderne'">
274                                                <s c='a'>gre</s>                               
275                                        </xsl:when>                                     
276                                        <xsl:when test=".='Hébreu'">
277                                                <s c='a'>heb</s>                               
278                                        </xsl:when>                                     
279                                        <xsl:when test=".='Hongrois'">
280                                                <s c='a'>hun</s>                               
281                                        </xsl:when>                                     
282                                        <xsl:when test=".='Irlandais'">
283                                                <s c='a'>iri</s>                               
284                                        </xsl:when>                                     
285                                        <xsl:when test=".='Latin'">
286                                                <s c='a'>lat</s>                               
287                                        </xsl:when>                                     
288                                        <xsl:when test=".='Multilingue'">
289                                                <s c='a'>mul</s>                               
290                                        </xsl:when>                                     
291                                        <xsl:when test=".='Néerlandais'">
292                                                <s c='a'>dut</s>                               
293                                        </xsl:when>                                     
294                                        <xsl:when test=".='Occitan'">
295                                                <s c='a'>oci</s>                               
296                                        </xsl:when>                                     
297                                        <xsl:when test=".='Polonais'">
298                                                <s c='a'>pol</s>                               
299                                        </xsl:when>                                     
300                                        <xsl:when test=".='Portugais'">
301                                                <s c='a'>por</s>                               
302                                        </xsl:when>                                     
303                                        <xsl:when test=".='Provençal'">
304                                                <s c='a'>pro</s>                               
305                                        </xsl:when>                                     
306                                        <xsl:when test=".='Roumain'">
307                                                <s c='a'>rum</s>                               
308                                        </xsl:when>                                     
309                                        <xsl:when test=".='Russe'">
310                                                <s c='a'>rus</s>                               
311                                        </xsl:when>                                     
312                                        <xsl:when test=".='Tchèque'">
313                                                <s c='a'>cze</s>                               
314                                        </xsl:when>                                     
315                                        <xsl:when test=".='Turc'">
316                                                <s c='a'>tur</s>                               
317                                        </xsl:when>                                     
318                                        <xsl:when test=".='Yiddish'">
319                                                <s c='a'>yid</s>                               
320                                        </xsl:when>                                     
321                                        <xsl:when test=".='Coréen'">
322                                                <s c='a'>kor</s>                               
323                                        </xsl:when>                                     
324                                        <xsl:when test=".='Libanais'">
325                                                <s c='a'>ara</s>                               
326                                        </xsl:when>                                     
327                                        <xsl:when test=".='Suédois'">
328                                                <s c='a'>swe</s>                               
329                                        </xsl:when>                                     
330                                        <xsl:otherwise>
331                                                <s c='a'><xsl:value-of select="."/></s>
332                                        </xsl:otherwise>
333                                </xsl:choose>
334                        </xsl:for-each>
335                </f>
336        </xsl:if>
337</xsl:template>
338
339
340<!-- titres -->
341
342<xsl:template name="titres">
343        <!-- titre / sous titre -->
344        <f c='200'>
345
346        <s c='a'>
347        <xsl:choose>
348                <xsl:when test="./inm:Titre!='' and ./inm:Sous-titre!='' ">
349                        <xsl:for-each select="./inm:Titre">
350                                <xsl:value-of select="concat(.,' ')" />
351                        </xsl:for-each>
352                        <xsl:text> : </xsl:text>
353                        <xsl:for-each select="./inm:Sous-titre">
354                                <xsl:value-of select="concat(.,' ')"/>
355                        </xsl:for-each>
356                </xsl:when>
357                <xsl:when test="./inm:Titre!='' and ./inm:Sous-titre='' ">
358                        <xsl:for-each select="./inm:Titre">
359                                <xsl:value-of select="concat(.,' ')" />
360                        </xsl:for-each>
361                </xsl:when>
362                <xsl:when test="./inm:Titre='' and ./inm:Titre-generique!='' ">
363                        <xsl:value-of select="./inm:Titre-generique"/>
364                </xsl:when>
365        </xsl:choose>
366       
367        </s>
368
369<!--
370        <xsl:choose>
371                <xsl:when test="./inm:Titre!='' and ./inm:Sous-titre!='' ">
372                        <s c='a'><xsl:value-of select="concat(./inm:Titre,' : ',./inm:Sous-titre)"/></s>
373                </xsl:when>
374                <xsl:when test="./inm:Titre!='' and ./inm:Sous-titre='' ">
375                        <s c='a'><xsl:value-of select="./inm:Titre"/></s>
376                </xsl:when>
377                <xsl:when test="./inm:Titre='' and ./inm:Titre-generique!='' ">
378                        <s c='a'><xsl:value-of select="./inm:Titre-generique"/></s>
379                </xsl:when>
380        </xsl:choose>
381-->
382
383
384        </f>
385</xsl:template>
386
387
388
389<!-- Edition -->
390<xsl:template name="edition">
391        <!-- Editeur -->
392        <xsl:if test="./inm:Editeur!='' or ./inm:Date-Edition!=''">
393                <f c='210'>
394                        <xsl:if test="./inm:Editeur!=''">
395                                <s c='c'><xsl:value-of select="./inm:Editeur"/></s>
396                        </xsl:if>
397                        <xsl:if test="./inm:Date-Edition!=''">
398                                <s c='d'><xsl:value-of select="./inm:Date-Edition"/></s>
399                        </xsl:if>
400                </f>
401        </xsl:if>
402</xsl:template>
403
404
405<!-- collation -->
406<xsl:template name="collation">
407        <xsl:if test="./inm:Description-physique!='' or ./inm:Pagination!='' or ./inm:Duree!=''">
408                <f c='215'>
409                        <s c='a'>
410                                <xsl:if test="./inm:Description-physique!=''">
411                                        <xsl:value-of select="./inm:Description-physique"/>
412                                </xsl:if>                                       
413                                <xsl:if test="./inm:Pagination!='' and ./inm:Description-physique!=''">
414                                        <xsl:text >&#x020;</xsl:text>
415                                </xsl:if>       
416                                <xsl:if test="./inm:Pagination!=''">
417                                        <xsl:value-of select="./inm:Pagination"/>
418                                </xsl:if>                                       
419                                <xsl:if test="./inm:Duree!='' and (./inm:Description-physique!='' or ./inm:Pagination!='')">
420                                        <xsl:text >&#x020;</xsl:text>
421                                </xsl:if>       
422                                <xsl:if test="./inm:Duree!=''">
423                                        <xsl:value-of select="./inm:Duree"/>
424                                </xsl:if>                                       
425                        </s>
426                </f>
427        </xsl:if>
428</xsl:template>
429
430
431<!-- Collection -->
432<xsl:template name="collection">
433        <xsl:if test="./inm:Collection!='' or ./inm:No-collection!=''">
434                <f c='225'>
435                        <xsl:if test="./inm:Collection!=''">
436                                <s c='a'><xsl:value-of select="./inm:Collection"/></s>
437                        </xsl:if>
438                        <xsl:if test="./inm:No-collection!=''">
439                                <s c='v'><xsl:value-of select="./inm:No-collection"/></s>
440                        </xsl:if>
441                </f>
442        </xsl:if>
443</xsl:template>
444
445
446<!-- Notes -->
447<xsl:template name="notes">
448        <!-- Notes générales -->
449        <xsl:if test="./inm:Notes!=''">
450                <f c='300'>
451                        <s c='a'><xsl:value-of select="./inm:Notes"/></s>
452                </f>
453        </xsl:if>
454        <!-- Résumé -->
455        <xsl:if test="./inm:Resume!=''">
456                <f c='330'>
457                        <s c='a'><xsl:value-of select="./inm:Resume"/></s>
458                </f>
459        </xsl:if>
460</xsl:template>
461
462       
463<!-- responsabilites -->
464<xsl:template name="responsabilites">
465        <xsl:for-each select="./inm:Auteur">
466                <xsl:variable name="type">
467                        <xsl:choose>
468                                <xsl:when test="position()=1">700</xsl:when> 
469                                <xsl:otherwise>701</xsl:otherwise>
470                        </xsl:choose>
471                </xsl:variable>
472                <xsl:choose>
473                        <xsl:when test="normalize-space(substring-before(.,','))">
474                                <f c='{$type}' ind='  '>
475                                        <s c='a'><xsl:value-of select="normalize-space(substring-before(.,','))"/></s>
476                                        <s c='b'><xsl:value-of select="normalize-space(substring-after(.,','))"/></s>
477                                </f>
478                        </xsl:when>
479                        <xsl:when test="normalize-space(.)">
480                                <f c='{$type}' ind='  '>
481                                        <s c='a'><xsl:value-of select="normalize-space(.)"/></s>
482                                </f>
483                        </xsl:when>
484                </xsl:choose>
485        </xsl:for-each>
486        <xsl:for-each select="./inm:Auteur-collectif">
487                <xsl:choose>
488                        <xsl:when test="position()=1 and ../inm:Auteur = '' and normalize-space(.)">
489                                <f c='710' ind='0 '>
490                                        <s c='a'><xsl:value-of select="normalize-space(.)"/></s>
491                                </f>
492                        </xsl:when> 
493                        <xsl:when test="normalize-space(.)">
494                                <f c='711' ind='0 '>
495                                        <s c='a'><xsl:value-of select="normalize-space(.)"/></s>
496                                </f>
497                        </xsl:when>
498                </xsl:choose>
499        </xsl:for-each>
500        <xsl:for-each select="./inm:Auteur-secondaire">
501                        <xsl:choose>
502                                <xsl:when test="normalize-space(substring-before(.,','))">
503                                        <f c='702' ind='  '>
504                                                <s c='a'><xsl:value-of select="normalize-space(substring-before(.,','))"/></s>
505                                                <s c='b'><xsl:value-of select="normalize-space(substring-after(.,','))"/></s>
506                                        </f>
507                                </xsl:when>
508                                <xsl:when test="normalize-space(.)">
509                                        <f c='702' ind='  '>
510                                                <s c='a'><xsl:value-of select="normalize-space(.)"/></s>
511                                        </f>
512                                </xsl:when>
513                        </xsl:choose>
514        </xsl:for-each>
515</xsl:template>
516
517
518<!-- indexations -->
519<xsl:template name="indexations">
520        <xsl:if test="./inm:Descripteurs!=''">
521                <xsl:for-each select="./inm:Descripteurs">
522                        <f c='606'>
523                                <s c='a'><xsl:value-of select="."/></s>
524                        </f>
525                </xsl:for-each>
526        </xsl:if>
527        <xsl:if test="./inm:Descripteurs-geo!=''">
528                <xsl:for-each select="./inm:Descripteurs-geo">
529                        <f c='606'>
530                                <s c='a'><xsl:value-of select="."/></s>
531                        </f>
532                </xsl:for-each>
533        </xsl:if>
534        <xsl:if test="./inm:Desc-noms-propres!=''">
535                <xsl:for-each select="./inm:Desc-noms-propres">
536                        <f c='606'>
537                                <s c='a'><xsl:value-of select="."/></s>
538                        </f>
539                </xsl:for-each>
540        </xsl:if>
541        <xsl:if test="./inm:Mots-cles!=''">
542                <xsl:for-each select="./inm:Mots-cles">
543                        <f c='610'>
544                                <s c='a'><xsl:value-of select="."/></s>
545                        </f>
546                </xsl:for-each>
547        </xsl:if>       
548        <xsl:if test="./inm:Indexation-locale!=''">
549                <xsl:for-each select="./inm:Indexation-locale">
550                        <f c='610'>
551                                <s c='a'><xsl:value-of select="."/></s>
552                        </f>
553                </xsl:for-each>
554        </xsl:if>
555</xsl:template>
556
557
558<!--  origine notice -->
559<xsl:template name="origine">
560        <xsl:if test="./inm:Origine!=''">
561                <f c='801'>
562                        <s c='b'><xsl:value-of select="./inm:Origine"/></s>
563                </f>
564        </xsl:if>       
565</xsl:template>
566
567
568<!-- url -->
569<xsl:template name="url">
570        <xsl:if test="./inm:URL!=''">
571                <f c='856'>
572                        <s c='u'><xsl:value-of select="./inm:URL"/></s>
573                </f>
574        </xsl:if>       
575</xsl:template>
576
577
578<!-- champs persos -->
579<xsl:template name="persos">
580        <!-- theme -->
581        <xsl:if test="./inm:Theme!=''">
582                <f c='900'>
583                <xsl:for-each select="./inm:Theme">
584                        <s c='a'><xsl:value-of select="."/></s>
585                </xsl:for-each>
586                </f>
587        </xsl:if>
588        <!-- Genre -->
589        <xsl:if test="./inm:Genre-forme!=''">
590                <f c='901'>
591                <xsl:for-each select="./inm:Genre-forme">
592                        <s c='a'><xsl:value-of select="."/></s>
593                </xsl:for-each>
594                </f>
595        </xsl:if>       
596        <!-- Discipline -->
597        <xsl:if test="./inm:Discipline!=''">
598                <f c='902'>
599                <xsl:for-each select="./inm:Discipline">
600                        <s c='a'><xsl:value-of select="."/></s>
601                </xsl:for-each>
602                </f>
603        </xsl:if>
604        <!-- Année de péremption -->
605        <xsl:if test="./inm:Date-de-peremption!=''">
606                <f c='903'>
607                        <s c='a'><xsl:value-of select="./inm:Date-de-peremption"/></s>
608                </f>
609        </xsl:if>
610        <!-- Date catalogage -->
611        <xsl:if test="./inm:Date-Catalogage!=''">
612                <f c='904'>
613                        <s c='a'><xsl:value-of select="./inm:Date-Catalogage"/></s>
614                </f>
615        </xsl:if>
616        <!-- Type de nature -->
617        <xsl:if test="./inm:Nature-du-document!=''">
618                <f c='905'>
619                <xsl:for-each select="./inm:Nature-du-document">
620                        <s c='a'><xsl:value-of select="."/></s>
621                </xsl:for-each>
622                </f>
623        </xsl:if>
624        <!-- Niveau -->
625        <xsl:if test="./inm:Niveau---public!=''">
626                <f c='906'>
627                <xsl:for-each select="./inm:Niveau---public">
628                        <s c='a'><xsl:value-of select="."/></s>
629                </xsl:for-each>
630                </f>
631        </xsl:if>
632</xsl:template>
633
634
635<!-- Exemplaires -->
636<xsl:template name="exemplaires">
637        <xsl:param name="n_ex"/>
638        <xsl:if test="./inm:Code-Barre[$n_ex]!=''">     
639                <f c='995'>
640                        <!-- code barre -->
641                        <s c='f'><xsl:value-of select="./inm:Code-Barre[$n_ex]"/></s>
642                        <!-- cote -->
643                        <s c='k'>
644                                <xsl:choose>
645                                        <xsl:when test="./inm:Expl-Cote[$n_ex]!=''">
646                                                <xsl:value-of select="./inm:Expl-Cote[$n_ex]"/>
647                                        </xsl:when>                             
648                                        <xsl:otherwise>
649                                                <xsl:choose>
650                                                        <xsl:when test="./inm:Expl-Cote[1]!=''">
651                                                                <xsl:value-of select="./inm:Expl-Cote[1]"/>
652                                                        </xsl:when>
653                                                        <xsl:otherwise>
654                                                                <xsl:text>INDETERMINE</xsl:text>
655                                                        </xsl:otherwise>
656                                                </xsl:choose>
657                                        </xsl:otherwise>                               
658                                </xsl:choose>
659                        </s>
660                        <!-- section -->
661                        <s c='q'>
662                                <xsl:choose>
663                                        <xsl:when test="./inm:Expl-Localisation[$n_ex]!=''">
664                                                <xsl:value-of select="./inm:Expl-Localisation[$n_ex]"/>
665                                        </xsl:when>                             
666                                        <xsl:otherwise>
667                                                <xsl:choose>
668                                                        <xsl:when test="./inm:Expl-Localisation[1]!=''">
669                                                                <xsl:value-of select="./inm:Expl-Localisation[1]"/>
670                                                        </xsl:when>
671                                                        <xsl:otherwise>
672                                                                <xsl:text>INDETERMINE</xsl:text>
673                                                        </xsl:otherwise>
674                                                </xsl:choose>
675                                        </xsl:otherwise>                               
676                                </xsl:choose>                           
677                        </s>
678                        <!-- type document -->
679                        <s c='r'>
680                        <xsl:choose>
681                                <xsl:when test="./inm:Support!=''">
682                                        <xsl:value-of select="./inm:Support"/>
683                                </xsl:when>
684                                <xsl:otherwise>INDETERMINE</xsl:otherwise>
685                        </xsl:choose>
686                        </s>
687                </f>
688                <f c='996'>
689                        <!-- Localisation -->
690                        <s c='v'>
691                                <xsl:choose>
692                                        <xsl:when test="./inm:Centre!=''">
693                                                <xsl:value-of select="./inm:Centre"/>
694                                        </xsl:when>
695                                        <xsl:otherwise>
696                                                <xsl:text>CDI</xsl:text>
697                                        </xsl:otherwise>
698                                </xsl:choose>
699                        </s>
700                </f>
701        </xsl:if>
702        <xsl:if test="./inm:Code-Barre[$n_ex+1]">
703                <xsl:call-template name="exemplaires">
704                        <xsl:with-param name="n_ex" select="$n_ex+1"/> 
705                </xsl:call-template>
706        </xsl:if>
707</xsl:template>
708
709<xsl:template match="*" />
710
711</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.