Better Unicode handling in errors.
[librarian.git] / librarian / fb2 / fb2.xslt
index e9ab6ce..2a07e35 100644 (file)
@@ -7,10 +7,10 @@
 -->
 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        xmlns:wl="http://wolnelektury.pl/functions"
-       xmlns:dc="http://purl.org/dc/elements/1.1/"
        xmlns="http://www.gribuser.ru/xml/fictionbook/2.0"
        xmlns:l="http://www.w3.org/1999/xlink">
 
+       <xsl:include href="description.xslt"/>
        <xsl:include href="footnotes.xslt"/>
        <xsl:include href="inline.xslt"/>
        <xsl:include href="paragraphs.xslt"/>
                </FictionBook>
        </xsl:template>
 
-       <xsl:template match="dc:*" mode="outer">
-       </xsl:template>
-
-       <xsl:template match="powiesc|opowiadanie" mode="outer">
+       <!-- we can't handle lyrics nicely yet -->
+       <xsl:template match="powiesc|opowiadanie|liryka_l|liryka_lp" mode="outer">
                <body> <!-- main body for main book flow -->
                        <xsl:if test="autor_utworu or nazwa_utworu">
                                <title>
-                                       <xsl:apply-templates mode="para"
-                                               select="autor_utworu|nazwa_utworu"/>
+                                       <xsl:apply-templates mode="title"
+                                               select="autor_utworu|dzielo_nadrzedne|nazwa_utworu"/>
                                </title>
                        </xsl:if>
 
+                       <epigraph>
+                               <p>
+                                       Utwór opracowany został w&#160;ramach projektu
+                                               <a l:href="http://www.wolnelektury.pl/">Wolne Lektury</a>
+                                       przez <a l:href="http://www.nowoczesnapolska.org.pl/">fundację
+                                               Nowoczesna Polska</a>.
+                               </p>
+                       </epigraph>
+
+                       <xsl:variable name="sections" select="count(naglowek_rozdzial)"/>
+                       <section>
+                               <xsl:choose>
+                                       <xsl:when test="local-name() = 'liryka_l'">
+                                               <poem>
+                                                       <xsl:apply-templates mode="para"/>
+                                               </poem>
+                                       </xsl:when>
+
+                                       <xsl:otherwise>
+                                               <xsl:apply-templates mode="para"
+                                                       select="*[count(following-sibling::naglowek_rozdzial)
+                                                       = $sections]"/>
+                                       </xsl:otherwise>
+                               </xsl:choose>
+                       </section>
+
                        <xsl:apply-templates mode="sections"/>
                </body>
        </xsl:template>
+
+       <xsl:template match="uwaga" mode="outer"/>
+       <xsl:template match="extra" mode="outer"/>
+
+       <xsl:template mode="title" match="*">
+               <!-- title -->
+
+               <p><xsl:apply-templates mode="inline"/></p>
+       </xsl:template>
+
+       <xsl:template match="uwaga" mode="title"/>
+       <xsl:template match="extra" mode="title"/>
 </xsl:stylesheet>