You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							1869 lines
						
					
					
						
							76 KiB
						
					
					
				
			
		
		
	
	
							1869 lines
						
					
					
						
							76 KiB
						
					
					
				<?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:param name="font" select="'Liberation Sans'" /><!--TODO {$font} als style--> | 
						|
<xsl:output method="xml" encoding="UTF-8"/> | 
						|
<xsl:variable name="quote"><xsl:text>'</xsl:text></xsl:variable> | 
						|
<xsl:variable name="doubleQuote"><xsl:text>"</xsl:text></xsl:variable> | 
						|
 | 
						|
<xsl:template name="generateJasperReport"> | 
						|
<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="topMargin" select="12" /> | 
						|
<xsl:param name="bottomMargin" select="12" /> | 
						|
<xsl:param name="isIgnorePagination" select="'false'" /> | 
						|
<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="25" /> | 
						|
<xsl:param name="RPTContentype" /> | 
						|
<xsl:param name="defaultdataadapter" />  | 
						|
<xsl:param name="groupBy" /> | 
						|
<xsl:param name="groupLayout" select="'rpta_groupLayout.xml'"/> | 
						|
<xsl:variable name="isMacroReport" select="/ergebnisse/@isMakro" /> | 
						|
<!-- bei Excel Erzeugung wird Paginierung ausgeschaltet:--> | 
						|
<xsl:variable name="runTimePagination"> | 
						|
<xsl:choose> | 
						|
<xsl:when test="$RPTContentype='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'"> | 
						|
<xsl:text>true</xsl:text> | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
<xsl:value-of select="$isIgnorePagination" /> | 
						|
</xsl:otherwise> | 
						|
</xsl:choose> | 
						|
</xsl:variable> | 
						|
 | 
						|
<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="{$topMargin}"  | 
						|
bottomMargin="{$bottomMargin}" | 
						|
isIgnorePagination="{$runTimePagination}" > | 
						|
<xsl:call-template name="jr_properties" /> | 
						|
	 | 
						|
	 | 
						|
	<xsl:if test="$defaultdataadapter!=''"> | 
						|
	<property name="com.jaspersoft.studio.data.defaultdataadapter" value="{$defaultdataadapter}"/> | 
						|
	</xsl:if> | 
						|
	<!--<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:with-param name="ergebniselementOrdnr" select="$ergebniselementOrdnr" /> | 
						|
</xsl:call-template>	 | 
						|
	 | 
						|
<xsl:call-template name="querystring"> | 
						|
<xsl:with-param name="ordnr" select="$ergebniselementOrdnr" /> | 
						|
</xsl:call-template> | 
						|
<xsl:if test="$isMainReport='true'">	 | 
						|
<xsl:call-template name="jr_fields_report_level" /> | 
						|
</xsl:if> | 
						|
<xsl:call-template name="jr_fields" > | 
						|
<xsl:with-param name="ergebniselementOrdnr" select="$ergebniselementOrdnr"/> | 
						|
<xsl:with-param name="isMacroReport" select="$isMacroReport" /> | 
						|
<xsl:with-param name="isMainReport" select="$isMainReport" /> | 
						|
 | 
						|
</xsl:call-template> | 
						|
 | 
						|
 | 
						|
<variable name="tabellennr" class="java.lang.Integer"> | 
						|
		<variableExpression><xsl:value-of select="$ergebniselementOrdnr"/></variableExpression> | 
						|
</variable> | 
						|
<xsl:variable name="groupLayoutElem"> | 
						|
<xsl:copy-of select="document($groupLayout)/groupLayout"/> | 
						|
</xsl:variable> | 
						|
 | 
						|
<xsl:choose> | 
						|
<xsl:when test="count($groupLayoutElem/groupLayout/group)=0">  | 
						|
 | 
						|
<xsl:call-template name="generateTopGroupBand"> | 
						|
<xsl:with-param name="ergebniselementOrdnr" select="$ergebniselementOrdnr" /> | 
						|
<xsl:with-param name="std_zeilenhoehe_header" select="$std_zeilenhoehe_header" /> | 
						|
<xsl:with-param name="druckbreite" select="$druckbreite" /> | 
						|
<xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite" /> | 
						|
</xsl:call-template> | 
						|
 | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
<!--gruppierter Bericht:--> | 
						|
<!--TODO:derzeit geht nur eine Ebene--> | 
						|
<xsl:call-template name="jr_group_variables" > | 
						|
<xsl:with-param name="ergebniselementOrdnr" select="$ergebniselementOrdnr"/> | 
						|
<xsl:with-param name="isMacroReport" select="$isMacroReport" /> | 
						|
<xsl:with-param name="isMainReport" select="$isMainReport" /> | 
						|
<xsl:with-param name="groupbyField" select="'tabellennr'" /> | 
						|
<xsl:with-param name="groupLayoutElem"  select="$groupLayoutElem"/> | 
						|
 | 
						|
</xsl:call-template> | 
						|
 | 
						|
<xsl:if test="$groupBy !=''" >  | 
						|
<xsl:call-template name="jr_group_variables" > | 
						|
<xsl:with-param name="ergebniselementOrdnr" select="$ergebniselementOrdnr"/> | 
						|
<xsl:with-param name="isMacroReport" select="$isMacroReport" /> | 
						|
<xsl:with-param name="isMainReport" select="$isMainReport" /> | 
						|
<xsl:with-param name="groupbyField" select="$groupBy" /> | 
						|
<xsl:with-param name="groupLayoutElem"  select="$groupLayoutElem"/> | 
						|
 | 
						|
</xsl:call-template> | 
						|
</xsl:if> | 
						|
<xsl:call-template name="generateTopGroupBand"> | 
						|
<xsl:with-param name="ergebniselementOrdnr" select="$ergebniselementOrdnr" /> | 
						|
<xsl:with-param name="std_zeilenhoehe_header" select="$std_zeilenhoehe_header" /> | 
						|
<xsl:with-param name="druckbreite" select="$druckbreite" /> | 
						|
<xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite" /> | 
						|
<xsl:with-param name="groupLayoutElem"  select="$groupLayoutElem"/> | 
						|
 | 
						|
</xsl:call-template> | 
						|
 | 
						|
 | 
						|
<xsl:call-template name="generateGroupBand"> | 
						|
<xsl:with-param name="ergebniselementOrdnr" select="$ergebniselementOrdnr" /> | 
						|
<xsl:with-param name="std_zeilenhoehe_header" select="$std_zeilenhoehe_header" /> | 
						|
<xsl:with-param name="druckbreite" select="$druckbreite" /> | 
						|
<xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite" /> | 
						|
<xsl:with-param name="groupbyField" select="$groupBy" /> | 
						|
<xsl:with-param name="groupLayoutElem" select="$groupLayoutElem" /> | 
						|
</xsl:call-template> | 
						|
 | 
						|
</xsl:otherwise> | 
						|
</xsl:choose> | 
						|
 | 
						|
<xsl:if test="$isMainReport='true'"> | 
						|
<xsl:call-template name="generateTitleBand" > | 
						|
<xsl:with-param name="druckbreite" select="$druckbreite" /> | 
						|
<xsl:with-param name="seitenrand" select="$seitenrand" /> | 
						|
</xsl:call-template> | 
						|
</xsl:if> | 
						|
 | 
						|
	<detail> | 
						|
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement[@ordnr=$ergebniselementOrdnr]"> | 
						|
 | 
						|
<xsl:variable name="flavorTableRowStyle"> | 
						|
<xsl:choose> | 
						|
<xsl:when test="sqlerg/@istreetable='true'"> | 
						|
<xsl:text>treeTable</xsl:text> | 
						|
</xsl:when> | 
						|
<xsl:when test="$groupLayoutElem/groupLayout/@flavorTableRowStyleDetail!=''"> | 
						|
<xsl:value-of select="$groupLayoutElem/groupLayout/@flavorTableRowStyleDetail"/> | 
						|
</xsl:when> | 
						|
<xsl:when test="count($groupLayoutElem/groupLayout/group)!=0"> | 
						|
<xsl:text>simple</xsl:text> | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
<xsl:text>listAlternatingBg</xsl:text> | 
						|
</xsl:otherwise> | 
						|
</xsl:choose> | 
						|
</xsl:variable> | 
						|
 | 
						|
<band height="{$std_zeilenhoehe_tablerow}" splitType="Stretch"><!--alle Felder außer unsichtbar / Breite =0:--> | 
						|
<xsl:variable name="colCount"><xsl:value-of select="count(sqlerg/headers/header[not(starts-with(f_name,'hidden')) and not(starts-with(f_name,'next')) ])"/></xsl:variable> | 
						|
<xsl:for-each select="sqlerg/headers/header[not(starts-with(f_name,'hidden'))  | 
						|
and not(starts-with(f_name,'next')) ]"> | 
						|
<xsl:variable name="columnX"> | 
						|
<xsl:call-template name="getColumnX"> | 
						|
<xsl:with-param name="druckbreite" select="$druckbreite"/> | 
						|
<xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite"/> | 
						|
<xsl:with-param name="ergebniselementOrdnr" select="$ergebniselementOrdnr"/> | 
						|
<xsl:with-param name="colId" select="@id" /> | 
						|
<xsl:with-param name="colCount" select="$colCount"/> | 
						|
</xsl:call-template> | 
						|
</xsl:variable> | 
						|
<xsl:variable name="columnWidth"> | 
						|
<xsl:call-template name="getColumnwidth"> | 
						|
<xsl:with-param name="druckbreite" select="$druckbreite"/> | 
						|
<xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite"/> | 
						|
<xsl:with-param name="ergebniselementOrdnr" select="$ergebniselementOrdnr"/> | 
						|
<xsl:with-param name="colId" select="@id" /> | 
						|
<xsl:with-param name="colCount" select="$colCount"/> | 
						|
<xsl:with-param name="previousX" select="$columnX"/> | 
						|
</xsl:call-template> | 
						|
</xsl:variable> | 
						|
<xsl:choose> | 
						|
<xsl:when test="$flavorTableRowStyle='listAlternatingBg'"> | 
						|
<xsl:call-template name="jr_textField"> | 
						|
<xsl:with-param name="ergebnisElementOrdnr" select="$ergebniselementOrdnr" /> | 
						|
<xsl:with-param name="fieldName" select="wert" /> | 
						|
<xsl:with-param name="colName" select="f_name" /> | 
						|
<xsl:with-param name="colId" select="@id" /> | 
						|
<xsl:with-param name="x" select="$columnX" /> | 
						|
<xsl:with-param name="width" select="$columnWidth" /> | 
						|
<xsl:with-param name="height" select="$std_zeilenhoehe_tablerow" /> | 
						|
 | 
						|
<xsl:with-param name="flavorTableRowStyle" select="'listAlternatingBg'" /> | 
						|
<xsl:with-param name="tableRowLevel" select="10" /> | 
						|
</xsl:call-template> | 
						|
</xsl:when> | 
						|
<xsl:when test="$flavorTableRowStyle='treeTable'"> | 
						|
<!--10 Ebenen in einer Schleife --> | 
						|
<xsl:call-template name="jr_textfield_levelx"> | 
						|
<xsl:with-param name="ergebnisElementOrdnr" select="$ergebniselementOrdnr" /> | 
						|
<xsl:with-param name="fieldName" select="wert" /> | 
						|
<xsl:with-param name="colName" select="f_name" /> | 
						|
<xsl:with-param name="colId" select="@id" /> | 
						|
<xsl:with-param name="x" select="$columnX" /> | 
						|
<xsl:with-param name="width" select="$columnWidth" /> | 
						|
<xsl:with-param name="std_zeilenhoehe_tablerow" select="$std_zeilenhoehe_tablerow" /> | 
						|
<xsl:with-param name="flavorTableRowStyle" select="'treeTable'" /> | 
						|
<xsl:with-param name="tableRowLevel" select="1" /> | 
						|
<xsl:with-param name="maxLevel" select="10"/> | 
						|
 | 
						|
</xsl:call-template> | 
						|
</xsl:when> | 
						|
<xsl:when test="$flavorTableRowStyle='simple'"> | 
						|
<!--Keine Detaileinfärbung, weil in einer Gruppe --> | 
						|
<xsl:call-template name="jr_textField"> | 
						|
<xsl:with-param name="ergebnisElementOrdnr" select="$ergebniselementOrdnr" /> | 
						|
<xsl:with-param name="fieldName" select="wert" /> | 
						|
<xsl:with-param name="colName" select="f_name" /> | 
						|
<xsl:with-param name="colId" select="@id" /> | 
						|
<xsl:with-param name="x" select="$columnX" /> | 
						|
<xsl:with-param name="width" select="$columnWidth" /> | 
						|
<xsl:with-param name="height" select="$std_zeilenhoehe_tablerow" /> | 
						|
<xsl:with-param name="flavorTableRowStyle" select="'simple'" /> | 
						|
<xsl:with-param name="tableRowLevel" select="''" /> | 
						|
</xsl:call-template> | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
<!-- flavorTableRowStyle einfach weitergeben: --> | 
						|
<xsl:call-template name="jr_textField"> | 
						|
<xsl:with-param name="ergebnisElementOrdnr" select="$ergebniselementOrdnr" /> | 
						|
<xsl:with-param name="fieldName" select="wert" /> | 
						|
<xsl:with-param name="colName" select="f_name" /> | 
						|
<xsl:with-param name="colId" select="@id" /> | 
						|
<xsl:with-param name="x" select="$columnX" /> | 
						|
<xsl:with-param name="width" select="$columnWidth" /> | 
						|
<xsl:with-param name="height" select="$std_zeilenhoehe_tablerow" /> | 
						|
<xsl:with-param name="flavorTableRowStyle" select="$flavorTableRowStyle" /> | 
						|
<xsl:with-param name="tableRowLevel" select="''" /> | 
						|
</xsl:call-template> | 
						|
</xsl:otherwise> | 
						|
</xsl:choose> | 
						|
 | 
						|
 | 
						|
 | 
						|
