source: trunk/superbibmany01_xml.xsl @ 76

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

no more NEMO reference in XSL files; project information (name and home page are in main.xml

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