FB2: a few more elements.
authorMichał Górny <mgorny@gentoo.org>
Sun, 6 May 2012 09:36:21 +0000 (11:36 +0200)
committerMichał Górny <mgorny@gentoo.org>
Sun, 6 May 2012 09:36:41 +0000 (11:36 +0200)
librarian/fb2/fb2.xslt
librarian/fb2/inline.xslt
librarian/fb2/poems.xslt
librarian/fb2/sections.xslt

index 47933c6..3a7b522 100644 (file)
        <xsl:template match="dc:*" mode="outer">
        </xsl:template>
 
+       <!-- we can't handle lyrics nicely yet -->
        <xsl:template match="powiesc|opowiadanie" mode="outer">
                <body> <!-- main body for main book flow -->
                        <xsl:if test="autor_utworu or nazwa_utworu">
                                <title>
                                        <xsl:apply-templates mode="title"
-                                               select="autor_utworu|nazwa_utworu"/>
+                                               select="autor_utworu|dzielo_nadrzedne|nazwa_utworu"/>
                                </title>
                        </xsl:if>
 
                        <xsl:variable name="sections" select="count(naglowek_rozdzial)"/>
                        <section>
-                               <xsl:apply-templates mode="para"
-                                       select="*[count(following-sibling::naglowek_rozdzial)
-                                               = $sections]"/>
+                               <xsl:choose>
+                                       <xsl:when test="local-name() = 'liryka_l'">
+                                               <poem>
+                                                       <xsl:apply-templates mode="poem"/>
+                                               </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 mode="title" match="autor_utworu|nazwa_utworu">
+       <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>
index 4151845..221fbfd 100644 (file)
@@ -32,4 +32,7 @@
        <xsl:template match="text()" mode="inline">
                <xsl:value-of select="wl:substitute_entities(.)"/>
        </xsl:template>
+
+       <xsl:template match="uwaga" mode="inline"/>
+       <xsl:template match="extra" mode="inline"/>
 </xsl:stylesheet>
index a9ef901..77716e3 100644 (file)
@@ -58,4 +58,6 @@
                        </xsl:call-template>
                </xsl:if>
        </xsl:template>
+
+       <xsl:template match="text()" mode="poem"/>
 </xsl:stylesheet>
index 7f34bc3..b698652 100644 (file)
        xmlns:l="http://www.w3.org/1999/xlink">
 
        <!-- a nice epigraph section -->
-       <xsl:template match="nota_red" mode="sections">
+       <xsl:template match="dedykacja|nota|nota_red" mode="sections">
                <epigraph>
                        <xsl:apply-templates mode="para"/>
+                       <!-- XXX: <strofa/> can be here as well -->
                </epigraph>
        </xsl:template>