</xsl:for-each> | 
						|
		 | 
						|
		</band> | 
						|
</xsl:for-each> | 
						|
	</detail> | 
						|
 | 
						|
<xsl:call-template name="pageFooter"> | 
						|
<xsl:with-param name="seitenbreite" select="$seitenbreite" /> | 
						|
</xsl:call-template> | 
						|
 | 
						|
 | 
						|
</jasperReport> | 
						|
</xsl:template> | 
						|
<xsl:template name="jr_properties"><xsl:text> | 
						|
	</xsl:text> | 
						|
<xsl:comment>Import von jr_properties</xsl:comment> | 
						|
	<property xmlns="http://jasperreports.sourceforge.net/jasperreports" name="net.sf.jasperreports.export.xls.create.custom.palette" value="true"/> | 
						|
	<property xmlns="http://jasperreports.sourceforge.net/jasperreports" name="net.sf.jasperreports.export.xls.detect.cell.type" value="true"/> | 
						|
	<property xmlns="http://jasperreports.sourceforge.net/jasperreports" name="net.sf.jasperreports.export.xls.remove.empty.space.between.columns" value="true"/> | 
						|
	<property xmlns="http://jasperreports.sourceforge.net/jasperreports" name="net.sf.jasperreports.export.xls.remove.empty.space.between.rows" value="true"/> | 
						|
	<property name="com.jaspersoft.studio.unit." value="pixel"/> | 
						|
	<property name="com.jaspersoft.studio.unit.pageHeight" value="pixel"/> | 
						|
	<property name="com.jaspersoft.studio.unit.pageWidth" value="pixel"/> | 
						|
	<property name="com.jaspersoft.studio.unit.topMargin" value="pixel"/> | 
						|
	<property name="com.jaspersoft.studio.unit.bottomMargin" value="pixel"/> | 
						|
	<property name="com.jaspersoft.studio.unit.leftMargin" value="pixel"/> | 
						|
	<property name="com.jaspersoft.studio.unit.rightMargin" value="pixel"/> | 
						|
	<property name="com.jaspersoft.studio.unit.columnWidth" value="pixel"/> | 
						|
	<property name="com.jaspersoft.studio.unit.columnSpacing" value="pixel"/> | 
						|
	<property name="net.sf.jasperreports.print.create.bookmarks" value="true"/> | 
						|
	<!-- bei Excel Seitenkopf und Fuss unterdrücken: --> | 
						|
	<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"/> | 
						|
	<property name="net.sf.jasperreports.export.xlsx.remove.empty.space.between.columns" value="true"/> | 
						|
	<property name="net.sf.jasperreports.export.xlsx.remove.empty.space.between.rows" value="true"/> | 
						|
 | 
						|
 | 
						|
</xsl:template> | 
						|
<xsl:template name="jr_styles"> | 
						|
<xsl:param name="ergebniselementOrdnr" select="0" />  | 
						|
	 | 
						|
<xsl:variable name="flavorTableRowStyle"> | 
						|
<xsl:choose> | 
						|
<xsl:when test="/ergebnisse/ergebnis/ergebniselement[@ordnr=$ergebniselementOrdnr]/sqlerg/@istreetable='true'"> | 
						|
<xsl:text>treeTable</xsl:text> | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
<xsl:text>listAlternatingBg</xsl:text> | 
						|
</xsl:otherwise> | 
						|
</xsl:choose> | 
						|
</xsl:variable> | 
						|
<xsl:call-template name="tableRowStyle"> | 
						|
<xsl:with-param name="flavorTableRowStyle" select="$flavorTableRowStyle" /> | 
						|
<xsl:with-param name="ergebniselementOrdnr" select="$ergebniselementOrdnr" /> | 
						|
</xsl:call-template> | 
						|
<xsl:call-template name="additionalStyles" /> | 
						|
 | 
						|
</xsl:template> | 
						|
<xsl:template name="tableRowStyle"> | 
						|
<xsl:param name="flavorTableRowStyle" select="'listAlternatingBg'" />  | 
						|
<xsl:param name="ergebniselementOrdnr" select="0" />  | 
						|
<!--<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 lineColor="#FFFFFF"/> | 
						|
		</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:template> | 
						|
<xsl:template name="jr_fields_report_level"> | 
						|
<!-- nun die Felder: zuerst der Berichtsname--> | 
						|
 | 
						|
<field name="REPORT_HEADING_INSTITUTION" class="java.lang.String"> | 
						|
	<fieldDescription><xsl:text><![CDATA[/ergebnisse/generalinfo/REPORT_HEADING_INSTITUTION]]></xsl:text></fieldDescription> | 
						|
</field> | 
						|
<field name="REPORT_HEADING_URL" class="java.lang.String"> | 
						|
	<fieldDescription><xsl:text><![CDATA[/ergebnisse/generalinfo/REPORT_HEADING_URL]]></xsl:text></fieldDescription> | 
						|
</field> | 
						|
<field name="REPORT_LOGO_FILE" class="java.lang.String"> | 
						|
	<fieldDescription><xsl:text><![CDATA[/ergebnisse/generalinfo/REPORT_LOGO_FILE]]></xsl:text></fieldDescription> | 
						|
</field> | 
						|
<field name="REPORT_HEADING_ADRESS" class="java.lang.String"> | 
						|
	<fieldDescription><xsl:text><![CDATA[/ergebnisse/generalinfo/REPORT_HEADING_ADRESS]]></xsl:text></fieldDescription> | 
						|
</field> | 
						|
<field name="REPORT_EMAIL" class="java.lang.String"> | 
						|
	<fieldDescription><xsl:text><![CDATA[/ergebnisse/generalinfo/REPORT_EMAIL]]></xsl:text></fieldDescription> | 
						|
</field> | 
						|
<field name="REPORT_DOCUMENTATION_URL" class="java.lang.String"> | 
						|
	<fieldDescription><xsl:text><![CDATA[/ergebnisse/generalinfo/REPORT_DOCUMENTATION_URL]]></xsl:text></fieldDescription> | 
						|
</field> | 
						|
</xsl:template> | 
						|
<xsl:template name="jr_group_variables"> | 
						|
<xsl:param name="ergebniselementOrdnr" select="0"/> | 
						|
<xsl:param name="isMainReport"   /> | 
						|
<xsl:param name="isMacroReport"   /> | 
						|
<xsl:param name="groupbyField"   /> | 
						|
<xsl:param name="groupLayoutElem" /> | 
						|
<xsl:comment>Fülle <xsl:value-of select="$groupbyField"/> für <xsl:value-of select="$ergebniselementOrdnr"/> | 
						|
<xsl:value-of select="count($groupLayoutElem/groupLayout/group/*/field)" /> | 
						|
</xsl:comment> | 
						|
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement[@ordnr=$ergebniselementOrdnr]"> | 
						|
<xsl:variable name="ordnr"><xsl:value-of select="@ordnr"/></xsl:variable> | 
						|
 | 
						|
<xsl:for-each select="sqlerg/complete_headers/header"> | 
						|
<xsl:variable name="fieldName" select="wert" /> | 
						|
<xsl:variable name="colName" select="f_name" /> | 
						|
 | 
						|
 | 
						|
<xsl:variable name="jasperFieldname"> | 
						|
<xsl:call-template name="createJasperFieldname"> | 
						|
<xsl:with-param name="fieldName_orig" select="$fieldName"/> | 
						|
</xsl:call-template> | 
						|
</xsl:variable> | 
						|
<xsl:variable name="fldPrefix"> | 
						|
<xsl:if test="$groupbyField!=''"> | 
						|
<xsl:value-of select="$groupbyField" /><!--<xsl:text>tab_</xsl:text>--> | 
						|
</xsl:if> | 
						|
</xsl:variable> | 
						|
<xsl:variable name="fieldType"> | 
						|
<xsl:call-template name="getJavaType"> | 
						|
<xsl:with-param name="ordnr"><xsl:value-of select="$ordnr"/></xsl:with-param> | 
						|
<xsl:with-param name="col_id"><xsl:value-of select="@id"/></xsl:with-param></xsl:call-template> | 
						|
</xsl:variable> | 
						|
<xsl:variable name="isNumericField"> | 
						|
<xsl:choose> | 
						|
<xsl:when test="$fieldType='java.lang.Double' or $fieldType='java.lang.Integer'"> | 
						|
<xsl:text>true</xsl:text> | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
<xsl:text>false</xsl:text> | 
						|
</xsl:otherwise> | 
						|
</xsl:choose> | 
						|
</xsl:variable> | 
						|
 | 
						|
 | 
						|
<xsl:if test="normalize-space($jasperFieldname)!='' and $isNumericField='true' | 
						|
and count($groupLayoutElem/groupLayout/group/*/field [@name=$colName]) != 0"> <!-- keine leeren Feldnamen--> | 
						|
<variable name="{concat($fldPrefix,$jasperFieldname)}" | 
						|
class="{$fieldType}" | 
						|
resetType="Group" | 
						|
resetGroup="{$groupbyField}" | 
						|
calculation="{$groupLayoutElem/groupLayout/group/*/field [@name=$colName]/@aggrFunction }" > | 
						|
 | 
						|
<variableExpression><xsl:value-of select="concat('$F{',$jasperFieldname,'}')" /></variableExpression> | 
						|
</variable> | 
						|
</xsl:if> | 
						|
</xsl:for-each> | 
						|
</xsl:for-each> | 
						|
</xsl:template> | 
						|
<xsl:template name="jr_fields"> | 
						|
<xsl:param name="ergebniselementOrdnr" select="0"/> | 
						|
<xsl:param name="isMainReport"   /> | 
						|
<xsl:param name="isMacroReport"   /> | 
						|
