source: trunk/superbibmany01_xml.xsl

Last change on this file was 355, checked in by pinsard, 10 years ago

fix thanks to coding rules; typo; dupe empty lines

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