47933c65844cea7bc78fc517ee7601d539f98aee
[librarian.git] / librarian / fb2 / fb2.xslt
1 <?xml version="1.0" encoding="utf-8"?>
2 <!--
3
4         This file is part of Librarian, licensed under GNU Affero GPLv3 or later.
5         Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
6
7 -->
8 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
9         xmlns:wl="http://wolnelektury.pl/functions"
10         xmlns:dc="http://purl.org/dc/elements/1.1/"
11         xmlns="http://www.gribuser.ru/xml/fictionbook/2.0"
12         xmlns:l="http://www.w3.org/1999/xlink">
13
14         <xsl:include href="footnotes.xslt"/>
15         <xsl:include href="inline.xslt"/>
16         <xsl:include href="paragraphs.xslt"/>
17         <xsl:include href="poems.xslt"/>
18         <xsl:include href="sections.xslt"/>
19
20         <xsl:strip-space elements="*"/>
21         <xsl:output encoding="utf-8" method="xml" indent="yes"/>
22
23         <xsl:template match="utwor">
24                 <FictionBook>
25                         <xsl:apply-templates mode="outer"/>
26
27                         <body name="footnotes">
28                                 <xsl:apply-templates mode="footnotes"/>
29                         </body>
30                 </FictionBook>
31         </xsl:template>
32
33         <xsl:template match="dc:*" mode="outer">
34         </xsl:template>
35
36         <xsl:template match="powiesc|opowiadanie" mode="outer">
37                 <body> <!-- main body for main book flow -->
38                         <xsl:if test="autor_utworu or nazwa_utworu">
39                                 <title>
40                                         <xsl:apply-templates mode="title"
41                                                 select="autor_utworu|nazwa_utworu"/>
42                                 </title>
43                         </xsl:if>
44
45                         <xsl:variable name="sections" select="count(naglowek_rozdzial)"/>
46                         <section>
47                                 <xsl:apply-templates mode="para"
48                                         select="*[count(following-sibling::naglowek_rozdzial)
49                                                 = $sections]"/>
50                         </section>
51
52                         <xsl:apply-templates mode="sections"/>
53                 </body>
54         </xsl:template>
55
56         <xsl:template mode="title" match="autor_utworu|nazwa_utworu">
57                 <!-- title -->
58
59                 <p><xsl:apply-templates mode="inline"/></p>
60         </xsl:template>
61 </xsl:stylesheet>