<field name="Berichtsname" class="java.lang.String"> | 
						|
	<fieldDescription> | 
						|
		<xsl:choose> | 
						|
		<xsl:when test="$isMacroReport = 'true' and $isMainReport= 'true'"> | 
						|
		<xsl:text><![CDATA[/ergebnisse/makro/name]]></xsl:text></xsl:when> | 
						|
		<xsl:otherwise><xsl:text><![CDATA[/ergebnisse/ergebnis[ @ordnr=']]></xsl:text> | 
						|
		<xsl:value-of select="$ergebniselementOrdnr"/> | 
						|
		<xsl:text><![CDATA[']/maskenname]]></xsl:text> | 
						|
		</xsl:otherwise> | 
						|
		</xsl:choose> | 
						|
	</fieldDescription> | 
						|
</field> | 
						|
<!-- dann der Erläuterungstext--> | 
						|
<field name="Erlaeuterung" class="java.lang.String"> | 
						|
	<fieldDescription><xsl:text><![CDATA[/ergebnisse/ergebnis[ @ordnr=']]></xsl:text> | 
						|
		<xsl:value-of select="$ergebniselementOrdnr"/> | 
						|
		<xsl:text><![CDATA[']/explanation]]></xsl:text></fieldDescription> | 
						|
</field> | 
						|
<field name="Hinweis" class="java.lang.String"> | 
						|
	<fieldDescription><xsl:text><![CDATA[/ergebnisse/ergebnis[ @ordnr=']]></xsl:text> | 
						|
		<xsl:value-of select="$ergebniselementOrdnr"/> | 
						|
		<xsl:text><![CDATA[']/hinweis]]></xsl:text></fieldDescription> | 
						|
</field> | 
						|
<xsl:comment> dann die Tabellenspalten </xsl:comment> | 
						|
 | 
						|
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement[@ordnr=$ergebniselementOrdnr]"> | 
						|
<xsl:variable name="ordnr"><xsl:value-of select="@ordnr"/></xsl:variable> | 
						|
<xsl:for-each select="sqlerg/complete_headers/header"> | 
						|
<xsl:variable name="jasperFieldname"> | 
						|
<xsl:call-template name="createJasperFieldname"> | 
						|
<xsl:with-param name="fieldName_orig" select="wert"/> | 
						|
</xsl:call-template> | 
						|
</xsl:variable> | 
						|
<xsl:variable name="fldPrefix"> | 
						|
<xsl:if test="$isMacroReport='true'"> | 
						|
<xsl:text>tab_</xsl:text><xsl:value-of select="$ordnr" /> | 
						|
</xsl:if> | 
						|
</xsl:variable> | 
						|
<xsl:if test="normalize-space($jasperFieldname)!=''"> <!-- keine leeren Feldnamen--> | 
						|
<field name="{concat($fldPrefix,$jasperFieldname)}"> | 
						|
<xsl:attribute name="class"><xsl:call-template name="getJavaType"> | 
						|
<xsl:with-param name="ordnr"><xsl:value-of select="$ordnr"/></xsl:with-param> | 
						|
<xsl:with-param name="col_id"><xsl:value-of select="@id"/></xsl:with-param></xsl:call-template></xsl:attribute> | 
						|
 | 
						|
		<fieldDescription><xsl:text><![CDATA[col[@id="]]></xsl:text> | 
						|
		<xsl:value-of select="@id"/><xsl:text><![CDATA[" and wert!=""]]></xsl:text> | 
						|
		<xsl:if test="$isMacroReport='true'"> | 
						|
		<xsl:text><![CDATA[ and ../../../@ordnr=']]></xsl:text><xsl:value-of select="$ordnr" /><xsl:text>'</xsl:text> | 
						|
		</xsl:if> | 
						|
		<xsl:text><![CDATA[]/wert]]></xsl:text> | 
						|
		</fieldDescription> | 
						|
	</field> | 
						|
</xsl:if> | 
						|
</xsl:for-each> | 
						|
 | 
						|
	<!-- dann die Legende pro Unterbericht--> | 
						|
<xsl:if test="$isMainReport='false'">  | 
						|
<xsl:for-each select="distinct-values(../completefields/feld/@varname)"> | 
						|
<xsl:variable name="jasperFieldname"> | 
						|
<xsl:call-template name="createJasperFieldname"> | 
						|
<xsl:with-param name="fieldName_orig" select="."/> | 
						|
</xsl:call-template> | 
						|
</xsl:variable> | 
						|
<xsl:variable name="varname"> | 
						|
<xsl:value-of select="." /> | 
						|
</xsl:variable> | 
						|
<!-- zuerst Label --> | 
						|
<field name="{concat('legende_',$jasperFieldname,'_label')}" class="java.lang.String"> | 
						|
	<fieldDescription><xsl:text><![CDATA[/ergebnisse/ergebnis[@ordnr=]]></xsl:text><xsl:value-of select="$ordnr"/><xsl:text><![CDATA[]/completefields/feld [@varname="]]></xsl:text><xsl:value-of select="$varname"/><xsl:text><![CDATA["]/@varname]]></xsl:text></fieldDescription> | 
						|
</field> | 
						|
<!--dann Wert--> | 
						|
<field name="{concat('legende_',$jasperFieldname,'_value')}" class="java.lang.String"> | 
						|
	<fieldDescription><xsl:text><![CDATA[/ergebnisse/ergebnis[@ordnr=]]></xsl:text><xsl:value-of select="$ordnr"/><xsl:text><![CDATA[]/felder/feld [@varname="]]></xsl:text><xsl:value-of select="$varname"/><xsl:text><![CDATA["]/value_caption]]></xsl:text></fieldDescription> | 
						|
</field> | 
						|
</xsl:for-each> | 
						|
</xsl:if> | 
						|
 | 
						|
</xsl:for-each><!-- Ende Ergebniselemente --> | 
						|
	<!-- dann die Legende Hauptbericht--> | 
						|
<xsl:if test="$isMainReport='true'">  | 
						|
<xsl:for-each select="distinct-values(/ergebnisse/ergebnis/completefields/feld/@varname)"> | 
						|
<xsl:variable name="jasperFieldname"> | 
						|
<xsl:call-template name="createJasperFieldname"> | 
						|
<xsl:with-param name="fieldName_orig" select="."/> | 
						|
</xsl:call-template> | 
						|
</xsl:variable> | 
						|
<xsl:variable name="varname"> | 
						|
<xsl:value-of select="." /> | 
						|
</xsl:variable> | 
						|
<!-- zuerst Label --> | 
						|
<field name="{concat('legende_',$jasperFieldname,'_label')}" class="java.lang.String"> | 
						|
	<fieldDescription><xsl:text><![CDATA[/ergebnisse/ergebnis/completefields/feld [@varname="]]></xsl:text><xsl:value-of select="$varname"/><xsl:text><![CDATA["]/@varname]]></xsl:text></fieldDescription> | 
						|
</field> | 
						|
<!--dann Wert--> | 
						|
<field name="{concat('legende_',$jasperFieldname,'_value')}" class="java.lang.String"> | 
						|
	<fieldDescription><xsl:text><![CDATA[/ergebnisse/ergebnis/felder/feld [@varname="]]></xsl:text><xsl:value-of select="$varname"/><xsl:text><![CDATA["]/value_caption]]></xsl:text></fieldDescription> | 
						|
</field> | 
						|
</xsl:for-each> | 
						|
</xsl:if> | 
						|
<!--Standatum und User:--> | 
						|
<field name="standdatum" class="java.lang.String"> | 
						|
	<fieldDescription><xsl:text><![CDATA[/ergebnisse/ergebnis[ @ordnr='0']/stand]]></xsl:text></fieldDescription> | 
						|
</field> | 
						|
<field name="user" class="java.lang.String"> | 
						|
	<fieldDescription><xsl:text><![CDATA[/ergebnisse/user]]></xsl:text></fieldDescription> | 
						|
</field> | 
						|
	</xsl:template> | 
						|
 | 
						|
<xsl:template name="getJavaType"> | 
						|
<xsl:param name="ordnr" /> | 
						|
<xsl:param name="col_id" /> | 
						|
<xsl:choose> | 
						|
<xsl:when test="count(/ergebnisse/ergebnis/ergebniselement[ @ordnr=$ordnr]/sqlerg/row)=0"> | 
						|
<xsl:text>java.lang.String</xsl:text> | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement[ @ordnr=$ordnr]/sqlerg/row [@no='0']/col [@id=$col_id]"> | 
						|
<!--Transformation: | 
						|
   3=DecimalFormat | 
						|
    4=integer | 
						|
    -7=Boolean | 
						|
    6=date | 
						|
    8=timestamp | 
						|
    9=time | 
						|
    Default ist | 
						|
    1=string--> | 
						|
<xsl:choose> | 
						|
     | 
						|
	<xsl:when test="@typ='3'"> <!-- DecimalFormat --> | 
						|
		<xsl:text>java.lang.Double</xsl:text> | 
						|
	</xsl:when> | 
						|
	<xsl:when test="@typ='4'"> <!-- Integer --> | 
						|
		<xsl:text>java.lang.Integer</xsl:text> | 
						|
	</xsl:when> | 
						|
	<xsl:when test="@typ='-7'">  | 
						|
		<xsl:text>java.lang.Boolean</xsl:text> | 
						|
	</xsl:when> | 
						|
	<xsl:when test="@typ='6'">  | 
						|
		<xsl:text>java.util.Date</xsl:text> | 
						|
	</xsl:when> | 
						|
	<xsl:when test="@typ='8'">  | 
						|
		<xsl:text>java.sql.Timestamp</xsl:text> | 
						|
	</xsl:when> | 
						|
	<xsl:when test="@typ='9'">  | 
						|
		<xsl:text>java.lang.Time</xsl:text> | 
						|
	</xsl:when> | 
						|
	<xsl:otherwise> | 
						|
	<!--Typ=1 ist string und wird defaultmäßig behandelt --> | 
						|
		<xsl:text>java.lang.String</xsl:text> | 
						|
	</xsl:otherwise> | 
						|
	</xsl:choose> | 
						|
	</xsl:for-each> | 
						|
	</xsl:otherwise> | 
						|
	</xsl:choose> | 
						|
</xsl:template> | 
						|
<xsl:template name="createJasperFieldname"> | 
						|
<xsl:param name="fieldName_orig" /> | 
						|
<xsl:variable name="feldname_ohne_umbruch"> | 
						|
<xsl:call-template name="remove_linebreaksAndQuot"><xsl:with-param name="volltext"><xsl:value-of select="$fieldName_orig" /></xsl:with-param></xsl:call-template> | 
						|
</xsl:variable> | 
						|
<xsl:variable name="feldnameOhneBackslashN"> | 
						|
<xsl:call-template name="search_replace"> | 
						|
<xsl:with-param name="string"><xsl:value-of select="$feldname_ohne_umbruch" /></xsl:with-param> | 
						|
<xsl:with-param name="search"><xsl:text>\n</xsl:text></xsl:with-param> | 
						|
<xsl:with-param name="replace"><xsl:text> </xsl:text></xsl:with-param> | 
						|
</xsl:call-template> | 
						|
</xsl:variable> | 
						|
<xsl:call-template name="search_replace"> | 
						|
<xsl:with-param name="string"><xsl:value-of select="$feldnameOhneBackslashN" /></xsl:with-param> | 
						|
<xsl:with-param name="search"><xsl:text>\000</xsl:text></xsl:with-param> | 
						|
<xsl:with-param name="replace"><xsl:text> </xsl:text></xsl:with-param> | 
						|
</xsl:call-template> | 
						|
 | 
						|
</xsl:template> | 
						|
<xsl:template name="getColumnX"> | 
						|
<xsl:param name="druckbreite"/> | 
						|
<xsl:param name="std_spaltenbreite"/> | 
						|
<xsl:param name="ergebniselementOrdnr" /> | 
						|
<xsl:param name="colId" /> | 
						|
<xsl:param name="colCount" /> | 
						|
<xsl:param name="isLastVisibleColumInRow" /> | 
						|
 | 
						|
<xsl:variable name="x"><xsl:text>0</xsl:text> | 
						|
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement[@ordnr=$ergebniselementOrdnr]/sqlerg/headers/header[ @width > 0 and not(starts-with(f_name,'hidden')) and not(starts-with(f_name,'next')) and @id < $colId ]"> | 
						|
<xsl:variable name="previousColumnWidth"> | 
						|
<xsl:call-template name="getColumnwidth"> | 
						|
<xsl:with-param name="druckbreite" select="$druckbreite"/> | 
						|
<xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite"/> | 
						|
<xsl:with-param name="ergebniselementOrdnr" select="$ergebniselementOrdnr"/> | 
						|
<xsl:with-param name="colId" select="@id" /> | 
						|
<xsl:with-param name="colCount" select="$colCount"/> | 
						|
<xsl:with-param name="previousX" select="0"/> | 
						|
<xsl:with-param name="isLastVisibleColumInRow" select="''"/> | 
						|
 | 
						|
</xsl:call-template> | 
						|
</xsl:variable> | 
						|
<xsl:text>+</xsl:text><xsl:value-of select ="$previousColumnWidth" /> | 
						|
</xsl:for-each></xsl:variable> | 
						|
<!--<xsl:value-of select="sum(for $s in tokenize('1+2+3','+') return number($s))" />--> | 
						|
<xsl:call-template name="sumStringList"> | 
						|
  <xsl:with-param name="pText" select="$x"/> | 
						|
  <xsl:with-param name="pSum" select="0"/> | 
						|
  <xsl:with-param name="pDelim" select="'+'"/> | 
						|
  </xsl:call-template> | 
						|
</xsl:template> | 
						|
<xsl:template name="getColumnwidth"> | 
						|
<xsl:param name="druckbreite" /> | 
						|
<xsl:param name="std_spaltenbreite" /> | 
						|
<xsl:param name="ergebniselementOrdnr" /> | 
						|
<xsl:param name="colId" /> | 
						|
<xsl:param name="colCount" /> | 
						|
<xsl:param name="previousX" />  | 
						|
<xsl:param name="isLastVisibleColumInRow" /> | 
						|
 | 
						|
<xsl:variable name="defbreite"><xsl:value-of select="sum(/ergebnisse/ergebnis/ergebniselement[@ordnr=$ergebniselementOrdnr]/sqlerg/headers/header[ @width > 0 and not(starts-with(f_name,'hidden')) and not(starts-with(f_name,'next')) ]/@width )" /></xsl:variable> | 
						|
<xsl:variable name="ndefbreite"><xsl:value-of select="count(/ergebnisse/ergebnis/ergebniselement[@ordnr=$ergebniselementOrdnr]/sqlerg/headers/header[ @width = '' and not(starts-with(f_name,'hidden')) and not(starts-with(f_name,'next'))])" /></xsl:variable> | 
						|
<xsl:variable name="gesamtbreite"><xsl:value-of select="$defbreite+($ndefbreite* $std_spaltenbreite)" /></xsl:variable> | 
						|
<xsl:variable name="width"><xsl:value-of select="/ergebnisse/ergebnis/ergebniselement[@ordnr=$ergebniselementOrdnr]/sqlerg/headers/header[@id=$colId]/@width"/></xsl:variable> | 
						|
<xsl:comment><xsl:value-of select="concat('defbreite=',$defbreite)" /></xsl:comment> | 
						|
<xsl:choose> | 
						|
<xsl:when test="$isLastVisibleColumInRow='+' or ($colCount - 1) =$colId"> | 
						|
<!-- letzte Spalte  wird immer vom rechten Seitenrand minus vorherige Spalten gerechnet, | 
						|
weil es Rundungsfehler bei der Spaltenbreite geben kann.--> | 
						|
<xsl:value-of select="$druckbreite - $previousX"/> | 
						|
</xsl:when> | 
						|
<xsl:when test="$width = '0'"> | 
						|
<xsl:text>0</xsl:text> | 
						|
</xsl:when> | 
						|
<xsl:when test="$width != ''"> | 
						|
<xsl:variable name="spbreite"><xsl:value-of select="$druckbreite*($width div $gesamtbreite)" /> | 
						|
</xsl:variable> | 
						|
<xsl:choose> | 
						|
<xsl:when test="$spbreite > 2"> | 
						|
<xsl:value-of select="round($spbreite)" /> | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
<xsl:text>12</xsl:text> | 
						|
</xsl:otherwise> | 
						|
</xsl:choose> | 
						|
 | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
<xsl:value-of select="round($druckbreite*($std_spaltenbreite div $gesamtbreite))" /> | 
						|
</xsl:otherwise> | 
						|
</xsl:choose> | 
						|
</xsl:template> | 
						|
<xsl:template name="sumStringList"> | 
						|
  <xsl:param name="pText" select="."/> | 
						|
  <xsl:param name="pSum" select="0"/> | 
						|
  <xsl:param name="pDelim" select="'+'"/> | 
						|
 | 
						|
  <xsl:choose> | 
						|
   <xsl:when test="not(string-length($pText) >0)"> | 
						|
     <xsl:value-of select="$pSum"/> | 
						|
   </xsl:when> | 
						|
   <xsl:otherwise> | 
						|
    <xsl:variable name="vnewList" | 
						|
         select="concat($pText,$pDelim)"/> | 
						|
    <xsl:variable name="vHead" select= | 
						|
     "substring-before($vnewList, $pDelim)"/> | 
						|
    <xsl:call-template name="sumStringList"> | 
						|
     <xsl:with-param name="pText" select= | 
						|
     "substring-after($pText, $pDelim)"/> | 
						|
     <xsl:with-param name="pSum" select="$pSum+$vHead"/> | 
						|
     <xsl:with-param name="pDelim" select="$pDelim"/> | 
						|
    </xsl:call-template> | 
						|
   </xsl:otherwise> | 
						|
  </xsl:choose> | 
						|
 </xsl:template> | 
						|
<xsl:template name="jr_textField"> | 
						|
<xsl:param name="ergebnisElementOrdnr" /> | 
						|
<xsl:param name="fieldName" /> | 
						|
<xsl:param name="colName" /> | 
						|
<xsl:param name="colId" /> | 
						|
<xsl:param name="x" select="'0'" /> | 
						|
<xsl:param name="width" select="'0'"  /> | 
						|
<xsl:param name="height" select="$std_zeilenhoehe_tablerow"  /> | 
						|
<xsl:param name="flavorTableRowStyle" select="'listAlternatingBg'" /> | 
						|
<xsl:param name="tableRowLevel" select="10" /> | 
						|
<xsl:param name="expressionType" select="'F'" /> | 
						|
<xsl:param name="groupbyField" select="''" /> | 
						|
<xsl:param name="groupExpressionPrefix" select="''" /> | 
						|
<xsl:param name="headerOrFooter" select="''" /> | 
						|
 | 
						|
<xsl:if test="$width !='0'"> | 
						|
<xsl:variable name="jasperFieldname"> | 
						|
 | 
						|
<xsl:call-template name="createJasperFieldname"> | 
						|
<xsl:with-param name="fieldName_orig" select="$fieldName"/> | 
						|
</xsl:call-template> | 
						|
</xsl:variable> | 
						|
<xsl:variable name="fldPrefix"> | 
						|
<xsl:choose> | 
						|
<xsl:when test="/ergebnisse/@isMakro='true'"> | 
						|
<xsl:text>tab_</xsl:text><xsl:value-of select="$ergebnisElementOrdnr" /></xsl:when> | 
						|
<xsl:otherwise></xsl:otherwise> | 
						|
</xsl:choose> | 
						|
</xsl:variable> | 
						|
<xsl:variable name="fieldType">  | 
						|
<xsl:call-template name="getFieldType"> | 
						|
<xsl:with-param name="ergebnisElementOrdnr" select="$ergebnisElementOrdnr" /> | 
						|
<xsl:with-param name="colId" select="$colId" /> | 
						|
</xsl:call-template> | 
						|
</xsl:variable> | 
						|
<!--start Feldausgabe, zuerst prüfen ob besonderer Feldname--> | 
						|
<xsl:choose> | 
						|
<xsl:when test="normalize-space($jasperFieldname)=''"> <!-- keine leeren Feldnamen--> | 
						|
</xsl:when> | 
						|
<xsl:when test="starts-with($colName,'_graph')"> | 
						|
<xsl:variable name="alignLeft"> | 
						|
<xsl:choose> | 
						|
<xsl:when test="starts-with($colName,'_graphbarright')"> | 
						|
<xsl:text>false</xsl:text> | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
<xsl:text>true</xsl:text> | 
						|
</xsl:otherwise> | 
						|
</xsl:choose> | 
						|
</xsl:variable> | 
						|
<image scaleImage="RealSize" evaluationTime="Band"> | 
						|
				<reportElement x="{$x}" y="0" width="{$width}" height="{$height}" /> | 
						|
				<imageExpression><xsl:text><![CDATA[net.sf.jasperreports.renderers.SimpleDataRenderer.getInstance(de.superx.rpta.SvgProducer.SimpleBarChart($F{]]></xsl:text><xsl:value-of select="$jasperFieldname" /> | 
						|
				<xsl:text>},100,</xsl:text> | 
						|
				<xsl:value-of select="$width"/><xsl:text>,</xsl:text> | 
						|
				<xsl:value-of select="$height"/><xsl:text>,"#cccccc","steelblue",</xsl:text> | 
						|
				<xsl:value-of select="$alignLeft"/><xsl:text>).getBytes("UTF-8"))</xsl:text></imageExpression> | 
						|
			</image> | 
						|
				 | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
<!-- normales Textfeld: --> | 
						|
 | 
						|
<textField  isStretchWithOverflow="true" isBlankWhenNull="true"> | 
						|
<xsl:attribute name="evaluationTime"> | 
						|
<xsl:choose> | 
						|
<xsl:when test="$expressionType='V'"> | 
						|
<!--gruppiertes Feld_--> | 
						|
<xsl:text>Group</xsl:text> | 
						|
</xsl:when> | 
						|
<xsl:otherwise>Now</xsl:otherwise> | 
						|
</xsl:choose> | 
						|
</xsl:attribute> | 
						|
<xsl:if test="$expressionType='V'"> | 
						|
<xsl:attribute name="evaluationGroup"><xsl:value-of select="$groupbyField"/></xsl:attribute> | 
						|
</xsl:if> | 
						|
<!--{$height}30 --> | 
						|
<reportElement stretchType="ContainerHeight" x="{$x}" y="0" width="{$width}" height="{$height}" > | 
						|
<xsl:attribute name="style"> | 
						|
<xsl:call-template name="getTableRowStyle" > | 
						|
<xsl:with-param name="flavorTableRowStyle" select="$flavorTableRowStyle"/> | 
						|
<xsl:with-param name="tableRowLevel" select="$tableRowLevel"/> | 
						|
<xsl:with-param name="ergebnisElementOrdnr" select="$ergebnisElementOrdnr" /> | 
						|
<xsl:with-param name="fieldType" select="$fieldType" /> | 
						|
</xsl:call-template> | 
						|
<xsl:value-of select="$headerOrFooter"/> | 
						|
</xsl:attribute> | 
						|
<xsl:if test="$flavorTableRowStyle='treeTable'"> | 
						|
<xsl:variable name="ColNameEbene">  | 
						|
<xsl:call-template name="getColNameEbene"> | 
						|
<xsl:with-param name="ergebnisElementOrdnr" select="$ergebnisElementOrdnr" /> | 
						|
</xsl:call-template> | 
						|
</xsl:variable> | 
						|
<printWhenExpression><xsl:value-of select="concat('$F{',$ColNameEbene,'}==',$tableRowLevel)" /></printWhenExpression> | 
						|
</xsl:if> | 
						|
</reportElement> | 
						|
<xsl:comment><xsl:value-of select="$fieldType" /></xsl:comment> | 
						|
<xsl:choose> | 
						|
	<xsl:when test="$fieldType='3' or $fieldType='4'  "><!--Zahlen immer rechtsbündig, alles andere links--> | 
						|
	<textElement textAlignment="Right"/> | 
						|
	</xsl:when> | 
						|
	<xsl:otherwise> | 
						|
	<textElement textAlignment="Left"/> | 
						|
	</xsl:otherwise> | 
						|
	</xsl:choose> | 
						|
 | 
						|
	 <xsl:variable name="textFieldExpression"> | 
						|
	 <xsl:choose> | 
						|
	 <xsl:when test="$expressionType='SUM_LABEL'"> | 
						|
	 <xsl:text>'</xsl:text><xsl:call-template name="sumLabel"> | 
						|
	 <xsl:with-param name="level" select="$tableRowLevel" /> | 
						|
	 </xsl:call-template> | 
						|
	 <xsl:text>'</xsl:text> | 
						|
	 </xsl:when> | 
						|
	 <xsl:when test="$expressionType='EMPTY'"> | 
						|
	 <xsl:text>''</xsl:text> | 
						|
	 </xsl:when> | 
						|
	 <xsl:otherwise> | 
						|
	 <xsl:variable name="JRField"> | 
						|
	 <xsl:value-of select="concat('$',$expressionType,'{',$groupbyField,$fldPrefix,$jasperFieldname,'}')"/> | 
						|
	 </xsl:variable> | 
						|
	 <xsl:choose> | 
						|
		 <xsl:when test="$fieldType='1'"><!--string-->  | 
						|
		 <xsl:value-of select="concat($JRField,'==null?null:',$doubleQuote,$groupExpressionPrefix,$doubleQuote,'+',$JRField)" /> | 
						|
		 </xsl:when> | 
						|
		 <xsl:otherwise> | 
						|
		 <xsl:value-of select="$JRField" /> | 
						|
		 </xsl:otherwise> | 
						|
	 </xsl:choose> | 
						|
 | 
						|
	 </xsl:otherwise> | 
						|
	 </xsl:choose> | 
						|
	 </xsl:variable> | 
						|
	 <xsl:comment><xsl:value-of select="concat($fieldType,'-',$expressionType)" /></xsl:comment> | 
						|
	<textFieldExpression><xsl:value-of select="$textFieldExpression" /></textFieldExpression> | 
						|
	<xsl:call-template name="tableCellPatternExpression"> | 
						|
<xsl:with-param name="fieldType" select="$fieldType" /> | 
						|
<xsl:with-param name="ergebnisElementOrdnr" select="$ergebnisElementOrdnr"/> | 
						|
<xsl:with-param name="fieldName" select="$fieldName" /> | 
						|
</xsl:call-template> | 
						|
</textField> | 
						|
 | 
						|
</xsl:otherwise><!-- ende normales Textfeld--> | 
						|
</xsl:choose> | 
						|
 | 
						|
</xsl:if> | 
						|
<!-- Ende width !=0 --> | 
						|
</xsl:template> | 
						|
<xsl:template name="getFieldType"> | 
						|
<xsl:param name="ergebnisElementOrdnr" /> | 
						|
<xsl:param name="colId" /> | 
						|
<xsl:value-of select="/ergebnisse/ergebnis/ergebniselement[@ordnr=$ergebnisElementOrdnr]/sqlerg/row[@no='0']/col[@id=$colId]/@typ" /> | 
						|
</xsl:template> | 
						|
 | 
						|
<xsl:template name="getLegendExpression"> | 
						|
<xsl:param name="ergebniselementOrdnr" select="0"/> | 
						|
<xsl:text>""</xsl:text> | 
						|
<!--				<xsl:for-each select="distinct-values(//ergebnisse/ergebnis[@ordnr = 1 ]/completefields/feld/@varname)">--> | 
						|
				<xsl:for-each select="/ergebnisse/ergebnis[@ordnr = $ergebniselementOrdnr ]/felder/feld[@varname !='tablestylesheet' | 
						|
				and @varname !='Schlüssel anzeigen' | 
						|
				and @varname !='Ausgabeformat' | 
						|
				and @art !='13' | 
						|
				and @art !='999' | 
						|
				and @art !='18']"> | 
						|
 | 
						|
				<xsl:variable name="jasperFieldname"> | 
						|
<xsl:call-template name="createJasperFieldname"> | 
						|
<xsl:with-param name="fieldName_orig" select="@varname"/> | 
						|
</xsl:call-template> | 
						|
</xsl:variable> | 
						|
<xsl:variable name="varname"> | 
						|
<xsl:value-of select="@varname" /> | 
						|
</xsl:variable> | 
						|
<xsl:value-of select="concat('+(($F{','legende_',$jasperFieldname,'_value','}==null || $F{','legende_',$jasperFieldname,'_value','}=="")?','"":(')" /> | 
						|
<xsl:value-of select="concat('$F{','legende_',$jasperFieldname,'_label','}')" /><xsl:text>+": "+</xsl:text> | 
						|
<xsl:value-of select="concat('$F{','legende_',$jasperFieldname,'_value','}')" /><xsl:text>+"; ")) | 
						|
</xsl:text> | 
						|
 | 
						|
 | 
						|
</xsl:for-each> | 
						|
</xsl:template> | 
						|
<xsl:template name="generateTableHeader"> | 
						|
<xsl:param name="druckbreite" /> | 
						|
<xsl:param name="std_spaltenbreite" /> | 
						|
<xsl:param name="zeilenhoehe" select="30" /> | 
						|
<xsl:param name="ordnr" select="0"/> | 
						|
<xsl:param name="y_offset" select="0"/> | 
						|
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement[@ordnr=$ordnr]"> | 
						|
<xsl:choose> | 
						|
<xsl:when test="sqlerg/headers/@hasAggregationHeaders='true'" > | 
						|
<!-- verschachtelter Header --> | 
						|
<xsl:variable name="totalColCount"><xsl:value-of select="sqlerg/headers/@count"/></xsl:variable> | 
						|
<xsl:variable name="rowCount"><xsl:value-of select="count(sqlerg/aggregationHeaders/tr)"/></xsl:variable> | 
						|
 | 
						|
<xsl:for-each select="sqlerg/aggregationHeaders/tr"> | 
						|
<xsl:variable name="rowCounter" select="position()-1" /> | 
						|
<xsl:variable name="currentRowColCount"><xsl:value-of select="count(th[ @isHidden='false'])"/></xsl:variable> | 
						|
<xsl:variable name="colCount"> | 
						|
<xsl:choose> | 
						|
<xsl:when test="($rowCounter - 1)=$rowCount"> | 
						|
<xsl:value-of select="$currentRowColCount"/> | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
<xsl:value-of select="$totalColCount"/> | 
						|
</xsl:otherwise> | 
						|
</xsl:choose> | 
						|
</xsl:variable> | 
						|
 | 
						|
<xsl:for-each select="th" > | 
						|
<xsl:variable name="colId"><xsl:value-of select="position()-1" /></xsl:variable> | 
						|
<xsl:if test="@isHidden='false'">  | 
						|
<xsl:variable name="isLastVisibleColumInRow"> | 
						|
<xsl:call-template name="getLastVisibleColumInRow"> | 
						|
<xsl:with-param name="currentColId" select="$colId" /> | 
						|
<xsl:with-param name="remainingRows" select="$rowCount - ($rowCounter + 1)" /> | 
						|
</xsl:call-template> | 
						|
</xsl:variable> | 
						|
<xsl:comment><xsl:text>colId=</xsl:text><xsl:value-of select="$colId"/> | 
						|
<xsl:text> | 
						|
isLastVisibleColumInRow=</xsl:text><xsl:value-of select="$isLastVisibleColumInRow"/> | 
						|
</xsl:comment> | 
						|
 | 
						|
<xsl:variable name="columnX"> | 
						|
<xsl:call-template name="getColumnX"> | 
						|
<xsl:with-param name="druckbreite" select="$druckbreite"/> | 
						|
<xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite"/> | 
						|
<xsl:with-param name="ergebniselementOrdnr" select="$ordnr"/> | 
						|
<xsl:with-param name="colId" select="$colId" /> | 
						|
<xsl:with-param name="colCount" select="$colCount"/> | 
						|
<xsl:with-param name="isLastVisibleColumInRow" select="$isLastVisibleColumInRow"/> | 
						|
</xsl:call-template> | 
						|
</xsl:variable> | 
						|
<xsl:comment><xsl:text>columnX=</xsl:text><xsl:value-of select="$columnX"/></xsl:comment> | 
						|
<xsl:comment><xsl:text>colCount=</xsl:text><xsl:value-of select="$colCount"/></xsl:comment> | 
						|
<xsl:comment><xsl:text>druckbreite=</xsl:text><xsl:value-of select="$druckbreite"/></xsl:comment> | 
						|
<xsl:variable name="columnWidth"> | 
						|
<xsl:call-template name="getColumnwidth"> | 
						|
<xsl:with-param name="druckbreite" select="$druckbreite"/> | 
						|
<xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite"/> | 
						|
<xsl:with-param name="ergebniselementOrdnr" select="$ordnr"/> | 
						|
<xsl:with-param name="colId" select="$colId" /> | 
						|
<xsl:with-param name="colCount" select="$colCount"/> | 
						|
<xsl:with-param name="previousX" select="$columnX"/> | 
						|
<xsl:with-param name="isLastVisibleColumInRow" select="$isLastVisibleColumInRow"/> | 
						|
 | 
						|
</xsl:call-template> | 
						|
</xsl:variable> | 
						|
<xsl:comment><xsl:text>columnWidth=</xsl:text><xsl:value-of select="$columnWidth"/></xsl:comment> | 
						|
 | 
						|
<xsl:variable name="rowspan"> | 
						|
<xsl:choose> | 
						|
<xsl:when test="@rowspan >1"> | 
						|
<xsl:value-of select="@rowspan"/> | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
<xsl:text>1</xsl:text> | 
						|
</xsl:otherwise> | 
						|
</xsl:choose> | 
						|
</xsl:variable> | 
						|
<xsl:variable name="colspan"> | 
						|
<xsl:choose> | 
						|
<xsl:when test="@colspan >1"> | 
						|
<xsl:value-of select="@colspan"/> | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
<xsl:text>1</xsl:text> | 
						|
</xsl:otherwise> | 
						|
</xsl:choose> | 
						|
</xsl:variable> | 
						|
<xsl:variable name="computedWidth"> | 
						|
<!--wenn eine Spalte die letzte sichtbare ist, wird der berechnete Wert | 
						|
genommen. Wenn nicht, wird mit colspan multipliziert.--> | 
						|
<xsl:choose> | 
						|
<xsl:when test="$isLastVisibleColumInRow='+'"> | 
						|
<xsl:value-of select="$columnWidth"/> | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
<xsl:value-of select="$columnWidth * $colspan"/> | 
						|
</xsl:otherwise> | 
						|
</xsl:choose> | 
						|
</xsl:variable> | 
						|
<xsl:if test="$computedWidth!='0'"> | 
						|
 | 
						|
<textField isStretchWithOverflow="true"> | 
						|
	<xsl:comment><xsl:value-of select="concat('ROW ' ,$rowCounter ,'-', $rowspan,'.',$rowCount)"/> | 
						|
	</xsl:comment> | 
						|
		<reportElement  style="TableColumnHeader" mode="Opaque"  | 
						|
		x="{$columnX}" y="{$y_offset+( $rowCounter * $zeilenhoehe )}" width="{$computedWidth}" height="{$zeilenhoehe*$rowspan}"> | 
						|
		<xsl:if test="$rowCounter = ($rowCount - 1 ) or $rowspan >1"><!-- >0 --> | 
						|
		<!-- verschachtelte Überschriften: oberste Zeile darf keinen stretchType haben, wenn darunter Zellen sind. | 
						|
		Sonst zeigt Excel das nicht an.--> | 
						|
		<xsl:attribute name="stretchType"><xsl:text>ContainerHeight</xsl:text></xsl:attribute> | 
						|
		</xsl:if> | 
						|
		</reportElement> | 
						|
		<textFieldExpression><xsl:text>"</xsl:text> | 
						|
		<xsl:call-template name="newline_to_backslash_n"> | 
						|
    <xsl:with-param name="string" select="."/> | 
						|
    </xsl:call-template> | 
						|
 | 
						|
		<xsl:text>"</xsl:text> | 
						|
		 | 
						|
	</textFieldExpression> | 
						|
	</textField> | 
						|
</xsl:if> | 
						|
</xsl:if> | 
						|
</xsl:for-each> | 
						|
</xsl:for-each> | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
<xsl:variable name="colCount"><xsl:value-of select="count(sqlerg/headers/header[not(starts-with(f_name,'hidden')) and not(starts-with(f_name,'next')) ])"/></xsl:variable> | 
						|
<xsl:for-each select="sqlerg/headers/header[not(starts-with(f_name,'hidden')) and not(starts-with(f_name,'next')) ]"> | 
						|
<xsl:variable name="columnX"> | 
						|
<xsl:call-template name="getColumnX"> | 
						|
<xsl:with-param name="druckbreite" select="$druckbreite"/> | 
						|
<xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite"/> | 
						|
<xsl:with-param name="ergebniselementOrdnr" select="$ordnr"/> | 
						|
<xsl:with-param name="colId" select="@id" /> | 
						|
<xsl:with-param name="colCount" select="$colCount"/> | 
						|
</xsl:call-template> | 
						|
</xsl:variable> | 
						|
<xsl:variable name="columnWidth"> | 
						|
<xsl:call-template name="getColumnwidth"> | 
						|
<xsl:with-param name="druckbreite" select="$druckbreite"/> | 
						|
<xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite"/> | 
						|
<xsl:with-param name="ergebniselementOrdnr" select="$ordnr"/> | 
						|
<xsl:with-param name="colId" select="@id" /> | 
						|
<xsl:with-param name="colCount" select="$colCount"/> | 
						|
<xsl:with-param name="previousX" select="$columnX"/> | 
						|
 | 
						|
</xsl:call-template> | 
						|
</xsl:variable> | 
						|
<xsl:if test="$columnWidth!='0'"> | 
						|
 | 
						|
		<textField isStretchWithOverflow="true"> | 
						|
	 | 
						|
		<reportElement positionType="Float" style="TableColumnHeader" mode="Opaque"  | 
						|
		x="{$columnX}" y="{$y_offset}" width="{$columnWidth}" height="{$zeilenhoehe}" /> | 
						|
		<textFieldExpression><xsl:text>"</xsl:text><!--<xsl:call-template name="getColHeaderText"> | 
						|
<xsl:with-param name="header_wert" select="." /></xsl:call-template>--> | 
						|
<xsl:call-template name="newline_to_backslash_n"> | 
						|
    <xsl:with-param name="string" select="wert"/> | 
						|
    </xsl:call-template> | 
						|
 | 
						|
<xsl:text>"</xsl:text> | 
						|
		 | 
						|
	</textFieldExpression> | 
						|
	</textField>	 | 
						|
	</xsl:if> | 
						|
	</xsl:for-each> | 
						|
</xsl:otherwise> | 
						|
</xsl:choose> | 
						|
</xsl:for-each> | 
						|
</xsl:template> | 
						|
<xsl:template name="getZeilenhoeheTableHeader"> | 
						|
<xsl:param name="ordnr" select="0" /> | 
						|
<xsl:param name="std_zeilenhoehe_header" select="30" /> | 
						|
<xsl:param name="y_offset" select="0" /> | 
						|
<xsl:choose> | 
						|
<xsl:when test="/ergebnisse/ergebnis/ergebniselement[@ordnr=$ordnr]/sqlerg/headers/@hasAggregationHeaders='true'"> | 
						|
<xsl:variable name="maxRownumberTableHeader"> | 
						|
<xsl:value-of select="count(/ergebnisse/ergebnis/ergebniselement[@ordnr=$ordnr]/sqlerg/aggregationHeaders/tr)"/> | 
						|
</xsl:variable> | 
						|
<xsl:value-of select="$y_offset + ( $std_zeilenhoehe_header * $maxRownumberTableHeader )"/> | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
<xsl:value-of select="$y_offset + $std_zeilenhoehe_header "/> | 
						|
</xsl:otherwise> | 
						|
</xsl:choose> | 
						|
</xsl:template> | 
						|
 | 
						|
<xsl:template name="generateGroupBand"> | 
						|
<xsl:param name="ergebniselementOrdnr" select="0" /> | 
						|
<xsl:param name="std_zeilenhoehe_header"  /> | 
						|
<xsl:param name="druckbreite"  /> | 
						|
<xsl:param name="std_spaltenbreite"  /> | 
						|
<xsl:param name="groupbyField"  /> | 
						|
<xsl:param name="groupLayoutElem"  /> | 
						|
<xsl:variable name="isMacroReport" select="/ergebnisse/@isMakro" /> | 
						|
<xsl:variable name="legendLabelHeight" select="20" /> | 
						|
<xsl:variable name="legendContentHeight" select="10" /> | 
						|
<xsl:variable name="hinweisContentHeight" select="10" /> | 
						|
<xsl:if test="$groupbyField != ''">  | 
						|
<group name="{$groupbyField}" keepTogether="true"> | 
						|
	<groupExpression><xsl:value-of select="concat('$F{',$groupbyField,'}')"/></groupExpression> | 
						|
 | 
						|
<xsl:variable name="showHeader"> | 
						|
<xsl:value-of select="$groupLayoutElem/groupLayout/group[@name=$groupbyField]/@showHeader"/> | 
						|
</xsl:variable> | 
						|
<xsl:variable name="showFooter"> | 
						|
<xsl:value-of select="$groupLayoutElem/groupLayout/group[@name=$groupbyField]/@showFooter"/> | 
						|
</xsl:variable> | 
						|
<xsl:if test="$showHeader='true'"> | 
						|
<groupHeader> | 
						|
<band height="{$groupLayoutElem/groupLayout/group[@name=$groupbyField]/header/@height}" splitType="Stretch"> | 
						|
<xsl:call-template name="generateGroupBandContent" > | 
						|
<xsl:with-param name="ergebniselementOrdnr" select="$ergebniselementOrdnr" /> | 
						|
<xsl:with-param name="druckbreite" select="$druckbreite" /> | 
						|
<xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite" /> | 
						|
<xsl:with-param name="groupbyField"  select="$groupbyField"/> | 
						|
<xsl:with-param name="groupLayoutElem"  select="$groupLayoutElem"/> | 
						|
<xsl:with-param name="headerOrFooter" select="'header'" /> | 
						|
 | 
						|
 | 
						|
</xsl:call-template> | 
						|
</band></groupHeader> | 
						|
</xsl:if> | 
						|
<xsl:if test="$showFooter='true'"> | 
						|
	<groupFooter> | 
						|
<band height="{$groupLayoutElem/groupLayout/group[@name=$groupbyField]/footer/@height}" splitType="Stretch"> | 
						|
<xsl:call-template name="generateGroupBandContent" > | 
						|
<xsl:with-param name="ergebniselementOrdnr" select="$ergebniselementOrdnr" /> | 
						|
<xsl:with-param name="druckbreite" select="$druckbreite" /> | 
						|
<xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite" /> | 
						|
<xsl:with-param name="groupbyField"  select="$groupbyField"/> | 
						|
<xsl:with-param name="groupLayoutElem"  select="$groupLayoutElem"/> | 
						|
<xsl:with-param name="headerOrFooter" select="'footer'" /> | 
						|
 | 
						|
 | 
						|
</xsl:call-template> | 
						|
</band> | 
						|
</groupFooter> | 
						|
</xsl:if> | 
						|
 | 
						|
</group> | 
						|
</xsl:if> | 
						|
</xsl:template> | 
						|
<xsl:template name="generateGroupBandContent"> | 
						|
<xsl:param name="ergebniselementOrdnr" select="0" /> | 
						|
<xsl:param name="druckbreite"  /> | 
						|
<xsl:param name="std_spaltenbreite"  /> | 
						|
<xsl:param name="groupbyField"  /> | 
						|
<xsl:param name="groupLayoutElem" /> | 
						|
<xsl:param name="headerOrFooter"  /> | 
						|
 | 
						|
<xsl:variable name="tableRowLevel"> | 
						|
<xsl:choose> | 
						|
<xsl:when test="$groupbyField='tabellennr'"> | 
						|
<xsl:text>1</xsl:text> | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
<xsl:text>2</xsl:text> | 
						|
</xsl:otherwise> | 
						|
</xsl:choose> | 
						|
</xsl:variable> | 
						|
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement[@ordnr=$ergebniselementOrdnr]"> | 
						|
 | 
						|
<xsl:variable name="flavorTableRowStyle"> | 
						|
<xsl:text>simple</xsl:text> | 
						|
</xsl:variable> | 
						|
 | 
						|
<xsl:variable name="colCount"><xsl:value-of select="count(sqlerg/headers/header[not(starts-with(f_name,'hidden'))  | 
						|
and not(starts-with(f_name,'next')) ])"/></xsl:variable> | 
						|
<xsl:for-each select="sqlerg/headers/header[not(starts-with(f_name,'hidden'))  | 
						|
and not(starts-with(f_name,'next')) ]"> | 
						|
<xsl:comment><xsl:value-of select="concat('START mit Feld',wert)"/></xsl:comment> | 
						|
<xsl:variable name="fieldType"> | 
						|
<xsl:call-template name="getJavaType"> | 
						|
<xsl:with-param name="ordnr"><xsl:value-of select="$ergebniselementOrdnr"/></xsl:with-param> | 
						|
<xsl:with-param name="col_id"><xsl:value-of select="@id"/></xsl:with-param></xsl:call-template> | 
						|
</xsl:variable> | 
						|
<xsl:variable name="isNumericField"> | 
						|
<xsl:choose> | 
						|
<xsl:when test="$fieldType='java.lang.Double' or $fieldType='java.lang.Integer'"> | 
						|
<xsl:text>true</xsl:text> | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
<xsl:text>false</xsl:text> | 
						|
</xsl:otherwise> | 
						|
</xsl:choose> | 
						|
</xsl:variable> | 
						|
 | 
						|
<xsl:variable name="columnX"> | 
						|
<xsl:call-template name="getColumnX"> | 
						|
<xsl:with-param name="druckbreite" select="$druckbreite"/> | 
						|
<xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite"/> | 
						|
<xsl:with-param name="ergebniselementOrdnr" select="$ergebniselementOrdnr"/> | 
						|
<xsl:with-param name="colId" select="@id" /> | 
						|
<xsl:with-param name="colCount" select="$colCount"/> | 
						|
</xsl:call-template> | 
						|
</xsl:variable> | 
						|
<!-- ist das Feld im Band vorgesehen? --> | 
						|
<xsl:variable name="isDeclared"> | 
						|
<xsl:call-template name="isFieldDeclaredInGroupBand"> | 
						|
<xsl:with-param name="fieldName" select="f_name" /> | 
						|
<xsl:with-param name="groupbyField"  select="$groupbyField" /> | 
						|
<xsl:with-param name="groupLayoutElem"  select="$groupLayoutElem" /> | 
						|
<xsl:with-param name="headerOrFooter" select="$headerOrFooter" /> | 
						|
</xsl:call-template> | 
						|
</xsl:variable> | 
						|
<xsl:comment><xsl:value-of select="concat('WERT:',f_name,':',$isDeclared)"/></xsl:comment> | 
						|
<xsl:variable name="groupExpressionPrefix"> | 
						|
<xsl:if test="$isDeclared='true' and $isNumericField='false'"> | 
						|
<xsl:call-template name="getDeclaredFieldPrefixInGroupBand"> | 
						|
<xsl:with-param name="fieldName" select="f_name" /> | 
						|
<xsl:with-param name="groupbyField"  select="$groupbyField" /> | 
						|
<xsl:with-param name="groupLayoutElem"  select="$groupLayoutElem" /> | 
						|
<xsl:with-param name="headerOrFooter" select="$headerOrFooter" /> | 
						|
</xsl:call-template> | 
						|
</xsl:if> | 
						|
</xsl:variable> | 
						|
<xsl:comment><xsl:value-of select="concat('groupExpressionPrefix:',f_name,':',$groupExpressionPrefix)"/></xsl:comment> | 
						|
<xsl:variable name="groupLabel"> | 
						|
<xsl:if test="$isDeclared='true' and $isNumericField='false'"> | 
						|
<xsl:call-template name="getDeclaredFieldLabelInGroupBand"> | 
						|
<xsl:with-param name="fieldName" select="f_name" /> | 
						|
<xsl:with-param name="groupbyField"  select="$groupbyField" /> | 
						|
<xsl:with-param name="groupLayoutElem"  select="$groupLayoutElem" /> | 
						|
<xsl:with-param name="headerOrFooter" select="$headerOrFooter" /> | 
						|
</xsl:call-template> | 
						|
</xsl:if> | 
						|
</xsl:variable> | 
						|
<xsl:comment><xsl:value-of select="concat('groupLabel:',f_name,':',$groupLabel)"/></xsl:comment> | 
						|
 | 
						|
<xsl:variable name="columnWidth"> | 
						|
<xsl:choose> | 
						|
<xsl:when test="$isDeclared='true' and $isNumericField='false'"> | 
						|
<xsl:call-template name="getDeclaredWidthInGroupBand"> | 
						|
<xsl:with-param name="fieldName" select="f_name" /> | 
						|
<xsl:with-param name="groupbyField"  select="$groupbyField" /> | 
						|
<xsl:with-param name="groupLayoutElem"  select="$groupLayoutElem" /> | 
						|
<xsl:with-param name="headerOrFooter" select="$headerOrFooter" /> | 
						|
<xsl:with-param name="druckbreite" select="$druckbreite"/> | 
						|
<xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite"/> | 
						|
<xsl:with-param name="ergebniselementOrdnr" select="$ergebniselementOrdnr"/> | 
						|
<xsl:with-param name="colId" select="@id" /> | 
						|
<xsl:with-param name="colCount" select="$colCount"/> | 
						|
<xsl:with-param name="previousX" select="$columnX"/> | 
						|
</xsl:call-template> | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
<xsl:call-template name="getColumnwidth"> | 
						|
<xsl:with-param name="druckbreite" select="$druckbreite"/> | 
						|
<xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite"/> | 
						|
<xsl:with-param name="ergebniselementOrdnr" select="$ergebniselementOrdnr"/> | 
						|
<xsl:with-param name="colId" select="@id" /> | 
						|
<xsl:with-param name="colCount" select="$colCount"/> | 
						|
<xsl:with-param name="previousX" select="$columnX"/> | 
						|
</xsl:call-template> | 
						|
</xsl:otherwise> | 
						|
</xsl:choose> | 
						|
</xsl:variable> | 
						|
 | 
						|
<xsl:if test="$isDeclared='true'">  | 
						|
<xsl:choose> | 
						|
<xsl:when test="$isNumericField='true'"> | 
						|
<xsl:call-template name="jr_textField"> | 
						|
<xsl:with-param name="ergebnisElementOrdnr" select="$ergebniselementOrdnr" /> | 
						|
<xsl:with-param name="fieldName" select="wert" /> | 
						|
<xsl:with-param name="colName" select="f_name" /> | 
						|
<xsl:with-param name="colId" select="@id" /> | 
						|
<xsl:with-param name="x" select="$columnX" /> | 
						|
<xsl:with-param name="width" select="$columnWidth" /> | 
						|
<xsl:with-param name="height" select="$std_zeilenhoehe_tablerow" /> | 
						|
 | 
						|
<xsl:with-param name="flavorTableRowStyle" select="$flavorTableRowStyle" /> | 
						|
<xsl:with-param name="tableRowLevel" select="$tableRowLevel" /> | 
						|
<xsl:with-param name="expressionType" select="'V'" /> | 
						|
<xsl:with-param name="groupbyField" select="$groupbyField" /> | 
						|
<xsl:with-param name="headerOrFooter" select="$headerOrFooter" /> | 
						|
 | 
						|
</xsl:call-template> | 
						|
</xsl:when> | 
						|
<xsl:when test="$isNumericField='false' and @width !='0' and $groupbyField='tabellennr'"> | 
						|
<xsl:call-template name="jr_textField"> | 
						|
<xsl:with-param name="ergebnisElementOrdnr" select="$ergebniselementOrdnr" /> | 
						|
<xsl:with-param name="fieldName" select="wert" /> | 
						|
<xsl:with-param name="colName" select="f_name" /> | 
						|
<xsl:with-param name="colId" select="@id" /> | 
						|
<xsl:with-param name="x" select="$columnX" /> | 
						|
<xsl:with-param name="width" select="$columnWidth" /> | 
						|
<xsl:with-param name="height" select="$std_zeilenhoehe_tablerow" /> | 
						|
<xsl:with-param name="flavorTableRowStyle" select="$flavorTableRowStyle" /> | 
						|
<xsl:with-param name="tableRowLevel" select="$tableRowLevel" /> | 
						|
<xsl:with-param name="expressionType" select="$groupLabel" /> | 
						|
<xsl:with-param name="groupbyField" select="''" /> | 
						|
<xsl:with-param name="headerOrFooter" select="$headerOrFooter" /> | 
						|
 | 
						|
</xsl:call-template> | 
						|
</xsl:when> | 
						|
<xsl:when test="wert=$groupbyField"> | 
						|
<xsl:call-template name="jr_textField"> | 
						|
<xsl:with-param name="ergebnisElementOrdnr" select="$ergebniselementOrdnr" /> | 
						|
<xsl:with-param name="fieldName" select="wert" /> | 
						|
<xsl:with-param name="colName" select="f_name" /> | 
						|
<xsl:with-param name="colId" select="@id" /> | 
						|
<xsl:with-param name="x" select="$columnX" /> | 
						|
<xsl:with-param name="width" select="$columnWidth" /> | 
						|
<xsl:with-param name="height" select="$std_zeilenhoehe_tablerow" /> | 
						|
<xsl:with-param name="flavorTableRowStyle" select="$flavorTableRowStyle" /> | 
						|
<xsl:with-param name="tableRowLevel" select="$tableRowLevel" /> | 
						|
<xsl:with-param name="expressionType" select="'F'" /> | 
						|
<xsl:with-param name="groupbyField" select="''" /> | 
						|
<xsl:with-param name="groupExpressionPrefix" select="$groupExpressionPrefix" /> | 
						|
<xsl:with-param name="headerOrFooter" select="$headerOrFooter" /> | 
						|
 | 
						|
</xsl:call-template> | 
						|
</xsl:when> | 
						|
 | 
						|
<xsl:otherwise> | 
						|
<!-- sum-label field --> | 
						|
<xsl:call-template name="jr_textField"> | 
						|
<xsl:with-param name="ergebnisElementOrdnr" select="$ergebniselementOrdnr" /> | 
						|
<xsl:with-param name="fieldName" select="wert" /> | 
						|
<xsl:with-param name="colName" select="f_name" /> | 
						|
<xsl:with-param name="colId" select="@id" /> | 
						|
<xsl:with-param name="x" select="$columnX" /> | 
						|
<xsl:with-param name="width" select="$columnWidth" /> | 
						|
<xsl:with-param name="height" select="$std_zeilenhoehe_tablerow" /> | 
						|
 | 
						|
<xsl:with-param name="flavorTableRowStyle" select="$flavorTableRowStyle" /> | 
						|
<xsl:with-param name="tableRowLevel" select="$tableRowLevel" /> | 
						|
<xsl:with-param name="expressionType" select="'SUM_LABEL'" /> | 
						|
<xsl:with-param name="groupbyField" select="''" /> | 
						|
<xsl:with-param name="headerOrFooter" select="$headerOrFooter" /> | 
						|
 | 
						|
</xsl:call-template> | 
						|
</xsl:otherwise> | 
						|
 | 
						|
</xsl:choose> | 
						|
</xsl:if> | 
						|
 | 
						|
</xsl:for-each> | 
						|
</xsl:for-each> | 
						|
</xsl:template> | 
						|
 | 
						|
<xsl:template name="generateTopGroupBand"> | 
						|
<xsl:param name="ergebniselementOrdnr" select="0" /> | 
						|
<xsl:param name="std_zeilenhoehe_header"  /> | 
						|
<xsl:param name="druckbreite"  /> | 
						|
<xsl:param name="std_spaltenbreite"  /> | 
						|
<xsl:param name="groupLayoutElem" /> | 
						|
 | 
						|
<xsl:variable name="isMacroReport" select="/ergebnisse/@isMakro" /> | 
						|
<xsl:variable name="legendLabelHeight" select="20" /> | 
						|
<xsl:variable name="legendContentHeight" select="10" /> | 
						|
<xsl:variable name="hinweisContentHeight" select="10" /> | 
						|
<xsl:variable name="subReportTitleHeight"> | 
						|
<xsl:choose> | 
						|
<xsl:when test="$isMacroReport='false'"> | 
						|
<xsl:text>0</xsl:text> | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
<xsl:text>20</xsl:text> | 
						|
</xsl:otherwise> | 
						|
</xsl:choose> | 
						|
</xsl:variable> | 
						|
 | 
						|
 | 
						|
<group name="tabellennr"> | 
						|
	<groupExpression><![CDATA[$V{tabellennr}]]></groupExpression> | 
						|
	<groupHeader> | 
						|
<band height="{$legendLabelHeight+$legendContentHeight + $subReportTitleHeight}"> | 
						|
<property name="com.jaspersoft.studio.layout" value="com.jaspersoft.studio.editor.layout.spreadsheet.SpreadsheetLayout"/> | 
						|
<!--subReportTitle--> | 
						|
<xsl:if test="$isMacroReport = 'true'"> | 
						|
<textField> | 
						|
<reportElement style="subReportTitle" x="0" y="0" width="{$druckbreite}" height="{$subReportTitleHeight}" /> | 
						|
<textFieldExpression><xsl:text>"</xsl:text><xsl:value-of select="/ergebnisse/ergebnis[@ordnr=$ergebniselementOrdnr]/maskenname"/><xsl:text>"</xsl:text></textFieldExpression> | 
						|
</textField> | 
						|
</xsl:if> | 
						|
<!--Legende --> | 
						|
<xsl:call-template name="legendLabelAndContent"> | 
						|
<xsl:with-param name="ergebniselementOrdnr" select="$ergebniselementOrdnr" /> | 
						|
<xsl:with-param name="subReportTitleHeight" select="$subReportTitleHeight" /> | 
						|
<xsl:with-param name="druckbreite" select="$druckbreite" /> | 
						|
<xsl:with-param name="legendLabelHeight" select="$legendLabelHeight" /> | 
						|
<xsl:with-param name="legendContentHeight" select="$legendContentHeight" /> | 
						|
</xsl:call-template> | 
						|
</band> | 
						|
<band height="{$hinweisContentHeight}"> | 
						|
<printWhenExpression><![CDATA[$F{Hinweis}.length() >0]]></printWhenExpression> | 
						|
<!-- hinweis--> | 
						|
<textField isStretchWithOverflow="true"> | 
						|
<reportElement style="HinweisContent" positionType="Float"  isPrintWhenDetailOverflows="true" x="0" y="0" width="{$druckbreite}" height="{$hinweisContentHeight}" /> | 
						|
<box topPadding="10" leftPadding="2" bottomPadding="10" rightPadding="2"/> | 
						|
<textElement  verticalAlignment="Middle"/> | 
						|
<textFieldExpression> | 
						|
<xsl:text disable-output-escaping="yes"><![CDATA[$F{Hinweis}]]></xsl:text></textFieldExpression> | 
						|
</textField> | 
						|
</band> | 
						|
<!--nun Spaltenüberschriften--> | 
						|
<band splitType="Stretch"> | 
						|
<xsl:attribute name="height"> | 
						|
<xsl:call-template name="getZeilenhoeheTableHeader"> | 
						|
<xsl:with-param name="ordnr" select="$ergebniselementOrdnr" /> | 
						|
<xsl:with-param name="std_zeilenhoehe_header" select="$std_zeilenhoehe_header" /> | 
						|
<xsl:with-param name="y_offset" select="0"/> | 
						|
</xsl:call-template> | 
						|
</xsl:attribute> | 
						|
 | 
						|
<xsl:call-template name="generateTableHeader"> | 
						|
<xsl:with-param name="druckbreite" select="$druckbreite" /> | 
						|
<xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite"/> | 
						|
<xsl:with-param name="zeilenhoehe" select="$std_zeilenhoehe_header" /> | 
						|
<xsl:with-param name="ordnr" select="$ergebniselementOrdnr"/> | 
						|
<xsl:with-param name="y_offset" select="0"/> | 
						|
</xsl:call-template> | 
						|
</band> | 
						|
<!--kein weiterer Inhalt im Top-Header--> | 
						|
</groupHeader> | 
						|
<xsl:if test="count($groupLayoutElem/groupLayout/group[@name='tabellennr' and @showFooter='true']) !=0" > | 
						|
<groupFooter> | 
						|
<band height="{$std_zeilenhoehe_tablerow}" splitType="Stretch"> | 
						|
<xsl:call-template name="generateGroupBandContent" > | 
						|
<xsl:with-param name="ergebniselementOrdnr" select="$ergebniselementOrdnr" /> | 
						|
<xsl:with-param name="druckbreite" select="$druckbreite" /> | 
						|
<xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite" /> | 
						|
<xsl:with-param name="groupbyField"  select="'tabellennr'"/> | 
						|
<xsl:with-param name="groupLayoutElem"  select="$groupLayoutElem"/> | 
						|
<xsl:with-param name="headerOrFooter" select="'footer'" /> | 
						|
</xsl:call-template> | 
						|
</band> | 
						|
</groupFooter> | 
						|
</xsl:if> | 
						|
 | 
						|
</group> | 
						|
</xsl:template> | 
						|
<xsl:template name="generateTitleBand"> | 
						|
<xsl:param name="druckbreite" select="812" /> | 
						|
<xsl:param name="seitenbreite" select="842" /> | 
						|
<xsl:param name="seitenrand" select="12" /> | 
						|
<xsl:param name="ReportTitle" select="'$F{Berichtsname}'" /> | 
						|
	<title> | 
						|
		<band height="75"> | 
						|
	 | 
						|
			<textField> | 
						|
				<reportElement x="0" y="0" width="{$druckbreite}" height="30" style="ReportHeadingInstitution"/> | 
						|
				<textFieldExpression><![CDATA[$F{REPORT_HEADING_INSTITUTION} + " | "+ $F{user}]]></textFieldExpression> | 
						|
			</textField> | 
						|
			<textField> | 
						|
				<reportElement style="ReportTitle" x="0" y="30" width="{$druckbreite}" height="45" /> | 
						|
				<textFieldExpression><xsl:value-of select="$ReportTitle" /></textFieldExpression> | 
						|
			</textField> | 
						|
 | 
						|
		</band> | 
						|
	</title> | 
						|
	</xsl:template> | 
						|
	<!-- start value--> | 
						|
 | 
						|
<xsl:template name="jr_textfield_levelx"> | 
						|
<xsl:param name="ergebnisElementOrdnr" /> | 
						|
<xsl:param name="fieldName"  /> | 
						|
<xsl:param name="colName"  /> | 
						|
<xsl:param name="colId"  /> | 
						|
<xsl:param name="x"  /> | 
						|
<xsl:param name="width"  /> | 
						|
<xsl:param name="flavorTableRowStyle" /> | 
						|
<xsl:param name="tableRowLevel" /> | 
						|
<xsl:param name="std_zeilenhoehe_tablerow" select="25" /> | 
						|
<xsl:param name="maxLevel" select="10"/> | 
						|
 | 
						|
<xsl:if test="$tableRowLevel <= $maxLevel"> | 
						|
<xsl:call-template name="jr_textField"> | 
						|
<xsl:with-param name="tableRowLevel" select="$tableRowLevel" /> | 
						|
<xsl:with-param name="ergebnisElementOrdnr" select="$ergebnisElementOrdnr" /> | 
						|
<xsl:with-param name="fieldName" select="$fieldName" /> | 
						|
<xsl:with-param name="colName" select="$colName" /> | 
						|
<xsl:with-param name="colId" select="$colId" /> | 
						|
<xsl:with-param name="x" select="$x" /> | 
						|
<xsl:with-param name="width" select="$width" /> | 
						|
<xsl:with-param name="height" select="$std_zeilenhoehe_tablerow" /> | 
						|
<xsl:with-param name="flavorTableRowStyle" select="$flavorTableRowStyle" /> | 
						|
</xsl:call-template> | 
						|
<xsl:call-template name="jr_textfield_levelx"> | 
						|
<xsl:with-param name="maxLevel" select="$maxLevel"/> | 
						|
<xsl:with-param name="ergebnisElementOrdnr" select="$ergebnisElementOrdnr" /> | 
						|
<xsl:with-param name="fieldName" select="$fieldName" /> | 
						|
<xsl:with-param name="colName" select="$colName" /> | 
						|
<xsl:with-param name="colId" select="$colId" /> | 
						|
<xsl:with-param name="x" select="$x" /> | 
						|
<xsl:with-param name="width" select="$width" /> | 
						|
<xsl:with-param name="std_zeilenhoehe_tablerow" select="$std_zeilenhoehe_tablerow" /> | 
						|
<xsl:with-param name="flavorTableRowStyle" select="$flavorTableRowStyle" /> | 
						|
<xsl:with-param name="tableRowLevel" select="$tableRowLevel + 1" /> | 
						|
</xsl:call-template> | 
						|
</xsl:if> | 
						|
</xsl:template> | 
						|
<xsl:template name="getTableRowStyle"> | 
						|
<xsl:param name="flavorTableRowStyle"/> | 
						|
<xsl:param name="tableRowLevel"/> | 
						|
<xsl:param name="ergebnisElementOrdnr" select="0" /> | 
						|
<xsl:param name="fieldType" /> | 
						|
<xsl:choose> | 
						|
<xsl:when test="$flavorTableRowStyle='listAlternatingBg'"> | 
						|
<xsl:text>TableRowDetail</xsl:text> | 
						|
</xsl:when> | 
						|
<xsl:when test="$flavorTableRowStyle='treeTable'"> | 
						|
<xsl:value-of select="concat('TableRowLevel',$tableRowLevel)" /> | 
						|
</xsl:when> | 
						|
<xsl:when test="$flavorTableRowStyle='simple'"> | 
						|
<xsl:choose> | 
						|
<xsl:when test="$tableRowLevel=''"> | 
						|
<xsl:text>TableRowStandard</xsl:text> | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
<xsl:value-of select="concat('TableRowLevel',$tableRowLevel)" /> | 
						|
</xsl:otherwise> | 
						|
</xsl:choose> | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
<xsl:value-of select="$flavorTableRowStyle"/> | 
						|
</xsl:otherwise> | 
						|
</xsl:choose> | 
						|
</xsl:template> | 
						|
<xsl:template name="querystring"> | 
						|
<xsl:param name="ordnr" select="'0'" /> | 
						|
<xsl:param name="rownr" /> | 
						|
<xsl:variable name="quote"><xsl:text>'</xsl:text></xsl:variable> | 
						|
<xsl:variable name="rowfilter"> | 
						|
<xsl:choose> | 
						|
<xsl:when test="$rownr > 0"> | 
						|
<xsl:text>[position() = </xsl:text><xsl:value-of select="$rownr"/><xsl:text> ]</xsl:text> | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
</xsl:otherwise> | 
						|
</xsl:choose> | 
						|
</xsl:variable> | 
						|
	<queryString language="xPath"><xsl:value-of select="concat('/ergebnisse/ergebnis/ergebniselement[@ordnr=',$quote,$ordnr,$quote,']/sqlerg/row',$rowfilter)" /> | 
						|
	</queryString> | 
						|
</xsl:template> | 
						|
<xsl:template name="createExcelSheetname"> | 
						|
<!-- kopiert von de.superx.servlet.XmlTransformer.createExcelSheetname(String)--> | 
						|
<xsl:param name="mystring" /> | 
						|
 | 
						|
 <xsl:variable name="s1"> | 
						|
<xsl:call-template name="search_replace"> | 
						|
  <xsl:with-param name="string" select="$mystring" /> | 
						|
  <xsl:with-param name="search" select="'/'" /> | 
						|
  <xsl:with-param name="replace" select="'_'" /> | 
						|
 </xsl:call-template> | 
						|
 </xsl:variable> | 
						|
 | 
						|
 <xsl:variable name="s2"> | 
						|
<xsl:call-template name="search_replace"> | 
						|
  <xsl:with-param name="string" select="$s1" /> | 
						|
  <xsl:with-param name="search" select="'\'" /> | 
						|
  <xsl:with-param name="replace" select="'_'" /> | 
						|
 </xsl:call-template> | 
						|
 </xsl:variable> | 
						|
 | 
						|
 <xsl:variable name="s3"> | 
						|
<xsl:call-template name="search_replace"> | 
						|
  <xsl:with-param name="string" select="$s2" /> | 
						|
  <xsl:with-param name="search" select="'?'" /> | 
						|
  <xsl:with-param name="replace" select="'_'" /> | 
						|
 </xsl:call-template> | 
						|
 </xsl:variable> | 
						|
 | 
						|
 <xsl:variable name="s4"> | 
						|
<xsl:call-template name="search_replace"> | 
						|
  <xsl:with-param name="string" select="$s3" /> | 
						|
  <xsl:with-param name="search" select="'*'" /> | 
						|
  <xsl:with-param name="replace" select="'_'" /> | 
						|
 </xsl:call-template> | 
						|
 </xsl:variable> | 
						|
 | 
						|
 <xsl:variable name="s5"> | 
						|
<xsl:call-template name="search_replace"> | 
						|
  <xsl:with-param name="string" select="$s4" /> | 
						|
  <xsl:with-param name="search" select="'['" /> | 
						|
  <xsl:with-param name="replace" select="'('" /> | 
						|
 </xsl:call-template> | 
						|
 </xsl:variable> | 
						|
 | 
						|
 <xsl:variable name="s6"> | 
						|
<xsl:call-template name="search_replace"> | 
						|
  <xsl:with-param name="string" select="$s5" /> | 
						|
  <xsl:with-param name="search" select="']'" /> | 
						|
  <xsl:with-param name="replace" select="')'" /> | 
						|
 </xsl:call-template> | 
						|
 </xsl:variable> | 
						|
 <xsl:call-template name="trunc_string"> | 
						|
				<xsl:with-param name="maxlength" select="27" /> | 
						|
				<xsl:with-param name="mystring" select="$s6"/> | 
						|
	</xsl:call-template> | 
						|
</xsl:template> | 
						|
<xsl:template name="trunc_string"> | 
						|
<xsl:param name="maxlength" select="28" /> | 
						|
<xsl:param name="mystring" /> | 
						|
<xsl:choose><xsl:when test="string-length($mystring) > $maxlength"> | 
						|
<xsl:variable name="ceiling_length"><xsl:value-of select="$maxlength - 3"/></xsl:variable> | 
						|
<xsl:value-of select="concat(substring($mystring,0,$ceiling_length ),'...')"/> | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
<xsl:value-of select="$mystring"/> | 
						|
</xsl:otherwise> | 
						|
</xsl:choose> | 
						|
</xsl:template> | 
						|
<xsl:template name="getColNameEbene"> | 
						|
<xsl:param name="ergebnisElementOrdnr" select="0" /> | 
						|
<xsl:choose> | 
						|
<xsl:when test="/ergebnisse/@isMakro='true'"> | 
						|
<xsl:value-of select="concat('tab_',$ergebnisElementOrdnr,/ergebnisse/ergebnis/ergebniselement[@ordnr=$ergebnisElementOrdnr]/sqlerg/headers/header[f_name='ebene']/wert)" /> | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
<xsl:value-of select="/ergebnisse/ergebnis/ergebniselement[@ordnr=$ergebnisElementOrdnr]/sqlerg/headers/header[f_name='ebene']/wert" /> | 
						|
</xsl:otherwise> | 
						|
</xsl:choose> | 
						|
</xsl:template> | 
						|
<xsl:template name="getColHeaderText"> | 
						|
<xsl:param name="header_wert" /> | 
						|
<xsl:choose> | 
						|
<xsl:when test="contains($header_wert,'\n')"> | 
						|
<xsl:call-template name="search_replace"> | 
						|
  <xsl:with-param name="string" select="$header_wert" /> | 
						|
  <xsl:with-param name="search" select="'\n'"/> | 
						|
<xsl:with-param name="replace" select="'
'"/> | 
						|
</xsl:call-template> | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
<xsl:value-of select="$header_wert" /> | 
						|
</xsl:otherwise> | 
						|
</xsl:choose> | 
						|
</xsl:template> | 
						|
<xsl:template name="tableCellPatternExpression"> | 
						|
<xsl:param name="fieldType"  /> | 
						|
<xsl:param name="ergebnisElementOrdnr"/> | 
						|
<xsl:param name="fieldName" /> | 
						|
<patternExpression> | 
						|
<xsl:choose> | 
						|
<xsl:when test="$fieldType='4'"> <!--integer--> | 
						|
<xsl:text>"#,##0"</xsl:text> | 
						|
</xsl:when> | 
						|
<xsl:when test="$fieldType='3'"> <!--decimal--> | 
						|
<xsl:text>"#,##0.00;-#,##0.00"</xsl:text> | 
						|
</xsl:when> | 
						|
<xsl:when test="$fieldType='6'"> <!--date--> | 
						|
<xsl:text>"dd.MM.yyyy"</xsl:text> | 
						|
</xsl:when> | 
						|
<xsl:when test="$fieldType='8'"> <!--timestamp--> | 
						|
<xsl:text>"dd.MM.yyyy hh:mm:ss"</xsl:text> | 
						|
</xsl:when> | 
						|
<xsl:when test="$fieldType='9'"> <!--time--> | 
						|
<xsl:text>"hh:mm:ss"</xsl:text> | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
</xsl:otherwise> | 
						|
</xsl:choose> | 
						|
</patternExpression> | 
						|
</xsl:template> | 
						|
<xsl:template name="newline_to_backslash_n"> | 
						|
    <xsl:param name="string"/> | 
						|
    <xsl:choose> | 
						|
        <xsl:when test="contains($string,'
')">	 | 
						|
            <xsl:value-of select="substring-before($string,'
')"/> | 
						|
            <xsl:text>\n</xsl:text> | 
						|
            <xsl:call-template name="newline_to_backslash_n"> | 
						|
                <xsl:with-param name="string" select="substring-after($string,'
')"/> | 
						|
            </xsl:call-template> | 
						|
        </xsl:when> | 
						|
        <xsl:otherwise> | 
						|
            <xsl:value-of select="$string"/> | 
						|
        </xsl:otherwise> | 
						|
    </xsl:choose> | 
						|
</xsl:template> | 
						|
<xsl:template name="legendLabelAndContent"> | 
						|
<xsl:param name="ergebniselementOrdnr" select="0" /> | 
						|
<xsl:param name="subReportTitleHeight" select="10" /> | 
						|
<xsl:param name="druckbreite" select="842" /> | 
						|
<xsl:param name="legendLabelHeight" select="10" /> | 
						|
<xsl:param name="legendContentHeight" select="50" /> | 
						|
 | 
						|
 | 
						|
<textField> | 
						|
<reportElement style="LegendLabel" x="0" y="{$subReportTitleHeight}" width="{$druckbreite}" height="{$legendLabelHeight}" /> | 
						|
<textElement verticalAlignment="Bottom"> | 
						|
<font isBold="true"/> | 
						|
</textElement> | 
						|
<textFieldExpression><![CDATA["Filterkriterien: "]]></textFieldExpression> | 
						|
</textField> | 
						|
 | 
						|
<textField isStretchWithOverflow="true"> | 
						|
<reportElement style="LegendContent" isPrintWhenDetailOverflows="true" x="0" y="{$subReportTitleHeight + $legendLabelHeight}" width="{$druckbreite}" height="{$legendContentHeight}" /> | 
						|
<box topPadding="10" leftPadding="2" bottomPadding="10" rightPadding="2"/> | 
						|
<textFieldExpression> | 
						|
<xsl:call-template name="getLegendExpression"> | 
						|
<xsl:with-param name="ergebniselementOrdnr" select="$ergebniselementOrdnr"/> | 
						|
</xsl:call-template> | 
						|
<xsl:text disable-output-escaping="yes"><![CDATA[ +"Datenstand: "+ $F{standdatum} + "; " + "Erstellt: "+ DATEFORMAT( TODAY(), "dd.MM.YYYY")]]></xsl:text></textFieldExpression> | 
						|
</textField> | 
						|
</xsl:template> | 
						|
<xsl:template name="getLastVisibleColumInRow"> | 
						|
<xsl:param name="currentColId"  /> | 
						|
<xsl:param name="remainingRows"  /> | 
						|
<!--ermittelt ob eine Spalte die letzte sichtbare ist | 
						|
bei verknüpften Spalten ist die letzte Header-Zeile immer relevant, egal ob sichtbar oder nicht. | 
						|
Zurückgegeben werden die Anzahl der sichtbaren Zellen als "+", | 
						|
d.h. genau ein "+" bedeutet, dass es die letzte Spalte ist. | 
						|
-->  | 
						|
<xsl:for-each select="../th"> | 
						|
<xsl:variable name="nr" select="position()" /> | 
						|
<xsl:if test="$nr >  $currentColId and (@isHidden='false' or $remainingRows=0)"> | 
						|
<xsl:text>+</xsl:text> | 
						|
</xsl:if> | 
						|
</xsl:for-each> | 
						|
</xsl:template> | 
						|
<xsl:template name="pageFooter"> | 
						|
<xsl:param name="seitenbreite" select="842" /> | 
						|
	<pageFooter> | 
						|
		<band height="15"> | 
						|
			<staticText> | 
						|
				<reportElement mode="Transparent" x="0" y="3" width="89" height="12" forecolor="#000000" backcolor="#FFFFFF"/> | 
						|
				<textElement textAlignment="Left" verticalAlignment="Top" rotation="None" lineSpacing="Single" markup="none"> | 
						|
					<font fontName="Liberation Sans" size="10" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfFontName="Liberation Sans" pdfEncoding="Cp1252" isPdfEmbedded="false"/> | 
						|
				</textElement> | 
						|
				<text><xsl:text><![CDATA[Erzeugungsdatum:]]></xsl:text></text> | 
						|
			</staticText> | 
						|
			<textField pattern="dd.MM.yyyy"> | 
						|
				<reportElement mode="Transparent" x="89" y="3" width="96" height="12" forecolor="#000000" backcolor="#FFFFFF"/> | 
						|
				<textElement textAlignment="Left" verticalAlignment="Top" rotation="None" lineSpacing="Single" markup="none"> | 
						|
					<font fontName="Liberation Sans" size="10" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfFontName="Liberation Sans" pdfEncoding="Cp1252" isPdfEmbedded="false"/> | 
						|
				</textElement> | 
						|
				<textFieldExpression class="java.util.Date"><xsl:text><![CDATA[new java.util.Date()]]></xsl:text></textFieldExpression> | 
						|
			</textField> | 
						|
			<textField evaluationTime="Report" isBlankWhenNull="false"> | 
						|
				<reportElement key="textField" x="{$seitenbreite - 69 }" y="3" width="39" height="12"/> | 
						|
				<box> | 
						|
					<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> | 
						|
					<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> | 
						|
					<bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> | 
						|
					<rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> | 
						|
				</box> | 
						|
				<textElement> | 
						|
					<font fontName="Liberation Sans" size="10"/> | 
						|
				</textElement> | 
						|
				<textFieldExpression class="java.lang.String"><xsl:text><![CDATA["" + $V{PAGE_NUMBER} + ""]]></xsl:text></textFieldExpression> | 
						|
			</textField> | 
						|
			<textField isBlankWhenNull="false"> | 
						|
				<reportElement key="textField" x="{$seitenbreite - 166 }" y="3" width="94" height="12"/> | 
						|
				<box> | 
						|
					<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> | 
						|
					<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> | 
						|
					<bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> | 
						|
					<rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> | 
						|
				</box> | 
						|
				<textElement textAlignment="Right"> | 
						|
					<font fontName="Liberation Sans" size="10"/> | 
						|
				</textElement> | 
						|
				<textFieldExpression class="java.lang.String"><xsl:text><![CDATA["Seite " + $V{PAGE_NUMBER} + " von "]]></xsl:text></textFieldExpression> | 
						|
			</textField> | 
						|
		</band> | 
						|
	</pageFooter> | 
						|
</xsl:template> | 
						|
<xsl:template name="sumLabel" > | 
						|
<xsl:param name="level" /> | 
						|
<xsl:choose> | 
						|
<xsl:when test="$level=1"> | 
						|
<xsl:text>Gesamtsumme</xsl:text> | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
<xsl:text>Summe</xsl:text> | 
						|
</xsl:otherwise> | 
						|
</xsl:choose> | 
						|
</xsl:template> | 
						|
<xsl:template name="isFieldDeclaredInGroupBand"> | 
						|
<xsl:param name="fieldName" /> | 
						|
<xsl:param name="groupbyField"  /> | 
						|
<xsl:param name="groupLayoutElem"  /> | 
						|
<xsl:param name="headerOrFooter"  /> | 
						|
<xsl:choose> | 
						|
<xsl:when test="$headerOrFooter='header'"> | 
						|
<xsl:choose> | 
						|
<xsl:when test="count($groupLayoutElem/groupLayout/group[@name=$groupbyField]/header/field[@name=$fieldName])=0"> | 
						|
<xsl:text>false</xsl:text> | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
<xsl:text>true</xsl:text> | 
						|
</xsl:otherwise> | 
						|
</xsl:choose> | 
						|
</xsl:when> | 
						|
<xsl:when test="$headerOrFooter='footer'"> | 
						|
<xsl:choose> | 
						|
<xsl:when test="count($groupLayoutElem/groupLayout/group[@name=$groupbyField]/footer/field[@name=$fieldName])=0"> | 
						|
<xsl:text>false</xsl:text> | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
<xsl:text>true</xsl:text> | 
						|
</xsl:otherwise> | 
						|
</xsl:choose> | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
<xsl:text>false</xsl:text> | 
						|
</xsl:otherwise> | 
						|
</xsl:choose> | 
						|
 | 
						|
</xsl:template> | 
						|
<xsl:template name="getDeclaredWidthInGroupBand"> | 
						|
<xsl:param name="fieldName" /> | 
						|
<xsl:param name="groupbyField"  /> | 
						|
<xsl:param name="groupLayoutElem"  /> | 
						|
<xsl:param name="headerOrFooter"  /> | 
						|
<xsl:param name="druckbreite"/> | 
						|
<xsl:param name="std_spaltenbreite" /> | 
						|
<xsl:param name="ergebniselementOrdnr" select="'0'"/> | 
						|
<xsl:param name="colId" /> | 
						|
<xsl:param name="colCount" /> | 
						|
<xsl:param name="previousX"/> | 
						|
 | 
						|
<xsl:variable name="replacesFieldName"> | 
						|
<xsl:choose> | 
						|
<xsl:when test="$headerOrFooter='header'"> | 
						|
<xsl:value-of select="$groupLayoutElem/groupLayout/group[@name=$groupbyField]/header/field[@name=$fieldName]/@replaces"/> | 
						|
</xsl:when> | 
						|
<xsl:when test="$headerOrFooter='footer'"> | 
						|
<xsl:value-of select="$groupLayoutElem/groupLayout/group[@name=$groupbyField]/footer/field[@name=$fieldName]/@replaces"/> | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
</xsl:otherwise> | 
						|
</xsl:choose> | 
						|
</xsl:variable> | 
						|
<xsl:variable name="colIdRuntime"> | 
						|
<xsl:choose> | 
						|
<xsl:when test="$replacesFieldName=''"> | 
						|
<xsl:value-of select="$colId"/> | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
<xsl:value-of select="/ergebnisse/ergebnis[@ordnr=$ergebniselementOrdnr]/ergebniselement/sqlerg/complete_headers/header[wert=$replacesFieldName]/@id"/> | 
						|
</xsl:otherwise> | 
						|
</xsl:choose> | 
						|
</xsl:variable> | 
						|
<xsl:call-template name="getColumnwidth"> | 
						|
<xsl:with-param name="druckbreite" select="$druckbreite"/> | 
						|
<xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite"/> | 
						|
<xsl:with-param name="ergebniselementOrdnr" select="$ergebniselementOrdnr"/> | 
						|
<xsl:with-param name="colId" select="$colIdRuntime" /> | 
						|
<xsl:with-param name="colCount" select="$colCount"/> | 
						|
<xsl:with-param name="previousX" select="$previousX"/> | 
						|
</xsl:call-template> | 
						|
<!-- | 
						|
<xsl:choose> | 
						|
<xsl:when test="$headerOrFooter='header'"> | 
						|
<xsl:value-of select="$groupLayoutElem/groupLayout/group/header/field[@name=$fieldName]/@width"/> | 
						|
</xsl:when> | 
						|
<xsl:when test="$headerOrFooter='footer'"> | 
						|
<xsl:value-of select="$groupLayoutElem/groupLayout/group/footer/field[@name=$fieldName]/@width"/> | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
<xsl:text>0</xsl:text> | 
						|
</xsl:otherwise> | 
						|
</xsl:choose> | 
						|
--> | 
						|
</xsl:template> | 
						|
<xsl:template name="getDeclaredFieldPrefixInGroupBand"> | 
						|
<xsl:param name="fieldName" /> | 
						|
<xsl:param name="groupbyField"  /> | 
						|
<xsl:param name="groupLayoutElem"  /> | 
						|
<xsl:param name="headerOrFooter"  /> | 
						|
 | 
						|
<xsl:choose> | 
						|
<xsl:when test="$headerOrFooter='header'"> | 
						|
<xsl:value-of select="$groupLayoutElem/groupLayout/group[@name=$groupbyField]/header/field[@name=$fieldName]/@prefix"/> | 
						|
</xsl:when> | 
						|
<xsl:when test="$headerOrFooter='footer'"> | 
						|
<xsl:value-of select="$groupLayoutElem/groupLayout/group[@name=$groupbyField]/footer/field[@name=$fieldName]/@prefix"/> | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
</xsl:otherwise> | 
						|
</xsl:choose> | 
						|
</xsl:template> | 
						|
<xsl:template name="getDeclaredFieldLabelInGroupBand"> | 
						|
<xsl:param name="fieldName" /> | 
						|
<xsl:param name="groupbyField"  /> | 
						|
<xsl:param name="groupLayoutElem"  /> | 
						|
<xsl:param name="headerOrFooter"  /> | 
						|
 | 
						|
<xsl:choose> | 
						|
<xsl:when test="$headerOrFooter='header'"> | 
						|
<xsl:value-of select="$groupLayoutElem/groupLayout/group[@name=$groupbyField]/header/field[@name=$fieldName]/@label"/> | 
						|
</xsl:when> | 
						|
<xsl:when test="$headerOrFooter='footer'"> | 
						|
<xsl:value-of select="$groupLayoutElem/groupLayout/group[@name=$groupbyField]/footer/field[@name=$fieldName]/@label"/> | 
						|
</xsl:when> | 
						|
<xsl:otherwise> | 
						|
</xsl:otherwise> | 
						|
</xsl:choose> | 
						|
</xsl:template> | 
						|
<xsl:template name="additionalStyles" > | 
						|
<!-- can be overriden with rpta_templates_final.xsl --> | 
						|
</xsl:template> | 
						|
</xsl:stylesheet>
 | 
						|
 |