source: trunk/superbibmany01_xml.xsl @ 164

Last change on this file since 164 was 114, checked in by pinsard, 13 years ago

fix for authors survey

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