]> gitweb.fperrin.net Git - gen-quickdic.git/blob - XMLittre-entree.xslt
GCIDE conversion
[gen-quickdic.git] / XMLittre-entree.xslt
1 <?xml version="1.0" encoding="utf-8"?>
2 <xsl:stylesheet version="1.0"
3                 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
4                 xmlns:my="xmlittre"
5                 extension-element-prefixes="my">
6   <xsl:output method="xml" version="1.0" encoding="UTF-8"
7               indent="no" standalone="no" omit-xml-declaration="yes"/>
8
9   <xsl:template match="@*|node()">
10     <xsl:copy>
11       <xsl:apply-templates select="@*|node()" />
12     </xsl:copy>
13   </xsl:template>
14
15   <xsl:template match="entree"><div>
16     <xsl:for-each select="entete/nature | entete/indent | entete/cit | entete/a | entete/semantique">
17       <xsl:apply-templates select="."/>
18     </xsl:for-each>
19
20     <xsl:if test="résumé">
21       <p><b>RÉSUMÉ</b></p>
22     </xsl:if>
23     <xsl:if test="résumé/indent">
24       <xsl:apply-templates select="résumé/indent"/>
25     </xsl:if>
26     <xsl:choose>
27       <xsl:when test="count(résumé/variante) &gt; 1">
28         <xsl:apply-templates select="résumé" mode="plusieurs_variantes"/>
29       </xsl:when>
30       <xsl:when test="count(résumé/variante) = 1">
31         <xsl:apply-templates select="résumé" mode="unique_variante"/>
32       </xsl:when>
33     </xsl:choose>
34     <xsl:if test="résumé">
35       <p><b>ENTRÉE PRINCIPALE</b></p>
36     </xsl:if>
37     
38     <xsl:choose>
39       <xsl:when test="count(corps/variante) &gt; 1">
40         <xsl:apply-templates select="corps" mode="plusieurs_variantes"/>
41       </xsl:when>
42       <xsl:otherwise>
43         <xsl:apply-templates select="corps" mode="unique_variante"/>
44       </xsl:otherwise>
45     </xsl:choose>
46
47     <xsl:for-each select="rubrique">
48       <p><b><xsl:value-of select="@nom"/></b></p>
49       <xsl:apply-templates select="node()"/>
50     </xsl:for-each>
51
52     <xsl:if test="entete/prononciation">
53       <p><b>PRONONCIATION</b></p>
54       <p><xsl:apply-templates select="entete/prononciation/node()" /></p>
55     </xsl:if>
56   </div></xsl:template>
57
58   <xsl:template match="nature">
59     <i><xsl:value-of select="text()"/></i>
60   </xsl:template>
61
62   <xsl:template match="indent">
63     <div style="padding-left: 2em"><xsl:apply-templates select="node()"/></div>
64   </xsl:template>
65
66   <xsl:template match="corps|résumé" mode="plusieurs_variantes">
67     <ol>
68       <xsl:for-each select="variante">
69         <li><xsl:apply-templates select="node()"/></li>
70       </xsl:for-each>
71     </ol>
72   </xsl:template>
73
74   <xsl:template match="corps|résumé" mode="unique_variante">
75     <div><xsl:apply-templates select="variante/node()"/></div>
76   </xsl:template>
77
78   <xsl:template match="cit">
79     <p><q><xsl:apply-templates select="node()" /></q>
80       <xsl:if test="string-length(@ref)>0">, <i><xsl:value-of select="@ref"/></i></xsl:if>
81       <xsl:if test="string-length(@aut)>0">, <xsl:value-of select="@aut"/></xsl:if>
82     </p>
83   </xsl:template>
84
85   <xsl:template match="rubrique">
86     <p><b><xsl:value-of select="@nom"/></b></p>
87     <xsl:apply-templates select="node()"/>
88   </xsl:template>
89
90   <xsl:template match="exemple">
91     <q><xsl:apply-templates select="node()"/></q>
92   </xsl:template>
93   <xsl:template match="semantique">
94     <xsl:apply-templates select="node()"/>
95   </xsl:template>
96   <xsl:template match="span">
97     <xsl:apply-templates select="node()"/>
98   </xsl:template>
99
100   <xsl:template match="a"><my:massagelink/></xsl:template>
101
102 </xsl:stylesheet>