diff options
Diffstat (limited to 'xsl/anime.xsl')
-rw-r--r-- | xsl/anime.xsl | 131 |
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> |