source: trunk/superbib02_rest.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: 4.5 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<!--rst
9
10.. _superbib02_rest.xsl:
11
12===================
13superbib02_rest.xsl
14===================
15
16produce a DocBook 5 with bibliograhy references sorted by authors
17
18TODO
19====
20
21make it beautifull
22
23EVOLUTIONS
24==========
25
26$Id$
27
28$URL$
29
30- fplod 20120229
31
32  * creation from superbib02_xml.xsl
33
34-->
35
36<xsl:output
37 method="text"
38 indent="yes"/>
39
40<xsl:include href="firstname_id.xsl"/>
41<xsl:include href="surname_id.xsl"/>
42<xsl:include href="table_authors.xsl"/>
43<xsl:include href="biblioentry_rest.xsl"/>
44
45<xsl:variable name="list_author_ids" select="///d:author[not( self::node() = following::d:author )]"/>
46
47<xsl:variable name="project">
48 <xsl:value-of select="document('main.xml')//d:keyword[@xml:id='project']"/>
49</xsl:variable>
50
51<xsl:template match="d:bibliography">
52
53<xsl:value-of select="$project"/> - Publications - Papers by authors
54====================================================================
55
56.. meta::
57   :keyword: <xsl:value-of select="$project"/>
58
59.. _top:
60
61This 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
62++lien <xsl:value-of select="'./main.php'"/>
63 <xsl:value-of select="document('main.xml')/d:article/d:title"/>
64
65 You can also see **<xsl:value-of select="$project"/> - Publications - Papers** sorted by
66++lien  <xsl:value-of select="'./superbib01.html'"/>
67
68<xsl:text>years</xsl:text>
69
70<xsl:call-template name="para_lastupdate_bib">
71 <xsl:with-param name="language" select="@xml:lang"/>
72 <xsl:with-param name="date" select="'ginette'"/>
73 <!-- ++
74 <xsl:with-param name="date" select="d:info/d:date"/>
75 -->
76 <xsl:with-param name="mode" select="'rest'"/>
77</xsl:call-template>
78
79.. _intro:
80
81Introduction
82=============
83
84This document provide bibliography sorted by author's id (**SURNAME_f**).
85
86<xsl:call-template name="table_authors">
87<xsl:with-param name="linktype" select="'internal'"/>
88</xsl:call-template>
89
90<!-- loop on author_ids -->
91<xsl:for-each select="$list_author_ids">
92<xsl:sort order="ascending" data-type="text" select="translate(.,'abcdefghijklmnopqrstuvwxyz éèçàùëöñó', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_EECAUEONO')"/>
93<xsl:variable name="author_id2">
94<xsl:call-template name="surname_id">
95 <xsl:with-param name="surname" select="d:personname/d:surname"/>
96</xsl:call-template>
97<xsl:text>_</xsl:text>
98<xsl:call-template name="firstname_id">
99 <xsl:with-param name="firstname" select="d:personname/d:firstname"/>
100</xsl:call-template>
101</xsl:variable>
102<xsl:call-template name="one_author_id">
103<xsl:with-param name="author_id" select="$author_id2"/>
104<xsl:with-param name="author_name" select="."/>
105</xsl:call-template>
106</xsl:for-each>
107
108</xsl:template>
109
110<xsl:template match="d:info/d:date"/>
111<xsl:template match="d:bibliography/d:title"/>
112
113<xsl:template name="one_author_id">
114<xsl:param name="author_id"/>
115<xsl:param name="author_name"/>
116
117.. _<xsl:value-of select="$author_id"/>:
118
119<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)"/>
120+++++++++++++++++++++++++++++++++++++++++++++++
121
122.. |top| image:: ../../images/globalicondl11x10_up.gif
123
124_top:: `ref:`top`
125
126   |top|
127
128   <xsl:for-each select="//d:biblioentry">
129    <xsl:sort order="descending" data-type="number" select="./d:biblioset/d:pubdate"/>
130    <xsl:for-each select="descendant::d:author">
131     <xsl:sort order="ascending" data-type="text" select="./d:personname/d:surname"/>
132     <xsl:sort order="ascending" data-type="text" select="./d:personname/d:firstname"/>
133     <xsl:variable name="author_id2">
134<xsl:call-template name="surname_id">
135 <xsl:with-param name="surname" select="d:personname/d:surname"/>
136</xsl:call-template>
137      <xsl:text>_</xsl:text>
138<xsl:call-template name="firstname_id">
139 <xsl:with-param name="firstname" select="d:personname/d:firstname"/>
140</xsl:call-template>
141     </xsl:variable>
142
143     <xsl:if test="$author_id2 = $author_id">
144  <xsl:call-template name="one_biblioentry_rest">
145   <xsl:with-param name="visu_modif" select="'visu'"/>
146   <xsl:with-param name="type" select="'raw'"/>
147   <xsl:with-param name="my_biblioentry" select="ancestor::d:biblioentry"/>
148  </xsl:call-template>
149     </xsl:if>
150    </xsl:for-each>
151   </xsl:for-each>
152</xsl:template>
153
154</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.