source: trunk/superbib02_xml.xsl @ 66

Last change on this file since 66 was 66, checked in by pinsard, 16 years ago

implemenation of xml to bibtex transformation (superbib02_txt.xsl). reverse is not yet correctly done

  • Property svn:keywords set to Id
File size: 6.8 KB
Line 
1<?xml version="1.0" encoding="iso-8859-1"?>
2<xsl:stylesheet 
3version="1.0" 
4xmlns:d="http://docbook.org/ns/docbook"
5xmlns:xl="http://www.w3.org/1999/xlink"
6xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
7
8<!--
9module :
10produce a DocBook 5 with bibliograhy references sorted by authors
11
12update :
13$Id$
14fplod 2008-04-30T15:02:03Z aedon.locean-ipsl.upmc.fr (Darwin)
15language inherited from biblio.xml
16fplod 2008-04-29T08:01:08Z aedon.locean-ipsl.upmc.fr (Darwin)
17chgt for dbk5
18fplod 2007-10-17T07:49:19Z aedon.locean-ipsl.upmc.fr (Darwin)
19improve sort (diacriticals)
20fplod 2007-05-18T14:31:33Z aedon.locean-ipsl.upmc.fr (Darwin)
21modif gestion id
22fplod 2007-05-16T15:15:36Z aedon.locean-ipsl.upmc.fr (Darwin)
23correction pour homonymes partiels
24fplod 2007-05-04T08:17:56Z aedon.locean-ipsl.upmc.fr (Darwin)
25externalisation de biblioentry
26fplod 2007-04-02T08:53:30Z aedon.locean-ipsl.upmc.fr (Darwin)
27journal dans biblioset
28fplod 2007-03-30T12:38:34Z aedon.locean-ipsl.upmc.fr (Darwin)
29creation
30-->
31
32
33<xsl:output
34 method="xml"
35 indent="yes"
36 encoding="utf-8"
37 omit-xml-declaration="no"/>
38
39<xsl:include href="firstname_id.xsl"/>
40<xsl:include href="surname_id.xsl"/>
41<xsl:include href="table_authors.xsl"/>
42<xsl:include href="biblioentry_xml.xsl"/>
43
44<xsl:variable name="list_author_ids" select="///d:author[not( self::node() = following::d:author )]"/>
45
46<xsl:template match="d:bibliography">
47
48<xsl:element name="article">
49<xsl:attribute name="version">5.0</xsl:attribute>
50<xsl:attribute name="xmlns">http://docbook.org/ns/docbook</xsl:attribute>
51<xsl:attribute name="xml:lang"><xsl:value-of select="@xml:lang"/></xsl:attribute>
52<title>NEMO - Publications - Papers by authors</title>
53<info>
54<authorgroup>
55<author><personname><firstname>Sébastien</firstname> <surname>Masson</surname></personname></author>
56<author><personname><firstname>Françoise</firstname> <surname>Pinsard</surname></personname></author>
57<!--++-->
58</authorgroup>
59<keywordset>
60<keyword>NEMO</keyword>
61</keywordset>
62<!-- ++ date -->
63</info>
64<para xml:id="top">
65 This page intents to provide an exhaustive list of the papers that have used NEMO or OPA and/or results from them. Obvioulsy many papers are missing. If you find omissions or mistakes please ask some modification via
66<xsl:element name="link">
67 <xsl:attribute name="xl:href">
68  <xsl:value-of select="'./main.php'"/>
69 </xsl:attribute>
70 <xsl:text>Nemo Survey main page</xsl:text>
71</xsl:element>.
72</para>
73<para>
74You can also see <quote>NEMO - Publications - Papers</quote> sorted by
75<xsl:element name="link">
76 <xsl:attribute name="xl:href">
77  <xsl:value-of select="'./superbib01.html'"/>
78 </xsl:attribute>
79<xsl:text>years</xsl:text>
80</xsl:element>.
81</para>
82
83<xsl:call-template name="para_lastupdate_bib">
84 <xsl:with-param name="language" select="@xml:lang"/>
85 <xsl:with-param name="date" select="d:info/d:date"/>
86</xsl:call-template>
87
88<sect1 xml:id="intro">
89<title>Introduction</title>
90<para>
91This document provide bibliography sorted by author's id (<emphasis>SURNAME_f</emphasis>).
92</para>
93
94<xsl:call-template name="table_authors">
95<xsl:with-param name="linktype" select="'internal'"/>
96</xsl:call-template>
97</sect1>
98
99<!-- loop on author_ids -->
100<xsl:for-each select="$list_author_ids">
101<xsl:sort order="ascending" data-type="text" select="translate(.,'abcdefghijklmnopqrstuvwxyz éèçàùëöñó', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_EECAUEONO')"/>
102<xsl:variable name="author_id2">
103<xsl:call-template name="surname_id">
104 <xsl:with-param name="surname" select="d:personname/d:surname"/>
105</xsl:call-template>
106<xsl:text>_</xsl:text>
107<xsl:call-template name="firstname_id">
108 <xsl:with-param name="firstname" select="d:personname/d:firstname"/>
109</xsl:call-template>
110</xsl:variable>
111<!--
112<xsl:message terminate="no">
113noeud courant <xsl:value-of select="name(.)"/>
114author <xsl:value-of select="ancestor::d:author"/>
115author_id2 <xsl:value-of select="$author_id2"/>
116</xsl:message>
117-->
118<xsl:call-template name="one_author_id">
119<xsl:with-param name="author_id" select="$author_id2"/>
120<xsl:with-param name="author_name" select="."/>
121</xsl:call-template>
122</xsl:for-each>
123
124</xsl:element>
125</xsl:template>
126
127<xsl:template match="d:info/d:date"/>
128<xsl:template match="d:bibliography/d:title"/>
129
130<xsl:template name="one_author_id">
131<xsl:param name="author_id"/>
132<xsl:param name="author_name"/>
133<!--
134<xsl:message terminate="no">
135call template avec <xsl:value-of select="$author_id"/>
136et <xsl:value-of select="$author_name"/>
137noeud courant <xsl:value-of select="name(.)"/>
138</xsl:message>
139-->
140<!--
141<xsl:message terminate="no">
142author_id_<xsl:value-of select="$author_id"/> : <xsl:value-of select="count(/descendant::d:biblioentry[descendant::d:surname=$author_id])"/>
1432 author_id_<xsl:value-of select="$author_id"/> : <xsl:value-of select="count(/descendant::d:biblioentry[descendant::d:author=$author_name])"/>
144</xsl:message>
145-->
146<xsl:element name="sect1">
147<xsl:attribute name="xml:id">
148<xsl:value-of select="$author_id"/>
149</xsl:attribute>
150<xsl:element name="title">
151<xsl:value-of select="$author_name"/>
152<xsl:element name="link">
153<xsl:attribute name="xl:href"><xsl:text>#top</xsl:text></xsl:attribute>
154<xsl:element name="inlinemediaobject">
155<xsl:element name="imageobject">
156<xsl:element name="imagedata">
157<xsl:attribute name="fileref">../../images/globalicondl11x10_up.gif</xsl:attribute>
158</xsl:element>
159     </xsl:element>
160     <xsl:element name="textobject">
161      <xsl:element name="phrase">
162       <xsl:text>top</xsl:text>
163      </xsl:element>
164     </xsl:element>
165    </xsl:element>
166   </xsl:element>
167  </xsl:element>
168  <xsl:element name="orderedlist">
169   <xsl:for-each select="//d:biblioentry">
170    <xsl:sort order="descending" data-type="number" select="./d:biblioset/d:pubdate"/>
171    <xsl:for-each select="descendant::d:author">
172     <xsl:sort order="ascending" data-type="text" select="./d:personname/d:surname"/>
173     <xsl:sort order="ascending" data-type="text" select="./d:personname/d:firstname"/>
174     <xsl:variable name="author_id2">
175<xsl:call-template name="surname_id">
176 <xsl:with-param name="surname" select="d:personname/d:surname"/>
177</xsl:call-template>
178      <xsl:text>_</xsl:text>
179<xsl:call-template name="firstname_id">
180 <xsl:with-param name="firstname" select="d:personname/d:firstname"/>
181</xsl:call-template>
182     </xsl:variable>
183
184<!--
185     <xsl:message terminate="no">
186      ref #<xsl:value-of select="position()"/>
187      _id appel <xsl:value-of select="$author_id"/>
188      _id fabrique <xsl:value-of select="$author_id2"/>
189      egal ? <xsl:value-of select="$author_id2 = $author_id"/>
190     </xsl:message>
191-->
192     <xsl:if test="$author_id2 = $author_id">
193  <xsl:call-template name="one_biblioentry">
194   <xsl:with-param name="visu_modif" select="'visu'"/>
195   <xsl:with-param name="type" select="'raw'"/>
196   <xsl:with-param name="my_biblioentry" select="ancestor::d:biblioentry"/>
197  </xsl:call-template>
198     </xsl:if>
199    </xsl:for-each>
200   </xsl:for-each>
201  </xsl:element>
202 </xsl:element>
203</xsl:template>
204
205</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.