<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://jasperreports.sourceforge.net/jasperreports" > <xsl:import href="xsl_functions.xsl" /> <xsl:import href="rpta_templates.xsl" /> <xsl:param name="OUTFILE" select="'_sub_'" /> <xsl:param name="seitenbreite" select="842" /> <xsl:param name="seitenhoehe" select="595" /> <xsl:param name="seitenrand" select="12" /> <xsl:param name="bottomMargin" select="0" /> <xsl:param name="isIgnorePagination" select="'true'" /> <xsl:param name="orientation" select="'Landscape'" /> <xsl:param name="stylesFile" select="'simple_table.jrtx'" /> <xsl:param name="font" select="'Liberation Sans'" /><!--TODO Arial als style--> <!--Die Breite der Tabelle in pixel bei A4 Querformat:--> <!-- Wenn keine Spaltenbreite definiert ist, wird 12 (Einheit Applet-Breite) verwendet. --> <xsl:param name="std_spaltenbreite" select="'12'" /> <xsl:param name="std_zeilenhoehe_header" select="30" /> <xsl:param name="std_zeilenhoehe_tablerow" select="20" /> <!--<xsl:output method="xml" name="xml"/>--> <xsl:output method="xml" encoding="UTF-8" name="xml" indent="true" /> <!--<xml:output method="xml" name="text" /> <xsl:output indent="yes"/>--> <xsl:template match="/"> <xsl:variable name="druckbreite" select="$seitenbreite - (2 * $seitenrand)"></xsl:variable> <xsl:choose> <xsl:when test="/ergebnisse/@isMakro='true'"> <!-- first create main report--> <xsl:call-template name="generateJasperReportMainReport" > <xsl:with-param name="isMacroReport" select="'true'" /> <xsl:with-param name="ergebniselementOrdnr" select="0" /> <xsl:with-param name="druckbreite" select="$druckbreite" /> <xsl:with-param name="std_zeilenhoehe_tablerow" select="$std_zeilenhoehe_tablerow" /> <xsl:with-param name="stylesFile" select="$stylesFile" /> <xsl:with-param name="bottomMargin" select="$bottomMargin" /> </xsl:call-template> <!--output documents klappt noch nicht--> <!-- <xsl:for-each select="/ergebnisse/ergebnis/ergebniselement"> <xsl:variable name="filename" select="concat($OUTFILE,@ordnr,'.jrxml')"/> Generiere <xsl:value-of select="$filename"/><xsl:text> </xsl:text> <xsl:result-document href="{$filename}" format="text" method="text"> <xsl:call-template name="generateJasperReport" > <xsl:with-param name="isMacroReport" select="'false'" /> <xsl:with-param name="ergebniselementOrdnr" select="@ordnr" /> <xsl:with-param name="druckbreite" select="$druckbreite" /> </xsl:call-template> </xsl:result-document> </xsl:for-each> --> </xsl:when> <xsl:otherwise> <!--no macro, one single table--> <xsl:call-template name="generateJasperReport" > <xsl:with-param name="isMacroReport" select="'false'" /> <xsl:with-param name="ergebniselementOrdnr" select="0" /> <xsl:with-param name="druckbreite" select="$druckbreite" /> <xsl:with-param name="std_zeilenhoehe_tablerow" select="$std_zeilenhoehe_tablerow" /> <xsl:with-param name="stylesFile" select="$stylesFile" /> <xsl:with-param name="bottomMargin" select="$bottomMargin" /> </xsl:call-template> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template name="generateJasperReportMainReport"> <xsl:param name="isMainReport" select="'true'" /> <xsl:param name="ergebniselementOrdnr" select="0" /> <xsl:param name="druckbreite" select="812" /> <xsl:param name="seitenbreite" select="842" /> <xsl:param name="seitenhoehe" select="595" /> <xsl:param name="seitenrand" select="12" /> <xsl:param name="bottomMargin" select="12" /> <xsl:param name="isIgnorePagination" select="'true'" /> <xsl:param name="orientation" select="'Landscape'" /> <xsl:param name="stylesFile" select="'simple_table.jrtx'" /> <xsl:param name="font" select="'Liberation Sans'" /><!--TODO Arial als style--> <!--Die Breite der Tabelle in pixel bei A4 Querformat:--> <!-- Wenn keine Spaltenbreite definiert ist, wird 12 (Einheit Applet-Breite) verwendet. --> <xsl:param name="std_spaltenbreite" select="'12'" /> <xsl:param name="std_zeilenhoehe_header" select="30" /> <xsl:param name="std_zeilenhoehe_tablerow" select="20" /> <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="{/ergebnisse/ergebnis[@ordnr=$ergebniselementOrdnr]/maskenname}" language="groovy" pageWidth="{$seitenbreite}" pageHeight="{$seitenhoehe}" orientation="{$orientation}" columnWidth="{$druckbreite}" leftMargin="{$seitenrand}" rightMargin="{$seitenrand}" topMargin="{$seitenrand}" bottomMargin="{$bottomMargin}" isIgnorePagination="{$isIgnorePagination}" sectionType="Part"> <xsl:call-template name="jr_properties" /> <property name="net.sf.jasperreports.export.xls.exclude.origin.band.1" value="pageHeader"/> <property name="net.sf.jasperreports.export.xls.exclude.origin.band.2" value="pageFooter"/> <property name="net.sf.jasperreports.export.xlsx.exclude.origin.band.1" value="pageHeader"/> <property name="net.sf.jasperreports.export.xlsx.exclude.origin.band.2" value="pageFooter"/> <!-- zum Testen--> <property name="com.jaspersoft.studio.data.defaultdataadapter" value="TUHH_kennz_bericht_ba"/> <!--<property name="com.jaspersoft.studio.property.dataset.dialog.DatasetDialog.sash.w1" value="466"/> <property name="com.jaspersoft.studio.property.dataset.dialog.DatasetDialog.sash.w2" value="522"/>--> <template><xsl:value-of select="concat('"',$stylesFile,'"')" /></template> <xsl:call-template name="jr_styles" /> <xsl:call-template name="querystring"> <xsl:with-param name="ordnr" select="$ergebniselementOrdnr" /> <xsl:with-param name="rownr" select="1" /> </xsl:call-template> <xsl:call-template name="jr_fields_report_level" /> <xsl:call-template name="jr_fields" > <xsl:with-param name="ergebniselementOrdnr" select="$ergebniselementOrdnr"/> <xsl:with-param name="isMacroReport" select="/ergebnisse/@isMakro" /> </xsl:call-template> <!-- kein Deckblatt --> <detail> <xsl:for-each select="/ergebnisse/ergebnis/ergebniselement"> <xsl:variable name="filename" select="concat(/ergebnisse/makro/@id,$OUTFILE,@ordnr)"/> <part> <partNameExpression><xsl:text>"</xsl:text><xsl:value-of select="@ordnr+1"/><xsl:text> </xsl:text> <xsl:call-template name="createExcelSheetname"> <xsl:with-param name="mystring" select="../maskenname"/> </xsl:call-template> <xsl:text>"</xsl:text></partNameExpression> <p:subreportPart xmlns:p="http://jasperreports.sourceforge.net/jasperreports/parts" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/parts http://jasperreports.sourceforge.net/xsd/parts.xsd"> <subreportParameter name="REPORT_CONNECTION"> <subreportParameterExpression><![CDATA[$P{REPORT_CONNECTION}]]></subreportParameterExpression> </subreportParameter> <subreportParameter name="REPORT_LOCALE"> <subreportParameterExpression><![CDATA[$P{REPORT_LOCALE}]]></subreportParameterExpression> </subreportParameter> <subreportParameter name="XML_DATA_DOCUMENT"> <subreportParameterExpression><![CDATA[$P{XML_DATA_DOCUMENT}]]></subreportParameterExpression> </subreportParameter> <subreportParameter name="XML_LOCALE"> <subreportParameterExpression><![CDATA[Locale.ENGLISH]]></subreportParameterExpression> </subreportParameter> <subreportParameter name="XML_NUMBER_PATTERN"> <subreportParameterExpression><![CDATA["#0.######"]]></subreportParameterExpression> </subreportParameter> <subreportParameter name="ordnr"> <subreportParameterExpression><xsl:text>"</xsl:text><xsl:value-of select="@ordnr"/><xsl:text>"</xsl:text></subreportParameterExpression> </subreportParameter> <subreportExpression><xsl:text>"</xsl:text><xsl:value-of select="concat($filename,'.jasper')"/><xsl:text>"</xsl:text></subreportExpression> </p:subreportPart> </part> <!-- now create the subreports --> <xsl:result-document href="{concat($filename,'.jrxml')}" format="xml" method="xml"> <xsl:call-template name="generateJasperReport" > <xsl:with-param name="isMainReport" select="'false'" /> <xsl:with-param name="ergebniselementOrdnr" select="@ordnr" /> <xsl:with-param name="druckbreite" select="$druckbreite" /> <xsl:with-param name="std_zeilenhoehe_tablerow" select="$std_zeilenhoehe_tablerow" /> <xsl:with-param name="stylesFile" select="$stylesFile" /> <xsl:with-param name="bottomMargin" select="$bottomMargin" /> </xsl:call-template> </xsl:result-document> </xsl:for-each> </detail> </jasperReport> </xsl:template> <!--Beispiel überlagere das Standard Template: <xsl:template name="tableRowStyle"> <xsl:param name="flavorTableRowStyle" select="'listAlternatingBg'" /> <xsl:param name="ergebniselementOrdnr" select="0" /> <xsl:choose> <xsl:when test="$ergebniselementOrdnr=0"> <style name="TableRowDetail" mode="Opaque" forecolor="#000000" backcolor="#FFFFFF" hTextAlign="Right" vTextAlign="Middle" isBlankWhenNull="true" fontName="Liberation Sans" fontSize="8"> <box rightPadding="2"> <pen lineWidth="0.4" lineColor="#999999"/> </box> <paragraph leftIndent="2" rightIndent="1" spacingBefore="0" spacingAfter="0"/> <conditionalStyle> <conditionExpression><![CDATA[$F{tab_0Deckblatt Kennzahlenbericht Studiengänge}.contains("Ausw") || $F{tab_0Deckblatt Kennzahlenbericht Studiengänge}.contains("Parameter")]]></conditionExpression> <style isBold="true"/> </conditionalStyle> <conditionalStyle> <conditionExpression><![CDATA[Boolean.valueOf( $V{PAGE_COUNT} % 2 == 1 )]]></conditionExpression> <style mode="Opaque" forecolor="#000000" backcolor="#E3E8EB"/> </conditionalStyle> </style> </xsl:when> <xsl:otherwise> <xsl:if test="$flavorTableRowStyle='listAlternatingBg'"> <style name="TableRowDetail" mode="Opaque" forecolor="#000000" backcolor="#FFFFFF" hTextAlign="Right" vTextAlign="Middle" isBlankWhenNull="true" fontName="{$font}" fontSize="8"> <box rightPadding="2"> <pen lineWidth="0.4" lineColor="#00C1D4"/> </box> <paragraph leftIndent="2" rightIndent="1" spacingBefore="0" spacingAfter="0"/> <conditionalStyle> <conditionExpression><![CDATA[Boolean.valueOf( $V{PAGE_COUNT} % 2 == 1 )]]></conditionExpression> <style mode="Opaque" forecolor="#000000" backcolor="#E3E8EB"/> </conditionalStyle> </style> </xsl:if> </xsl:otherwise> </xsl:choose> </xsl:template> --> </xsl:stylesheet>