772a557fae
git-svn-id: svn://svn.c3d2.de/c3d2-web/trunk@931 31f61c52-7bfb-0310-b897-fc00f8a278f0
150 lines
5.0 KiB
XML
150 lines
5.0 KiB
XML
<?xml version="1.0"?>
|
|
<xsl:stylesheet version="1.0"
|
|
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
|
xmlns:date="http://exslt.org/dates-and-times"
|
|
xmlns="http://www.w3.org/1999/XSL/Format">
|
|
|
|
<xsl:attribute-set name="table-headers">
|
|
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
|
<xsl:attribute name="font-size">14pt</xsl:attribute>
|
|
<xsl:attribute name="text-align">center</xsl:attribute>
|
|
</xsl:attribute-set>
|
|
|
|
<xsl:template match="/schedule-matrix">
|
|
<root>
|
|
|
|
<layout-master-set>
|
|
|
|
<simple-page-master master-name="FullPage"
|
|
page-width="210mm" page-height="297mm"
|
|
margin-top="15mm" margin-bottom="15mm"
|
|
margin-left="15mm" margin-right="15mm">
|
|
<region-body/>
|
|
</simple-page-master>
|
|
|
|
</layout-master-set>
|
|
|
|
<page-sequence master-reference="FullPage">
|
|
<flow flow-name="xsl-region-body" font-size="14pt">
|
|
|
|
<block text-align="right" font-size="8pt">
|
|
Release <xsl:value-of select="@version"/>,
|
|
<!--xsl:value-of select="concat(date:day-in-month(@ctime),'.',date:month-in-year(@ctime),'.',date:year(@ctime),' ',date:hour-in-day(@ctime),':',date:minute-in-hour(@ctime),':',date:second-in-minute(@ctime))"/-->
|
|
<xsl:value-of select="concat(date:day-in-month(@ctime),'.',date:month-in-year(@ctime),'.',date:year(@ctime),' ',date:time(@ctime))"/>
|
|
</block>
|
|
|
|
<xsl:apply-templates select="title"/>
|
|
<xsl:apply-templates select="subtitle"/>
|
|
|
|
<xsl:variable name="table-width" select="210-15-15-20"/>
|
|
<table table-layout="fixed" width="{$table-width}mm" border-collapse="collapse">
|
|
|
|
<table-column column-width="20mm"/>
|
|
<xsl:for-each select="rooms/room">
|
|
<table-column column-width="{$table-width div count(../room)}mm"/>
|
|
</xsl:for-each>
|
|
|
|
<table-header>
|
|
<table-row>
|
|
<table-cell>
|
|
<xsl:element name="block" use-attribute-sets="table-headers">
|
|
Zeit
|
|
</xsl:element>
|
|
</table-cell>
|
|
<xsl:apply-templates select="rooms"/>
|
|
</table-row>
|
|
</table-header>
|
|
|
|
<table-body>
|
|
<xsl:apply-templates select="table"/>
|
|
</table-body>
|
|
|
|
</table>
|
|
</flow>
|
|
</page-sequence>
|
|
|
|
</root>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="title">
|
|
<block font-size="30pt" text-align="center" font-weight="bold" margin-bottom="1mm">
|
|
<xsl:apply-templates/>
|
|
</block>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="subtitle">
|
|
<block font-size="20pt" text-align="center" font-weight="bold" margin-bottom="5mm">
|
|
<xsl:apply-templates/>
|
|
</block>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="rooms/room">
|
|
<table-cell>
|
|
<xsl:element name="block" use-attribute-sets="table-headers">
|
|
<xsl:apply-templates/>
|
|
</xsl:element>
|
|
</table-cell>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="table/timeslot">
|
|
<xsl:variable name="timeslot" select="position()"/>
|
|
<xsl:variable name="previous-timeslot" select="preceding-sibling::*"/>
|
|
<xsl:message>== <xsl:value-of select="$previous-timeslot/@time"/> ++ <xsl:value-of select="@time"/> ==</xsl:message>
|
|
<table-row>
|
|
<table-cell display-align="center">
|
|
<block text-align="center" font-size="12pt">
|
|
|
|
<xsl:variable name="posteventempty">
|
|
<xsl:for-each select="*">
|
|
<xsl:variable name="track" select="position()"/>
|
|
<!--xsl:if test="(name(.) = 'empty') and (name(../preceding-sibling::*[position() = $track]) = 'span')"-->
|
|
<xsl:message><xsl:value-of select="$track"/>: <xsl:value-of select="name(../preceding-sibling::timeslot/*[position() = $track])"/> + <xsl:value-of select="name(.)"/></xsl:message>
|
|
<xsl:if test="name(.) != name(../preceding-sibling::timeslot/*[position() = $track])">
|
|
y
|
|
</xsl:if>
|
|
</xsl:for-each>
|
|
</xsl:variable>
|
|
|
|
<xsl:if test="(count(span) != count(../../rooms/room)) or contains($posteventempty, 'y')">
|
|
<xsl:value-of select="@time"/>
|
|
</xsl:if>
|
|
|
|
</block>
|
|
</table-cell>
|
|
|
|
<xsl:apply-templates/>
|
|
</table-row>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="table/timeslot/empty">
|
|
<table-cell margin="0" background-color="#ccc">
|
|
<block>
|
|
</block>
|
|
</table-cell>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="table/timeslot/span"/>
|
|
|
|
<xsl:template match="table/timeslot/event">
|
|
<table-cell number-rows-spanned="{@slots}"
|
|
border-style="solid" border-width="0.4mm" border-color="#333"
|
|
padding="1mm">
|
|
<block font-weight="bold">
|
|
<xsl:value-of select="title"/>
|
|
</block>
|
|
<block font-style="italic" font-size="12pt">
|
|
<xsl:value-of select="subtitle"/>
|
|
</block>
|
|
<block display-align="after" font-size="12pt">
|
|
<xsl:for-each select="persons/person[string(.) != '<<</>> Network']">
|
|
<xsl:if test="position() > 1">
|
|
<xsl:text>, </xsl:text>
|
|
</xsl:if>
|
|
<xsl:value-of select="."/>
|
|
</xsl:for-each>
|
|
</block>
|
|
</table-cell>
|
|
</xsl:template>
|
|
|
|
</xsl:stylesheet>
|