aboutsummaryrefslogtreecommitdiff
path: root/xsl/anime.xsl
diff options
context:
space:
mode:
Diffstat (limited to 'xsl/anime.xsl')
-rw-r--r--xsl/anime.xsl131
1 files changed, 131 insertions, 0 deletions
diff --git a/xsl/anime.xsl b/xsl/anime.xsl
new file mode 100644
index 0000000..0f1344f
--- /dev/null
+++ b/xsl/anime.xsl
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+<xsl:output method="xml"/>
+<xsl:include href="identity.xsl"/>
+<xsl:include href="i18n.xsl"/>
+
+<xsl:variable name="lang" select="/html/@xml_lang"/>
+
+<xsl:template match="/html/body/proiezioni">
+ <h2><xsl:choose><xsl:when test="$lang='it'">Questa settimana:</xsl:when><xsl:when test="$lang='en'">This week:</xsl:when></xsl:choose></h2>
+ <xsl:for-each select="/html/presenttime/following-sibling::proiezione[position()=1]">
+ <xsl:call-template name="present"/>
+ </xsl:for-each>
+ <h2><xsl:choose><xsl:when test="$lang='it'">Prossime proiezioni:</xsl:when><xsl:when test="$lang='en'">Future showings:</xsl:when></xsl:choose></h2>
+ <xsl:for-each select="/html/presenttime/preceding-sibling::proiezione">
+ <xsl:sort select="data" data-type="number" order="ascending"/>
+ <xsl:call-template name="future"/>
+ </xsl:for-each>
+ <h2><xsl:choose><xsl:when test="$lang='it'">Proiezioni passate:</xsl:when><xsl:when test="$lang='en'">Past showings:</xsl:when></xsl:choose></h2>
+ <xsl:for-each select="/html/presenttime/following-sibling::proiezione[position()>1]">
+ <xsl:sort select="data" data-type="number" order="descending"/>
+ <xsl:if test="not(preceding-sibling::proiezione[titolo/node() = current()/titolo/node()])">
+ <xsl:call-template name="past"/>
+ </xsl:if>
+ </xsl:for-each>
+</xsl:template>
+
+<xsl:template name="present">
+ <xsl:choose>
+ <xsl:when test="$lang='it'">
+ <p>
+ <xsl:call-template name="datestring-d">
+ <xsl:with-param name="lang" select="$lang"/>
+ <xsl:with-param name="date" select="data"/>
+ </xsl:call-template>: <xsl:copy-of select="titolo/node()"/></p>
+ <xsl:if test="manifesto">
+ <p><a href="{manifesto/@href}">manifesto</a></p>
+ </xsl:if>
+ <dl>
+ <xsl:if test="regia"><dt>Regia:</dt><dd><xsl:value-of select="regia"/></dd></xsl:if>
+ <xsl:if test="produzione"><dt>Produzione:</dt><dd><xsl:value-of select="produzione"/></dd></xsl:if>
+ <xsl:if test="durata"><dt>Durata:</dt><dd><xsl:value-of select="durata"/></dd></xsl:if>
+ <xsl:if test="lingua"><dt>Lingua:</dt><dd><xsl:value-of select="lingua"/></dd></xsl:if>
+ <xsl:if test="supporto"><dt>Supporto:</dt><dd><xsl:value-of select="supporto"/></dd></xsl:if>
+ <xsl:if test="note"><dt>Note:</dt><dd><xsl:copy-of select="note/node()"/></dd></xsl:if>
+ </dl>
+ </xsl:when>
+ <xsl:when test="$lang='en'">
+ <p>
+ <xsl:call-template name="datestring-d">
+ <xsl:with-param name="lang" select="$lang"/>
+ <xsl:with-param name="date" select="data"/>
+ </xsl:call-template>: <xsl:copy-of select="titolo/node()"/></p>
+ <xsl:if test="manifesto">
+ <p><a href="{manifesto/@href}">poster</a></p>
+ </xsl:if>
+ <dl>
+ <xsl:if test="regia"><dt>Director:</dt><dd><xsl:value-of select="regia"/></dd></xsl:if>
+ <xsl:if test="produzione"><dt>Production:</dt><dd><xsl:value-of select="produzione"/></dd></xsl:if>
+ <xsl:if test="durata"><dt>Runtime:</dt><dd><xsl:value-of select="durata"/></dd></xsl:if>
+ <xsl:if test="lingua"><dt>Language:</dt><dd><xsl:value-of select="lingua"/></dd></xsl:if>
+ <xsl:if test="supporto"><dt>Support:</dt><dd><xsl:value-of select="supporto"/></dd></xsl:if>
+ <xsl:if test="note"><dt>Notes:</dt><dd><xsl:copy-of select="note/node()"/></dd></xsl:if>
+ </dl>
+ </xsl:when>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template name="future">
+ <xsl:choose>
+ <xsl:when test="$lang='it'">
+ <p>
+ <xsl:call-template name="datestring-d">
+ <xsl:with-param name="lang" select="$lang"/>
+ <xsl:with-param name="date" select="data"/>
+ </xsl:call-template>: <xsl:copy-of select="titolo/node()"/></p>
+ <xsl:if test="manifesto">
+ <p><a href="{manifesto/@href}">manifesto</a></p>
+ </xsl:if>
+ <dl>
+ <xsl:if test="regia"><dt>Regia:</dt><dd><xsl:value-of select="regia"/></dd></xsl:if>
+ <xsl:if test="produzione"><dt>Produzione:</dt><dd><xsl:value-of select="produzione"/></dd></xsl:if>
+ <xsl:if test="durata"><dt>Durata:</dt><dd><xsl:value-of select="durata"/></dd></xsl:if>
+ <xsl:if test="lingua"><dt>Lingua:</dt><dd><xsl:value-of select="lingua"/></dd></xsl:if>
+ <xsl:if test="supporto"><dt>Supporto:</dt><dd><xsl:value-of select="supporto"/></dd></xsl:if>
+ <xsl:if test="note"><dt>Note:</dt><dd><xsl:copy-of select="note/node()"/></dd></xsl:if>
+ </dl>
+ </xsl:when>
+ <xsl:when test="$lang='en'">
+ <p>
+ <xsl:call-template name="datestring-d">
+ <xsl:with-param name="lang" select="$lang"/>
+ <xsl:with-param name="date" select="data"/>
+ </xsl:call-template>: <xsl:copy-of select="titolo/node()"/></p>
+ <xsl:if test="manifesto">
+ <p><a href="{manifesto/@href}">poster</a></p>
+ </xsl:if>
+ <dl>
+ <xsl:if test="regia"><dt>Director:</dt><dd><xsl:value-of select="regia"/></dd></xsl:if>
+ <xsl:if test="produzione"><dt>Production:</dt><dd><xsl:value-of select="produzione"/></dd></xsl:if>
+ <xsl:if test="durata"><dt>Runtime:</dt><dd><xsl:value-of select="durata"/></dd></xsl:if>
+ <xsl:if test="lingua"><dt>Language:</dt><dd><xsl:value-of select="lingua"/></dd></xsl:if>
+ <xsl:if test="supporto"><dt>Support:</dt><dd><xsl:value-of select="supporto"/></dd></xsl:if>
+ <xsl:if test="note"><dt>Notes:</dt><dd><xsl:copy-of select="note/node()"/></dd></xsl:if>
+ </dl>
+ </xsl:when>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template name="past">
+ <p><xsl:copy-of select="titolo/node()"/>
+ <xsl:choose>
+ <xsl:when test="manifesto">
+ (<a href="{manifesto/@href}">
+ <xsl:choose>
+ <xsl:when test="$lang='it'">manifesto</xsl:when>
+ <xsl:when test="$lang='en'">poster</xsl:when>
+ </xsl:choose>
+ </a>)
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:choose>
+ <xsl:when test="$lang='it'">(niente manifesto)</xsl:when>
+ <xsl:when test="$lang='en'">(no poster)</xsl:when>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ </p>
+</xsl:template>
+
+</xsl:stylesheet>