Browse Source

Add ant build test #1

rpta_0.1_Release
Daniel Quathamer 1 year ago
parent
commit
8a3b6c7d01
  1. 114
      build.xml
  2. 34
      superx/xml/rpta_templates.xsl
  3. 897
      superx/xml/xsl_functions.xsl
  4. 938
      test/booklet_ohne_cover/71420_sub_0.jrxml
  5. 288
      test/booklet_ohne_cover/71420_sub_1.jrxml
  6. 250
      test/booklet_ohne_cover/71420_sub_2.jrxml
  7. 33309
      test/booklet_ohne_cover/benutzerrahmen.xml
  8. 2332
      test/tabelle_a4_quer/stud_zeitreihe.xml

114
build.xml

@ -21,6 +21,11 @@
<condition property="isUnix"> <condition property="isUnix">
<os family="unix" /> <os family="unix" />
</condition> </condition>
<target name="init">
<tstamp>
<format property="SX_TIMESTAMP" pattern="dd.MM.yyyy HH:mm:ss" />
</tstamp>
</target>
<target name="help" description="Bedienung"> <target name="help" description="Bedienung">
<echo message="Aufruf: " /> <echo message="Aufruf: " />
<echo message="ant -DMODULE_PATH=$RPTA_PFAD -DBASE_DIR=. -DWEBAPP=$WEBAPP -DMODULE=rpta all" /> <echo message="ant -DMODULE_PATH=$RPTA_PFAD -DBASE_DIR=. -DWEBAPP=$WEBAPP -DMODULE=rpta all" />
@ -57,7 +62,7 @@
<fileset dir="${MODULE_PATH}/../../conf" includes="module_scripts_create_ant.xml" /> <fileset dir="${MODULE_PATH}/../../conf" includes="module_scripts_create_ant.xml" />
</subant> </subant>
</target> </target>
<target name="dist" description="Create Download package"> <target name="dist" description="Create Download package">
<subant target="erzeuge_paket"> <subant target="erzeuge_paket">
<!--<property name="basedir" value="${MODULE_PATH}/../../conf/" />--> <!--<property name="basedir" value="${MODULE_PATH}/../../conf/" />-->
<property name="MODULE" value="${MODULE}" /> <property name="MODULE" value="${MODULE}" />
@ -72,5 +77,110 @@
<fileset dir="${MODULE_PATH}/../../conf" includes="build.xml" /> <fileset dir="${MODULE_PATH}/../../conf" includes="build.xml" />
</subant> </subant>
</target> </target>
<target name="xml2jrxml_tabelle_a4_quer" description="Target: aus einer XML-Datei (SuperX-Bericht XML-Export) eine JRXML-Datei"
depends="init">
<!-- Aufruf:
ant -DXML=stud_zeitreihe.xml -DWEBAPP=$WEBAPP -DTARGET_NAME=tmp xml2jrxml_tabelle_a4_quer
-->
<java classname="net.sf.saxon.Transform" fork="yes" failonerror="true"
dir="./superx/WEB-INF/reports">
<sysproperty key="DEBUG" value="true" />
<arg value="-o:${moduleCreateBaseDir}/test/tabelle_a4_quer/${TARGET_NAME}.jrxml" />
<arg value="-xsl:${moduleCreateBaseDir}/superx/xml/tabelle_jrxml_a4_quer.xsl" />
<arg value="-s:${moduleCreateBaseDir}/test/tabelle_a4_quer/${XML}" />
<classpath refid="classpath" />
</java>
<echo message="Datei erzeugt: ./test/tabelle_a4_quer/${TARGET_NAME}.jrxml (${SX_TIMESTAMP})" />
</target>
<target name="jrxml2pdf_tabelle_a4_quer" description="Target: aus einer XML-Datei (SuperX-Bericht XML-Export) + JRXML-Datei einen PDF Export erzeugen"
depends="init,xml2jrxml_tabelle_a4_quer">
<!-- Aufruf:
ant -DXML=stud_zeitreihe.xml -DWEBAPP=$WEBAPP -DTARGET_NAME=tmp jrxml2pdf_tabelle_a4_quer
-->
<java classname="de.superx.bin.SxJasper" fork="yes" failonerror="true"
dir="./superx/WEB-INF/reports">
<arg value="-logger:${WEBAPP}/WEB-INF/conf/edustore/db/conf/logging.properties" />
<arg value="-db_properties:${WEBAPP}/WEB-INF/db.properties" />
<arg value="-OUT:${moduleCreateBaseDir}/test/tabelle_a4_quer/${TARGET_NAME}.pdf" />
<arg value="-JRXML:${moduleCreateBaseDir}/test/tabelle_a4_quer/${TARGET_NAME}.jrxml" />
<arg value="-XML:${moduleCreateBaseDir}/test/tabelle_a4_quer/${XML}" />
<classpath refid="classpath" />
</java>
<delete includeemptydirs="true">
<fileset dir="./test/tabelle_a4_quer/" includes="**/*.jrprint,**/*.groovy"/>
</delete>
<echo message="Datei erzeugt: ./test/tabelle_a4_quer/${TARGET_NAME}.pdf (${SX_TIMESTAMP})" />
</target>
<target name="xml2jrxml_booklet_ohne_cover" description="Target: aus einer XML-Datei (SuperX-Bericht XML-Export) eine JRXML-Datei"
depends="init">
<!-- Aufruf:
ant -DXML=benutzerrahmen.xml -DWEBAPP=$WEBAPP -DTARGET_NAME=tmp xml2jrxml_booklet_ohne_cover
-->
<java classname="net.sf.saxon.Transform" fork="yes" failonerror="true"
dir="./superx/WEB-INF/reports">
<sysproperty key="DEBUG" value="true" />
<arg value="-o:${moduleCreateBaseDir}/test/booklet_ohne_cover/${TARGET_NAME}.jrxml" />
<arg value="-xsl:${moduleCreateBaseDir}/superx/xml/tabelle_jrxml_book_without_cover.xsl" />
<arg value="-s:${moduleCreateBaseDir}/test/booklet_ohne_cover/${XML}" />
<classpath refid="classpath" />
</java>
<echo message="Datei erzeugt: ./test/booklet_ohne_cover/${TARGET_NAME}.jrxml (${SX_TIMESTAMP})" />
</target>
<target name="jrxml2pdf_booklet_ohne_cover" description="Target: aus einer XML-Datei (SuperX-Bericht XML-Export) + JRXML-Datei einen PDF Export erzeugen"
depends="init,xml2jrxml_booklet_ohne_cover">
<!-- Aufruf:
ant -DXML=benutzerrahmen.xml -DWEBAPP=$WEBAPP -DTARGET_NAME=tmp jrxml2pdf_booklet_ohne_cover
-->
<taskdef name="jrc" classname="net.sf.jasperreports.ant.JRAntCompileTask">
<classpath refid="classpath"/>
</taskdef>
<jrc
srcdir="${moduleCreateBaseDir}/test/booklet_ohne_cover"
destdir="${moduleCreateBaseDir}/test/booklet_ohne_cover"
tempdir="${moduleCreateBaseDir}/test/booklet_ohne_cover"
keepjava="true"
xmlvalidation="true">
<classpath refid="classpath"/>
<include name="**/*.jrxml"/>
</jrc>
<java classname="de.superx.bin.SxJasper" fork="yes" failonerror="true"
dir="./superx/WEB-INF/reports">
<arg value="-logger:${WEBAPP}/WEB-INF/conf/edustore/db/conf/logging.properties" />
<arg value="-db_properties:${WEBAPP}/WEB-INF/db.properties" />
<arg value="-OUT:${moduleCreateBaseDir}/test/booklet_ohne_cover/${TARGET_NAME}.pdf" />
<arg value="-JRXML:${moduleCreateBaseDir}/test/booklet_ohne_cover/${TARGET_NAME}.jrxml" />
<arg value="-XML:${moduleCreateBaseDir}/test/booklet_ohne_cover/${XML}" />
<arg value="-IGNORE_PAGINATION:false" />
<classpath refid="classpath" />
</java>
<delete includeemptydirs="true">
<fileset dir="./test/booklet_ohne_cover/" includes="**/*.jrprint,**/*.groovy"/>
</delete>
<echo message="Datei erzeugt: ./test/booklet_ohne_cover/${TARGET_NAME}.pdf (${SX_TIMESTAMP})" />
</target>
<target name="test" description="Execute test cases">
<!-- Ausführen mit
ant -DWEBAPP=$WEBAPP test
-->
<antcall target="jrxml2pdf_tabelle_a4_quer">
<param name="XML" value="stud_zeitreihe.xml" />
<param name="TARGET_NAME" value="tmp" />
<param name="WEBAPP" value="${WEBAPP}" />
</antcall>
<antcall target="jrxml2pdf_booklet_ohne_cover">
<param name="XML" value="benutzerrahmen.xml" />
<param name="TARGET_NAME" value="tmp" />
<param name="WEBAPP" value="${WEBAPP}" />
</antcall>
</target>
</project> </project>

34
superx/xml/rpta_templates.xsl

@ -126,7 +126,7 @@ isIgnorePagination="{$isIgnorePagination}" >
<xsl:with-param name="colId" select="@id" /> <xsl:with-param name="colId" select="@id" />
<xsl:with-param name="x" select="$columnX" /> <xsl:with-param name="x" select="$columnX" />
<xsl:with-param name="width" select="$columnWidth" /> <xsl:with-param name="width" select="$columnWidth" />
<xsl:with-param name="height" select="$std_zeilenhoehe_tablerow" /> <xsl:with-param name="std_zeilenhoehe_tablerow" select="$std_zeilenhoehe_tablerow" />
<xsl:with-param name="flavorTableRowStyle" select="'treeTable'" /> <xsl:with-param name="flavorTableRowStyle" select="'treeTable'" />
<xsl:with-param name="tableRowLevel" select="1" /> <xsl:with-param name="tableRowLevel" select="1" />
<xsl:with-param name="maxLevel" select="10"/> <xsl:with-param name="maxLevel" select="10"/>
@ -184,13 +184,14 @@ isIgnorePagination="{$isIgnorePagination}" >
</xsl:variable> </xsl:variable>
<xsl:call-template name="tableRowStyle"> <xsl:call-template name="tableRowStyle">
<xsl:with-param name="flavorTableRowStyle" select="$flavorTableRowStyle" /> <xsl:with-param name="flavorTableRowStyle" select="$flavorTableRowStyle" />
<xsl:with-param name="ergebniselementOrdnr" select="$ergebniselementOrdnr" />
</xsl:call-template> </xsl:call-template>
</xsl:template> </xsl:template>
<xsl:template name="tableRowStyle"> <xsl:template name="tableRowStyle">
<xsl:param name="flavorTableRowStyle" select="'listAlternatingBg'" /> <xsl:param name="flavorTableRowStyle" select="'listAlternatingBg'" />
<xsl:param name="ergebniselementOrdnr" select="0" /> <xsl:param name="ergebniselementOrdnr" select="0" />
<xsl:if test="$flavorTableRowStyle='listAlternatingBg'"> <!--<xsl:if test="$flavorTableRowStyle='listAlternatingBg'">-->
<style name="TableRowDetail" mode="Opaque" forecolor="#000000" backcolor="#FFFFFF" hTextAlign="Right" vTextAlign="Middle" isBlankWhenNull="true" fontName="{$font}" fontSize="8"> <style name="TableRowDetail" mode="Opaque" forecolor="#000000" backcolor="#FFFFFF" hTextAlign="Right" vTextAlign="Middle" isBlankWhenNull="true" fontName="{$font}" fontSize="8">
<box rightPadding="2"> <box rightPadding="2">
<pen lineColor="#FFFFFF"/> <pen lineColor="#FFFFFF"/>
@ -201,7 +202,7 @@ isIgnorePagination="{$isIgnorePagination}" >
<style mode="Opaque" forecolor="#000000" backcolor="#E3E8EB"/> <style mode="Opaque" forecolor="#000000" backcolor="#E3E8EB"/>
</conditionalStyle> </conditionalStyle>
</style> </style>
</xsl:if> <!--</xsl:if>-->
</xsl:template> </xsl:template>
@ -502,14 +503,19 @@ isIgnorePagination="{$isIgnorePagination}" >
</xsl:attribute> </xsl:attribute>
<reportElement stretchType="ContainerHeight" x="{$x}" y="0" width="{$width}" height="{$height}" > <reportElement stretchType="ContainerHeight" x="{$x}" y="0" width="{$width}" height="{$height}" >
<xsl:attribute name="style"> <xsl:attribute name="style">
<xsl:call-template name="TableRowStyle" > <xsl:call-template name="getTableRowStyle" >
<xsl:with-param name="flavorTableRowStyle" select="$flavorTableRowStyle"/> <xsl:with-param name="flavorTableRowStyle" select="$flavorTableRowStyle"/>
<xsl:with-param name="tableRowLevel" select="$flavorTableRowStyle"/> <xsl:with-param name="tableRowLevel" select="$tableRowLevel"/>
<xsl:with-param name="ergebnisElementOrdnr" select="$ergebnisElementOrdnr" /> <xsl:with-param name="ergebnisElementOrdnr" select="$ergebnisElementOrdnr" />
</xsl:call-template> </xsl:call-template>
</xsl:attribute> </xsl:attribute>
<xsl:if test="$flavorTableRowStyle='treeTable'"> <xsl:if test="$flavorTableRowStyle='treeTable'">
<printWhenExpression><xsl:value-of select="concat('$F{Ebene}==',$tableRowLevel)" /></printWhenExpression> <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> </xsl:if>
</reportElement> </reportElement>
<xsl:if test="$fieldType!='3' and $fieldType!='4' "><!--Zahlen immer rechtsbündig, alles andere links--> <xsl:if test="$fieldType!='3' and $fieldType!='4' "><!--Zahlen immer rechtsbündig, alles andere links-->
@ -745,6 +751,7 @@ isIgnorePagination="{$isIgnorePagination}" >
<xsl:param name="width" /> <xsl:param name="width" />
<xsl:param name="flavorTableRowStyle" /> <xsl:param name="flavorTableRowStyle" />
<xsl:param name="tableRowLevel" /> <xsl:param name="tableRowLevel" />
<xsl:param name="std_zeilenhoehe_tablerow" select="25" />
<xsl:param name="maxLevel" select="10"/> <xsl:param name="maxLevel" select="10"/>
<xsl:if test="$tableRowLevel &lt;= $maxLevel"> <xsl:if test="$tableRowLevel &lt;= $maxLevel">
@ -755,6 +762,7 @@ isIgnorePagination="{$isIgnorePagination}" >
<xsl:with-param name="colId" select="$colId" /> <xsl:with-param name="colId" select="$colId" />
<xsl:with-param name="x" select="$x" /> <xsl:with-param name="x" select="$x" />
<xsl:with-param name="width" select="$width" /> <xsl:with-param name="width" select="$width" />
<xsl:with-param name="height" select="$std_zeilenhoehe_tablerow" />
<xsl:with-param name="flavorTableRowStyle" select="$flavorTableRowStyle" /> <xsl:with-param name="flavorTableRowStyle" select="$flavorTableRowStyle" />
</xsl:call-template> </xsl:call-template>
<xsl:call-template name="jr_textfield_levelx"> <xsl:call-template name="jr_textfield_levelx">
@ -764,12 +772,13 @@ isIgnorePagination="{$isIgnorePagination}" >
<xsl:with-param name="colId" select="$colId" /> <xsl:with-param name="colId" select="$colId" />
<xsl:with-param name="x" select="$x" /> <xsl:with-param name="x" select="$x" />
<xsl:with-param name="width" select="$width" /> <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="flavorTableRowStyle" select="$flavorTableRowStyle" />
<xsl:with-param name="tableRowLevel" select="$tableRowLevel + 1" /> <xsl:with-param name="tableRowLevel" select="$tableRowLevel + 1" />
</xsl:call-template> </xsl:call-template>
</xsl:if> </xsl:if>
</xsl:template> </xsl:template>
<xsl:template name="TableRowStyle"> <xsl:template name="getTableRowStyle">
<xsl:param name="flavorTableRowStyle"/> <xsl:param name="flavorTableRowStyle"/>
<xsl:param name="tableRowLevel"/> <xsl:param name="tableRowLevel"/>
<xsl:param name="ergebnisElementOrdnr" select="0" /> <xsl:param name="ergebnisElementOrdnr" select="0" />
@ -867,4 +876,15 @@ isIgnorePagination="{$isIgnorePagination}" >
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
</xsl:template> </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:stylesheet> </xsl:stylesheet>

897
superx/xml/xsl_functions.xsl

@ -0,0 +1,897 @@
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xml:output method="text" indent="yes"/>
<xsl:template name="ucase">
<xsl:param name="s1"/>
<xsl:value-of select="translate($s1,'abcdefghijklmnopqrstuvwxyz ','ABCDEFGHIJKLMNOPQRSTUVWXYZ_')" />
</xsl:template>
<xsl:template name="lcase">
<xsl:param name="s1"/>
<xsl:value-of select="translate($s1,'ABCDEFGHIJKLMNOPQRSTUVWXYZ ','abcdefghijklmnopqrstuvwxyz_')" />
</xsl:template>
<!-- start umlaut_url-->
<xsl:template name="umlaut_urlencode">
<xsl:param name="s1"/>
<xsl:variable name="r1" >
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$s1" /> <!--ä ist an position 23-->
<xsl:with-param name="search" select="'%'" />
<xsl:with-param name="replace" select="'%25'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r2" >
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r1" />
<xsl:with-param name="search" select="'ö'" />
<xsl:with-param name="replace" select="'%F6'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r3" >
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r2" />
<xsl:with-param name="search" select="'ü'" />
<xsl:with-param name="replace" select="'%FC'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r4" >
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r3" />
<xsl:with-param name="search" select="'Ä'" />
<xsl:with-param name="replace" select="'%C4'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r5" >
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r4" />
<xsl:with-param name="search" select="'Ö'" />
<xsl:with-param name="replace" select="'%D6'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r6" >
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r5" />
<xsl:with-param name="search" select="'Ü'" />
<xsl:with-param name="replace" select="'%DC'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r7" >
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r6" />
<xsl:with-param name="search" select="'='" />
<xsl:with-param name="replace" select="'%3D'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r8">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r7" />
<xsl:with-param name="search" select="'ß'" />
<xsl:with-param name="replace" select="'%DF'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r9">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r8" />
<xsl:with-param name="search" select="'$'" />
<xsl:with-param name="replace" select="'%24'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="amp"><![CDATA[&]]></xsl:variable>
<xsl:variable name="r10">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r9" />
<xsl:with-param name="search" select="$amp" />
<xsl:with-param name="replace" select="'%26'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r11">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r10" />
<xsl:with-param name="search" select="'+'" />
<xsl:with-param name="replace" select="'%2B'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r12">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r11" />
<xsl:with-param name="search" select="','" />
<xsl:with-param name="replace" select="'%2C'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r13">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r12" />
<xsl:with-param name="search" select="'/'" />
<xsl:with-param name="replace" select="'%2F'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r14">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r13" />
<xsl:with-param name="search" select="':'" />
<xsl:with-param name="replace" select="'%3A'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r15">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r14" />
<xsl:with-param name="search" select="';'" />
<xsl:with-param name="replace" select="'%3B'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r16">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r15" />
<xsl:with-param name="search" select="'='" />
<xsl:with-param name="replace" select="'%3D'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r17">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r16" />
<xsl:with-param name="search" select="'?'" />
<xsl:with-param name="replace" select="'%3F'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r18">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r17" />
<xsl:with-param name="search" select="'@'" />
<xsl:with-param name="replace" select="'%40'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="quot">"</xsl:variable>
<xsl:variable name="r19">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r18" />
<xsl:with-param name="search" select="$quot" />
<xsl:with-param name="replace" select="'%22'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="lt"><![CDATA[<]]></xsl:variable>
<xsl:variable name="r20">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r19" />
<xsl:with-param name="search" select="$lt" />
<xsl:with-param name="replace" select="'%3C'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="gt"><![CDATA[>]]></xsl:variable>
<xsl:variable name="r21">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r20" />
<xsl:with-param name="search" select="$gt" />
<xsl:with-param name="replace" select="'%3E'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r22">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r21" />
<xsl:with-param name="search" select="'#'" />
<xsl:with-param name="replace" select="'%23'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r23">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r22" />
<xsl:with-param name="search" select="'ä'" />
<xsl:with-param name="replace" select="'%E4'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r24">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r23" />
<xsl:with-param name="search" select="'{'" />
<xsl:with-param name="replace" select="'%7B'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r25">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r24" />
<xsl:with-param name="search" select="'}'" />
<xsl:with-param name="replace" select="'%7D'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r26">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r25" />
<xsl:with-param name="search" select="'|'" />
<xsl:with-param name="replace" select="'%7C'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r27">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r26" />
<xsl:with-param name="search" select="'\'" />
<xsl:with-param name="replace" select="'%5C'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r28">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r27" />
<xsl:with-param name="search" select="'^'" />
<xsl:with-param name="replace" select="'%5E'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r29">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r28" />
<xsl:with-param name="search" select="'~'" />
<xsl:with-param name="replace" select="'%7E'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r30">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r29" />
<xsl:with-param name="search" select="'['" />
<xsl:with-param name="replace" select="'%5B'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r31">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r30" />
<xsl:with-param name="search" select="']'" />
<xsl:with-param name="replace" select="'%5D'" />
</xsl:call-template>
</xsl:variable>
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r31" />
<xsl:with-param name="search" select="' '" />
<xsl:with-param name="replace" select="'%20'" />
</xsl:call-template>
</xsl:template>
<!-- end umlaut-->
<!-- start ohne umlaut -->
<xsl:template name="ohne_umlaut">
<xsl:param name="s1"/>
<xsl:variable name="r1" >
<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="'ae'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r2" >
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r1" />
<xsl:with-param name="search" select="'ö'" />
<xsl:with-param name="replace" select="'oe'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r3" >
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r2" />
<xsl:with-param name="search" select="'ü'" />
<xsl:with-param name="replace" select="'ue'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r4" >
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r3" />
<xsl:with-param name="search" select="'Ä'" />
<xsl:with-param name="replace" select="'Ae'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r5" >
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r4" />
<xsl:with-param name="search" select="'Ö'" />
<xsl:with-param name="replace" select="'Oe'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r6" >
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r5" />
<xsl:with-param name="search" select="'Ü'" />
<xsl:with-param name="replace" select="'Ue'" />
</xsl:call-template>
</xsl:variable>
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r6" />
<xsl:with-param name="search" select="'ß'" />
<xsl:with-param name="replace" select="'ss'" />
</xsl:call-template>
</xsl:template>
<xsl:template name="lcase_ohne_umlaut">
<xsl:param name="zs"/>
<xsl:variable name="r10" >
<xsl:call-template name="ohne_umlaut">
<xsl:with-param name="s1" select="$zs" />
</xsl:call-template>
</xsl:variable>
<xsl:call-template name="lcase">
<xsl:with-param name="s1" select="$r10" />
</xsl:call-template>
</xsl:template>
<xsl:template name="ucase_ohne_umlaut">
<xsl:param name="zs"/>
<xsl:variable name="r10" >
<xsl:call-template name="ohne_umlaut">
<xsl:with-param name="s1" select="$zs" />
</xsl:call-template>
</xsl:variable>
<xsl:call-template name="ucase">
<xsl:with-param name="s1" select="$r10" />
</xsl:call-template>
</xsl:template>
<xsl:template name="lcaseOhneUmlaut_alt">
<xsl:param name="s1"/>
<xsl:value-of select="translate($s1,'ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜßäöü ','abcdefghijklmnopqrstuvwxyzaousaou_')" />
</xsl:template>
<xsl:template name="search_replace">
<xsl:param name="string" />
<xsl:param name="search" />
<xsl:param name="replace" />
<xsl:choose>
<xsl:when test="not($string)" />
<xsl:when test="contains($string, $search)">
<xsl:value-of select="substring-before($string, $search)" />
<xsl:value-of select="$replace" />
<xsl:call-template name="search_replace">
<xsl:with-param name="string"
select="substring-after($string, $search)" />
<xsl:with-param name="search"
select="$search" />
<xsl:with-param name="replace"
select="$replace" />
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$string" />
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- end -->
<!-- start newline br 11.3.09 MB-->
<xsl:template name="newline_to_br">
<xsl:param name="string"/>
<xsl:choose>
<xsl:when test="contains($string,'&#10;')">
<xsl:value-of select="substring-before($string,'&#10;')"/>
<br/>
<xsl:call-template name="newline_to_br">
<xsl:with-param name="string" select="substring-after($string,'&#10;')"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$string"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- end newline br-->
<!-- start bw newline-->
<xsl:template name="br_to_newline">
<!-- ersetzt in einem String alle br-Tags durch unescaped br tags
alle Varianten werden geprüft, also unabhängig von Gross- oder Kleinschreinung oder Leerzeichen
-->
<xsl:param name="string" />
<xsl:choose>
<xsl:when test="not($string)" />
<xsl:when test="contains($string, '&lt;br&gt;')">
<xsl:value-of select="substring-before($string, '&lt;br&gt;')" />
<br />
<xsl:call-template name="br_to_newline">
<xsl:with-param name="string"
select="substring-after($string, '&lt;br&gt;')" />
</xsl:call-template>
</xsl:when>
<xsl:when test="contains($string, '&lt;br &gt;')">
<xsl:value-of select="substring-before($string, '&lt;br &gt;')" />
<br />
<xsl:call-template name="br_to_newline">
<xsl:with-param name="string"
select="substring-after($string, '&lt;br &gt;')" />
</xsl:call-template>
</xsl:when>
<xsl:when test="contains($string, '&lt;BR&gt;')">
<xsl:value-of select="substring-before($string, '&lt;BR&gt;')" />
<br />
<xsl:call-template name="br_to_newline">
<xsl:with-param name="string"
select="substring-after($string, '&lt;BR&gt;')" />
</xsl:call-template>
</xsl:when>
<xsl:when test="contains($string, '&lt;BR &gt;')">
<xsl:value-of select="substring-before($string, '&lt;BR &gt;')" />
<br />
<xsl:call-template name="br_to_newline">
<xsl:with-param name="string"
select="substring-after($string, '&lt;BR &gt;')" />
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$string" />
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- end -->
<!-- start json adapt-->
<xsl:template name="json_adapt">
<xsl:param name="string" />
<xsl:variable name="s2">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="normalize-space($string)" />
<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="'\\344'"/>
</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="'\\304'"/>
</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="'\\366'"/>
</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="'\\326'"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="s7">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$s6" />
<xsl:with-param name="search" select="'ü'" />
<xsl:with-param name="replace" select="'\\374'"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="s8">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$s7" />
<xsl:with-param name="search" select="'Ü'" />
<xsl:with-param name="replace" select="'\\334'"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="s9">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$s8" />
<xsl:with-param name="search" select="'ß'" />
<xsl:with-param name="replace" select="'\\337'"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="quot">"</xsl:variable>
<xsl:variable name="s10">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$s9" />
<xsl:with-param name="search" select="$quot" />
<xsl:with-param name="replace" select="'\\\'"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="s11">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$s10" />
<xsl:with-param name="search" select="'\b'" />
<xsl:with-param name="replace" select="'\\b'"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="s12">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$s11" />
<xsl:with-param name="search" select="'\f'" />
<xsl:with-param name="replace" select="'\\f'"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="s13">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$s12" />
<xsl:with-param name="search" select="'\n'" />
<xsl:with-param name="replace" select="'\\n'"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="s14">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$s13" />
<xsl:with-param name="search" select="'\r'" />
<xsl:with-param name="replace" select="'\\r'"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="s15">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$s14" />
<xsl:with-param name="search" select="'\t'" />
<xsl:with-param name="replace" select="'\\t'"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="p"><![CDATA[<p>]]></xsl:variable>
<xsl:variable name="s17">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$s15" />
<xsl:with-param name="search" select="$p" />
<xsl:with-param name="replace" select="' '"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="p2"><![CDATA[</p>]]></xsl:variable>
<xsl:variable name="s18">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$s17" />
<xsl:with-param name="search" select="$p2" />
<xsl:with-param name="replace" select="''"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="p3"><![CDATA[<p class='smallBreak'>]]></xsl:variable>
<xsl:variable name="s19">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$s18" />
<xsl:with-param name="search" select="$p3" />
<xsl:with-param name="replace" select="' '"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="br"><![CDATA[<br>]]></xsl:variable>
<xsl:variable name="s20">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$s19" />
<xsl:with-param name="search" select="$br" />
<xsl:with-param name="replace" select="' '"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="b"><![CDATA[<b>]]></xsl:variable>
<xsl:variable name="s21">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$s20" />
<xsl:with-param name="search" select="$b" />
<xsl:with-param name="replace" select="''"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="b2"><![CDATA[</b>]]></xsl:variable>
<xsl:variable name="s22">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$s21" />
<xsl:with-param name="search" select="$b2" />
<xsl:with-param name="replace" select="''"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="i"><![CDATA[<i>]]></xsl:variable>
<xsl:variable name="s23">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$s22" />
<xsl:with-param name="search" select="$i" />
<xsl:with-param name="replace" select="''"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="i2"><![CDATA[</i>]]></xsl:variable>
<xsl:variable name="s24">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$s23" />
<xsl:with-param name="search" select="$i2" />
<xsl:with-param name="replace" select="''"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="s25">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$s24" />
<xsl:with-param name="search" select="'/'" />
<xsl:with-param name="replace" select="'\\/'"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="s26">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$s25" />
<xsl:with-param name="search" select="'\000'" />
<xsl:with-param name="replace" select="' '"/>
</xsl:call-template>
</xsl:variable>
<!--
<xsl:variable name="s27">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$s26" />
<xsl:with-param name="search" select="' '" />
<xsl:with-param name="replace" select="''"/>
</xsl:call-template>
</xsl:variable>
-->
<xsl:value-of select="$s26"/>
</xsl:template>
<!-- end json adapt-->
<!-- start create_varname ACHTUNG: muss Javascript-funktion in sx_function.js entsprechen!-->
<xsl:template name="create_varname">
<xsl:param name="string"/>
<!--<xsl:variable name="s2">
<xsl:call-template name="ohne_umlaut">
<xsl:with-param name="string" select="$s1"/>
</xsl:call-template>
</xsl:variable>-->
<xsl:variable name="r1" >
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$string" />
<xsl:with-param name="search" select="'ä'" />
<xsl:with-param name="replace" select="'ae'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r2" >
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r1" />
<xsl:with-param name="search" select="'ö'" />
<xsl:with-param name="replace" select="'oe'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r3" >
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r2" />
<xsl:with-param name="search" select="'ü'" />
<xsl:with-param name="replace" select="'ue'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r4" >
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r3" />
<xsl:with-param name="search" select="'Ä'" />
<xsl:with-param name="replace" select="'Ae'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r5" >
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r4" />
<xsl:with-param name="search" select="'Ö'" />
<xsl:with-param name="replace" select="'Oe'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r6" >
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r5" />
<xsl:with-param name="search" select="'Ü'" />
<xsl:with-param name="replace" select="'Ue'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="r7">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r6" />
<xsl:with-param name="search" select="'ß'" />
<xsl:with-param name="replace" select="'ss'" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="s3">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r7" />
<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:variable name="s7">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$s6" />
<xsl:with-param name="search" select="'^'" />
<xsl:with-param name="replace" select="''"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="s8">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$s7" />
<xsl:with-param name="search" select="'%'" />
<xsl:with-param name="replace" select="''"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="s9">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$s8" />
<xsl:with-param name="search" select="'§'" />
<xsl:with-param name="replace" select="''"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="s10">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$s9" />
<xsl:with-param name="search" select="'/'" />
<xsl:with-param name="replace" select="''"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="s11">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$s10" />
<xsl:with-param name="search" select="'*'" />
<xsl:with-param name="replace" select="''"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="s12">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$s11" />
<xsl:with-param name="search" select="'#'" />
<xsl:with-param name="replace" select="''"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="s13">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$s12" />
<xsl:with-param name="search" select="'|'" />
<xsl:with-param name="replace" select="''"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="s14">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$s13" />
<xsl:with-param name="search" select="'$'" />
<xsl:with-param name="replace" select="''"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="s15">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$s14" />
<xsl:with-param name="search" select="'('" />
<xsl:with-param name="replace" select="''"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="s16">
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$s15" />
<xsl:with-param name="search" select="')'" />
<xsl:with-param name="replace" select="''"/>
</xsl:call-template>
</xsl:variable>
<xsl:value-of select="$s16"/>
</xsl:template>
<!-- end varname-->
<!-- start " -> ' -->
<xsl:template name="remove_linebreaksAndQuot">
<xsl:param name="volltext" />
<xsl:variable name="quot">"</xsl:variable>
<xsl:variable name="apos">'</xsl:variable>
<xsl:variable name="r1" >
<xsl:value-of select="translate($volltext, $quot, $apos)" />
</xsl:variable>
<xsl:call-template name="remove_linebreaks">
<xsl:with-param name="volltext" select="$r1" />
</xsl:call-template>
</xsl:template>
<xsl:template name="remove_linebreaks">
<xsl:param name="volltext" />
<xsl:choose>
<xsl:when test="contains($volltext,'\&#10;')">
<xsl:value-of select="substring-before($volltext,'\&#10;')"/>
<!--<br />--><xsl:text> </xsl:text>
</xsl:when>
<xsl:when test="contains($volltext,'&#10;')">
<xsl:value-of select="substring-before($volltext,'&#10;')"/>
<!--<br />--><xsl:text> </xsl:text>
<xsl:call-template name="remove_linebreaks">
<xsl:with-param name="volltext"><xsl:value-of select="substring-after($volltext,'&#10;')" />
</xsl:with-param>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:copy-of select="$volltext" />
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- end -->
<!-- start indent with nbsp-->
<xsl:template name="indent">
<xsl:param name="i" />
<xsl:param name="count" />
<xsl:if test="$i &lt;= $count">
&#160;
</xsl:if>
<xsl:if test="$i &lt;= $count">
<xsl:call-template name="indent">
<xsl:with-param name="i">
<xsl:value-of select="$i + 1"/>
</xsl:with-param>
<xsl:with-param name="count">
<xsl:value-of select="$count"/>
</xsl:with-param>
</xsl:call-template>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
<!--
case 'ä':
//sb.append("&auml;");
sb.append("\\344");
break;
case 'Ä':
//sb.append("&Auml;");
sb.append("\\304");
break;
case 'ö':
//sb.append("&ouml;");
sb.append("\\366");
break;
case 'Ö':
//sb.append("&Ouml;");
sb.append("\\326");
break;
case 'ü':
// sb.append("&uuml;");
sb.append("\\374");
break;
case 'Ü':
// sb.append("&Uuml;");
sb.append("\\334");
break;
case 'ß':
//sb.append("&szlig;");
sb.append("\\337");
break;
case '"':
sb.append("\\\"");
break;
case '\\':
sb.append("\\\\");
break;
case '\b':
sb.append("\\b");
break;
case '\f':
sb.append("\\f");
break;
case '\n':
sb.append("\\n");
break;
case '\r':
sb.append("\\r");
break;
case '\t':
sb.append("\\t");
break;
case '/':
sb.append("\\/");
-->
<!-- end -->

938
test/booklet_ohne_cover/71420_sub_0.jrxml

@ -0,0 +1,938 @@
<?xml version="1.0" encoding="UTF-8"?>
<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="Benutzer - Abfragen"
language="groovy"
pageWidth="842"
pageHeight="595"
orientation="Landscape"
columnWidth="818"
leftMargin="12"
rightMargin="12"
topMargin="12"
bottomMargin="12"
isIgnorePagination="true">
<!--Import von jr_properties-->
<property name="net.sf.jasperreports.export.xls.create.custom.palette"
value="true"/>
<property name="net.sf.jasperreports.export.xls.detect.cell.type" value="true"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.columns"
value="true"/>
<property 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"/>
<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="com.jaspersoft.studio.data.defaultdataadapter"
value="TUHH_kennz_bericht_ba"/>
<template>"simple_table.jrtx"</template>
<style name="TableRowDetail"
mode="Opaque"
forecolor="#000000"
backcolor="#FFFFFF"
hTextAlign="Right"
vTextAlign="Middle"
isBlankWhenNull="true"
fontName="Liberation Sans"
fontSize="8">
<box rightPadding="2">
<pen lineColor="#FFFFFF"/>
</box>
<paragraph leftIndent="2"
rightIndent="1"
spacingBefore="0"
spacingAfter="0"/>
<conditionalStyle>
<conditionExpression>Boolean.valueOf( $V{PAGE_COUNT} % 2 == 1 )</conditionExpression>
<style mode="Opaque" forecolor="#000000" backcolor="#E3E8EB"/>
</conditionalStyle>
</style>
<queryString language="xPath">/ergebnisse/ergebnis/ergebniselement[@ordnr='0']/sqlerg/row</queryString>
<field name="Berichtsname" class="java.lang.String">
<fieldDescription>/ergebnisse/makro/name</fieldDescription>
</field>
<field name="Erlaeuterung" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='0']/explanation</fieldDescription>
</field>
<!-- dann die Tabellenspalten -->
<field name="tab_0Ebene" class="java.lang.Integer">
<fieldDescription>col[@id="0" and wert!="" and ../../../@ordnr='0']/wert</fieldDescription>
</field>
<field name="tab_0Benutzer" class="java.lang.String">
<fieldDescription>col[@id="1" and wert!="" and ../../../@ordnr='0']/wert</fieldDescription>
</field>
<field name="tab_0Zuordnung über" class="java.lang.String">
<fieldDescription>col[@id="2" and wert!="" and ../../../@ordnr='0']/wert</fieldDescription>
</field>
<field name="tab_0Abfragemaske" class="java.lang.String">
<fieldDescription>col[@id="3" and wert!="" and ../../../@ordnr='0']/wert</fieldDescription>
</field>
<field name="tab_0Gruppe" class="java.lang.String">
<fieldDescription>col[@id="4" and wert!="" and ../../../@ordnr='0']/wert</fieldDescription>
</field>
<field name="tab_0Sachgebiet" class="java.lang.String">
<fieldDescription>col[@id="5" and wert!="" and ../../../@ordnr='0']/wert</fieldDescription>
</field>
<field name="tab_1Benutzer " class="java.lang.String">
<fieldDescription>col[@id="0" and wert!="" and ../../../@ordnr='1']/wert</fieldDescription>
</field>
<field name="tab_1 Berechtigte Sichten " class="java.lang.String">
<fieldDescription>col[@id="1" and wert!="" and ../../../@ordnr='1']/wert</fieldDescription>
</field>
<field name="tab_1 Zugehörige Sichtart " class="java.lang.String">
<fieldDescription>col[@id="2" and wert!="" and ../../../@ordnr='1']/wert</fieldDescription>
</field>
<field name="tab_1Zuordnung über" class="java.lang.String">
<fieldDescription>col[@id="3" and wert!="" and ../../../@ordnr='1']/wert</fieldDescription>
</field>
<field name="tab_1Gruppe" class="java.lang.String">
<fieldDescription>col[@id="4" and wert!="" and ../../../@ordnr='1']/wert</fieldDescription>
</field>
<field name="tab_1Sachgebiet" class="java.lang.String">
<fieldDescription>col[@id="5" and wert!="" and ../../../@ordnr='1']/wert</fieldDescription>
</field>
<field name="tab_2Benutzer " class="java.lang.String">
<fieldDescription>col[@id="0" and wert!="" and ../../../@ordnr='2']/wert</fieldDescription>
</field>
<field name="tab_2Benutzer Name" class="java.lang.String">
<fieldDescription>col[@id="1" and wert!="" and ../../../@ordnr='2']/wert</fieldDescription>
</field>
<field name="tab_2 Berechtigte Institution " class="java.lang.String">
<fieldDescription>col[@id="2" and wert!="" and ../../../@ordnr='2']/wert</fieldDescription>
</field>
<field name="tab_2 Kostenstelle " class="java.lang.String">
<fieldDescription>col[@id="3" and wert!="" and ../../../@ordnr='2']/wert</fieldDescription>
</field>
<field name="legende_Kennung_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Kennung"]/@varname</fieldDescription>
</field>
<field name="legende_Kennung_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Kennung"]/value_caption</fieldDescription>
</field>
<field name="legende_Zuordnung über Gruppe_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Zuordnung über Gruppe"]/@varname</fieldDescription>
</field>
<field name="legende_Zuordnung über Gruppe_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Zuordnung über Gruppe"]/value_caption</fieldDescription>
</field>
<field name="legende_Zuordnung über Sachgebiet_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Zuordnung über Sachgebiet"]/@varname</fieldDescription>
</field>
<field name="legende_Zuordnung über Sachgebiet_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Zuordnung über Sachgebiet"]/value_caption</fieldDescription>
</field>
<field name="standdatum" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='0']/stand</fieldDescription>
</field>
<field name="user" class="java.lang.String">
<fieldDescription>/ergebnisse/user</fieldDescription>
</field>
<variable name="tabellennr" class="java.lang.Integer">
<variableExpression>0</variableExpression>
</variable>
<group name="tabellennr">
<groupExpression>$V{tabellennr}</groupExpression>
<groupHeader>
<band height="110">
<textField>
<reportElement style="subReportTitle" x="0" y="0" width="818" height="20"/>
<textFieldExpression>"Benutzer - Abfragen"</textFieldExpression>
</textField>
<textField>
<reportElement style="LegendLabel" x="0" y="20" width="818" height="20"/>
<textElement verticalAlignment="Bottom"/>
<textFieldExpression>"Filterkriterien: "</textFieldExpression>
</textField>
<textField>
<reportElement style="LegendContent" x="0" y="40" width="818" height="40"/>
<textFieldExpression>""+(($F{legende_Kennung_value}==null || $F{legende_Kennung_value}=="")?"":($F{legende_Kennung_label}+": "+$F{legende_Kennung_value}+";"))
+"Datenstand: "+ $F{standdatum} + "; " + "Erstellt: "+ DATEFORMAT( TODAY(), "dd.MM.YYYY")</textFieldExpression>
</textField>
<staticText>
<reportElement style="TableColumnHeader"
mode="Opaque"
x="0"
y="80"
width="58"
height="30"/>
<text>Ebene</text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader"
mode="Opaque"
x="58"
y="80"
width="58"
height="30"/>
<text>Benutzer</text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader"
mode="Opaque"
x="116"
y="80"
width="175"
height="30"/>
<text>Zuordnung über</text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader"
mode="Opaque"
x="291"
y="80"
width="175"
height="30"/>
<text>Abfragemaske</text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader"
mode="Opaque"
x="466"
y="80"
width="175"
height="30"/>
<text>Gruppe</text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader"
mode="Opaque"
x="641"
y="80"
width="175"
height="30"/>
<text>Sachgebiet</text>
</staticText>
</band>
</groupHeader>
</group>
<detail>
<band height="20" splitType="Stretch">
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="#">
<reportElement stretchType="ContainerHeight"
x="0"
y="0"
width="58"
height="20"
style="TableRowLevel1">
<printWhenExpression>$F{tab_0Ebene}==1</printWhenExpression>
</reportElement>
<textFieldExpression>$F{tab_0Ebene}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="#">
<reportElement stretchType="ContainerHeight"
x="0"
y="0"
width="58"
height="20"
style="TableRowLevel2">
<printWhenExpression>$F{tab_0Ebene}==2</printWhenExpression>
</reportElement>
<textFieldExpression>$F{tab_0Ebene}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="#">
<reportElement stretchType="ContainerHeight"
x="0"
y="0"
width="58"
height="20"
style="TableRowLevel3">
<printWhenExpression>$F{tab_0Ebene}==3</printWhenExpression>
</reportElement>
<textFieldExpression>$F{tab_0Ebene}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="#">
<reportElement stretchType="ContainerHeight"
x="0"
y="0"
width="58"
height="20"
style="TableRowLevel4">
<printWhenExpression>$F{tab_0Ebene}==4</printWhenExpression>
</reportElement>
<textFieldExpression>$F{tab_0Ebene}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="#">
<reportElement stretchType="ContainerHeight"
x="0"
y="0"
width="58"
height="20"
style="TableRowLevel5">
<printWhenExpression>$F{tab_0Ebene}==5</printWhenExpression>
</reportElement>
<textFieldExpression>$F{tab_0Ebene}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="#">
<reportElement stretchType="ContainerHeight"
x="0"
y="0"
width="58"
height="20"
style="TableRowLevel6">
<printWhenExpression>$F{tab_0Ebene}==6</printWhenExpression>
</reportElement>
<textFieldExpression>$F{tab_0Ebene}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="#">
<reportElement stretchType="ContainerHeight"
x="0"
y="0"
width="58"
height="20"
style="TableRowLevel7">
<printWhenExpression>$F{tab_0Ebene}==7</printWhenExpression>
</reportElement>
<textFieldExpression>$F{tab_0Ebene}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="#">
<reportElement stretchType="ContainerHeight"
x="0"
y="0"
width="58"
height="20"
style="TableRowLevel8">
<printWhenExpression>$F{tab_0Ebene}==8</printWhenExpression>
</reportElement>
<textFieldExpression>$F{tab_0Ebene}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="#">
<reportElement stretchType="ContainerHeight"
x="0"
y="0"
width="58"
height="20"
style="TableRowLevel9">
<printWhenExpression>$F{tab_0Ebene}==9</printWhenExpression>
</reportElement>
<textFieldExpression>$F{tab_0Ebene}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="#">
<reportElement stretchType="ContainerHeight"
x="0"
y="0"
width="58"
height="20"
style="TableRowLevel10">
<printWhenExpression>$F{tab_0Ebene}==10</printWhenExpression>
</reportElement>
<textFieldExpression>$F{tab_0Ebene}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="58"
y="0"
width="58"
height="20"
style="TableRowLevel1">
<printWhenExpression>$F{tab_0Ebene}==1</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Benutzer}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="58"
y="0"
width="58"
height="20"
style="TableRowLevel2">
<printWhenExpression>$F{tab_0Ebene}==2</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Benutzer}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="58"
y="0"
width="58"
height="20"
style="TableRowLevel3">
<printWhenExpression>$F{tab_0Ebene}==3</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Benutzer}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="58"
y="0"
width="58"
height="20"
style="TableRowLevel4">
<printWhenExpression>$F{tab_0Ebene}==4</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Benutzer}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="58"
y="0"
width="58"
height="20"
style="TableRowLevel5">
<printWhenExpression>$F{tab_0Ebene}==5</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Benutzer}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="58"
y="0"
width="58"
height="20"
style="TableRowLevel6">
<printWhenExpression>$F{tab_0Ebene}==6</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Benutzer}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="58"
y="0"
width="58"
height="20"
style="TableRowLevel7">
<printWhenExpression>$F{tab_0Ebene}==7</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Benutzer}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="58"
y="0"
width="58"
height="20"
style="TableRowLevel8">
<printWhenExpression>$F{tab_0Ebene}==8</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Benutzer}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="58"
y="0"
width="58"
height="20"
style="TableRowLevel9">
<printWhenExpression>$F{tab_0Ebene}==9</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Benutzer}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="58"
y="0"
width="58"
height="20"
style="TableRowLevel10">
<printWhenExpression>$F{tab_0Ebene}==10</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Benutzer}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="116"
y="0"
width="175"
height="20"
style="TableRowLevel1">
<printWhenExpression>$F{tab_0Ebene}==1</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Zuordnung über}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="116"
y="0"
width="175"
height="20"
style="TableRowLevel2">
<printWhenExpression>$F{tab_0Ebene}==2</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Zuordnung über}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="116"
y="0"
width="175"
height="20"
style="TableRowLevel3">
<printWhenExpression>$F{tab_0Ebene}==3</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Zuordnung über}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="116"
y="0"
width="175"
height="20"
style="TableRowLevel4">
<printWhenExpression>$F{tab_0Ebene}==4</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Zuordnung über}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="116"
y="0"
width="175"
height="20"
style="TableRowLevel5">
<printWhenExpression>$F{tab_0Ebene}==5</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Zuordnung über}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="116"
y="0"
width="175"
height="20"
style="TableRowLevel6">
<printWhenExpression>$F{tab_0Ebene}==6</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Zuordnung über}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="116"
y="0"
width="175"
height="20"
style="TableRowLevel7">
<printWhenExpression>$F{tab_0Ebene}==7</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Zuordnung über}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="116"
y="0"
width="175"
height="20"
style="TableRowLevel8">
<printWhenExpression>$F{tab_0Ebene}==8</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Zuordnung über}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="116"
y="0"
width="175"
height="20"
style="TableRowLevel9">
<printWhenExpression>$F{tab_0Ebene}==9</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Zuordnung über}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="116"
y="0"
width="175"
height="20"
style="TableRowLevel10">
<printWhenExpression>$F{tab_0Ebene}==10</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Zuordnung über}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="291"
y="0"
width="175"
height="20"
style="TableRowLevel1">
<printWhenExpression>$F{tab_0Ebene}==1</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Abfragemaske}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="291"
y="0"
width="175"
height="20"
style="TableRowLevel2">
<printWhenExpression>$F{tab_0Ebene}==2</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Abfragemaske}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="291"
y="0"
width="175"
height="20"
style="TableRowLevel3">
<printWhenExpression>$F{tab_0Ebene}==3</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Abfragemaske}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="291"
y="0"
width="175"
height="20"
style="TableRowLevel4">
<printWhenExpression>$F{tab_0Ebene}==4</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Abfragemaske}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="291"
y="0"
width="175"
height="20"
style="TableRowLevel5">
<printWhenExpression>$F{tab_0Ebene}==5</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Abfragemaske}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="291"
y="0"
width="175"
height="20"
style="TableRowLevel6">
<printWhenExpression>$F{tab_0Ebene}==6</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Abfragemaske}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="291"
y="0"
width="175"
height="20"
style="TableRowLevel7">
<printWhenExpression>$F{tab_0Ebene}==7</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Abfragemaske}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="291"
y="0"
width="175"
height="20"
style="TableRowLevel8">
<printWhenExpression>$F{tab_0Ebene}==8</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Abfragemaske}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="291"
y="0"
width="175"
height="20"
style="TableRowLevel9">
<printWhenExpression>$F{tab_0Ebene}==9</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Abfragemaske}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="291"
y="0"
width="175"
height="20"
style="TableRowLevel10">
<printWhenExpression>$F{tab_0Ebene}==10</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Abfragemaske}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="466"
y="0"
width="175"
height="20"
style="TableRowLevel1">
<printWhenExpression>$F{tab_0Ebene}==1</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Gruppe}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="466"
y="0"
width="175"
height="20"
style="TableRowLevel2">
<printWhenExpression>$F{tab_0Ebene}==2</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Gruppe}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="466"
y="0"
width="175"
height="20"
style="TableRowLevel3">
<printWhenExpression>$F{tab_0Ebene}==3</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Gruppe}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="466"
y="0"
width="175"
height="20"
style="TableRowLevel4">
<printWhenExpression>$F{tab_0Ebene}==4</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Gruppe}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="466"
y="0"
width="175"
height="20"
style="TableRowLevel5">
<printWhenExpression>$F{tab_0Ebene}==5</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Gruppe}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="466"
y="0"
width="175"
height="20"
style="TableRowLevel6">
<printWhenExpression>$F{tab_0Ebene}==6</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Gruppe}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="466"
y="0"
width="175"
height="20"
style="TableRowLevel7">
<printWhenExpression>$F{tab_0Ebene}==7</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Gruppe}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="466"
y="0"
width="175"
height="20"
style="TableRowLevel8">
<printWhenExpression>$F{tab_0Ebene}==8</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Gruppe}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="466"
y="0"
width="175"
height="20"
style="TableRowLevel9">
<printWhenExpression>$F{tab_0Ebene}==9</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Gruppe}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="466"
y="0"
width="175"
height="20"
style="TableRowLevel10">
<printWhenExpression>$F{tab_0Ebene}==10</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Gruppe}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="641"
y="0"
width="175"
height="20"
style="TableRowLevel1">
<printWhenExpression>$F{tab_0Ebene}==1</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Sachgebiet}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="641"
y="0"
width="175"
height="20"
style="TableRowLevel2">
<printWhenExpression>$F{tab_0Ebene}==2</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Sachgebiet}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="641"
y="0"
width="175"
height="20"
style="TableRowLevel3">
<printWhenExpression>$F{tab_0Ebene}==3</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Sachgebiet}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="641"
y="0"
width="175"
height="20"
style="TableRowLevel4">
<printWhenExpression>$F{tab_0Ebene}==4</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Sachgebiet}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="641"
y="0"
width="175"
height="20"
style="TableRowLevel5">
<printWhenExpression>$F{tab_0Ebene}==5</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Sachgebiet}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="641"
y="0"
width="175"
height="20"
style="TableRowLevel6">
<printWhenExpression>$F{tab_0Ebene}==6</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Sachgebiet}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="641"
y="0"
width="175"
height="20"
style="TableRowLevel7">
<printWhenExpression>$F{tab_0Ebene}==7</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Sachgebiet}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="641"
y="0"
width="175"
height="20"
style="TableRowLevel8">
<printWhenExpression>$F{tab_0Ebene}==8</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Sachgebiet}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="641"
y="0"
width="175"
height="20"
style="TableRowLevel9">
<printWhenExpression>$F{tab_0Ebene}==9</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Sachgebiet}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="641"
y="0"
width="175"
height="20"
style="TableRowLevel10">
<printWhenExpression>$F{tab_0Ebene}==10</printWhenExpression>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_0Sachgebiet}</textFieldExpression>
</textField>
</band>
</detail>
</jasperReport>

288
test/booklet_ohne_cover/71420_sub_1.jrxml

@ -0,0 +1,288 @@
<?xml version="1.0" encoding="UTF-8"?>
<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="Benutzer - Sichten"
language="groovy"
pageWidth="842"
pageHeight="595"
orientation="Landscape"
columnWidth="818"
leftMargin="12"
rightMargin="12"
topMargin="12"
bottomMargin="12"
isIgnorePagination="true">
<!--Import von jr_properties-->
<property name="net.sf.jasperreports.export.xls.create.custom.palette"
value="true"/>
<property name="net.sf.jasperreports.export.xls.detect.cell.type" value="true"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.columns"
value="true"/>
<property 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"/>
<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="com.jaspersoft.studio.data.defaultdataadapter"
value="TUHH_kennz_bericht_ba"/>
<template>"simple_table.jrtx"</template>
<style name="TableRowDetail"
mode="Opaque"
forecolor="#000000"
backcolor="#FFFFFF"
hTextAlign="Right"
vTextAlign="Middle"
isBlankWhenNull="true"
fontName="Liberation Sans"
fontSize="8">
<box rightPadding="2">
<pen lineColor="#FFFFFF"/>
</box>
<paragraph leftIndent="2"
rightIndent="1"
spacingBefore="0"
spacingAfter="0"/>
<conditionalStyle>
<conditionExpression>Boolean.valueOf( $V{PAGE_COUNT} % 2 == 1 )</conditionExpression>
<style mode="Opaque" forecolor="#000000" backcolor="#E3E8EB"/>
</conditionalStyle>
</style>
<queryString language="xPath">/ergebnisse/ergebnis/ergebniselement[@ordnr='1']/sqlerg/row</queryString>
<field name="Berichtsname" class="java.lang.String">
<fieldDescription>/ergebnisse/makro/name</fieldDescription>
</field>
<field name="Erlaeuterung" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='1']/explanation</fieldDescription>
</field>
<!-- dann die Tabellenspalten -->
<field name="tab_0Ebene" class="java.lang.Integer">
<fieldDescription>col[@id="0" and wert!="" and ../../../@ordnr='0']/wert</fieldDescription>
</field>
<field name="tab_0Benutzer" class="java.lang.String">
<fieldDescription>col[@id="1" and wert!="" and ../../../@ordnr='0']/wert</fieldDescription>
</field>
<field name="tab_0Zuordnung über" class="java.lang.String">
<fieldDescription>col[@id="2" and wert!="" and ../../../@ordnr='0']/wert</fieldDescription>
</field>
<field name="tab_0Abfragemaske" class="java.lang.String">
<fieldDescription>col[@id="3" and wert!="" and ../../../@ordnr='0']/wert</fieldDescription>
</field>
<field name="tab_0Gruppe" class="java.lang.String">
<fieldDescription>col[@id="4" and wert!="" and ../../../@ordnr='0']/wert</fieldDescription>
</field>
<field name="tab_0Sachgebiet" class="java.lang.String">
<fieldDescription>col[@id="5" and wert!="" and ../../../@ordnr='0']/wert</fieldDescription>
</field>
<field name="tab_1Benutzer " class="java.lang.String">
<fieldDescription>col[@id="0" and wert!="" and ../../../@ordnr='1']/wert</fieldDescription>
</field>
<field name="tab_1 Berechtigte Sichten " class="java.lang.String">
<fieldDescription>col[@id="1" and wert!="" and ../../../@ordnr='1']/wert</fieldDescription>
</field>
<field name="tab_1 Zugehörige Sichtart " class="java.lang.String">
<fieldDescription>col[@id="2" and wert!="" and ../../../@ordnr='1']/wert</fieldDescription>
</field>
<field name="tab_1Zuordnung über" class="java.lang.String">
<fieldDescription>col[@id="3" and wert!="" and ../../../@ordnr='1']/wert</fieldDescription>
</field>
<field name="tab_1Gruppe" class="java.lang.String">
<fieldDescription>col[@id="4" and wert!="" and ../../../@ordnr='1']/wert</fieldDescription>
</field>
<field name="tab_1Sachgebiet" class="java.lang.String">
<fieldDescription>col[@id="5" and wert!="" and ../../../@ordnr='1']/wert</fieldDescription>
</field>
<field name="tab_2Benutzer " class="java.lang.String">
<fieldDescription>col[@id="0" and wert!="" and ../../../@ordnr='2']/wert</fieldDescription>
</field>
<field name="tab_2Benutzer Name" class="java.lang.String">
<fieldDescription>col[@id="1" and wert!="" and ../../../@ordnr='2']/wert</fieldDescription>
</field>
<field name="tab_2 Berechtigte Institution " class="java.lang.String">
<fieldDescription>col[@id="2" and wert!="" and ../../../@ordnr='2']/wert</fieldDescription>
</field>
<field name="tab_2 Kostenstelle " class="java.lang.String">
<fieldDescription>col[@id="3" and wert!="" and ../../../@ordnr='2']/wert</fieldDescription>
</field>
<field name="legende_Kennung_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Kennung"]/@varname</fieldDescription>
</field>
<field name="legende_Kennung_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Kennung"]/value_caption</fieldDescription>
</field>
<field name="legende_Zuordnung über Gruppe_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Zuordnung über Gruppe"]/@varname</fieldDescription>
</field>
<field name="legende_Zuordnung über Gruppe_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Zuordnung über Gruppe"]/value_caption</fieldDescription>
</field>
<field name="legende_Zuordnung über Sachgebiet_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Zuordnung über Sachgebiet"]/@varname</fieldDescription>
</field>
<field name="legende_Zuordnung über Sachgebiet_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Zuordnung über Sachgebiet"]/value_caption</fieldDescription>
</field>
<field name="standdatum" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='0']/stand</fieldDescription>
</field>
<field name="user" class="java.lang.String">
<fieldDescription>/ergebnisse/user</fieldDescription>
</field>
<variable name="tabellennr" class="java.lang.Integer">
<variableExpression>1</variableExpression>
</variable>
<group name="tabellennr">
<groupExpression>$V{tabellennr}</groupExpression>
<groupHeader>
<band height="110">
<textField>
<reportElement style="subReportTitle" x="0" y="0" width="818" height="20"/>
<textFieldExpression>"Benutzer - Sichten"</textFieldExpression>
</textField>
<textField>
<reportElement style="LegendLabel" x="0" y="20" width="818" height="20"/>
<textElement verticalAlignment="Bottom"/>
<textFieldExpression>"Filterkriterien: "</textFieldExpression>
</textField>
<textField>
<reportElement style="LegendContent" x="0" y="40" width="818" height="40"/>
<textFieldExpression>""+(($F{legende_Kennung_value}==null || $F{legende_Kennung_value}=="")?"":($F{legende_Kennung_label}+": "+$F{legende_Kennung_value}+";"))
+"Datenstand: "+ $F{standdatum} + "; " + "Erstellt: "+ DATEFORMAT( TODAY(), "dd.MM.YYYY")</textFieldExpression>
</textField>
<staticText>
<reportElement style="TableColumnHeader"
mode="Opaque"
x="0"
y="80"
width="51"
height="30"/>
<text>Benutzer </text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader"
mode="Opaque"
x="51"
y="80"
width="153"
height="30"/>
<text> Berechtigte Sichten </text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader"
mode="Opaque"
x="204"
y="80"
width="153"
height="30"/>
<text> Zugehörige Sichtart </text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader"
mode="Opaque"
x="357"
y="80"
width="153"
height="30"/>
<text>Zuordnung über</text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader"
mode="Opaque"
x="510"
y="80"
width="153"
height="30"/>
<text>Gruppe</text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader"
mode="Opaque"
x="663"
y="80"
width="153"
height="30"/>
<text>Sachgebiet</text>
</staticText>
</band>
</groupHeader>
</group>
<detail>
<band height="20" splitType="Stretch">
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="0"
y="0"
width="51"
height="20"
style="TableRowDetail"/>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_1Benutzer }</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="51"
y="0"
width="153"
height="20"
style="TableRowDetail"/>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_1 Berechtigte Sichten }</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="204"
y="0"
width="153"
height="20"
style="TableRowDetail"/>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_1 Zugehörige Sichtart }</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="357"
y="0"
width="153"
height="20"
style="TableRowDetail"/>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_1Zuordnung über}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="510"
y="0"
width="153"
height="20"
style="TableRowDetail"/>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_1Gruppe}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="663"
y="0"
width="153"
height="20"
style="TableRowDetail"/>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_1Sachgebiet}</textFieldExpression>
</textField>
</band>
</detail>
</jasperReport>

250
test/booklet_ohne_cover/71420_sub_2.jrxml

@ -0,0 +1,250 @@
<?xml version="1.0" encoding="UTF-8"?>
<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="Benutzer - Institutionen"
language="groovy"
pageWidth="842"
pageHeight="595"
orientation="Landscape"
columnWidth="818"
leftMargin="12"
rightMargin="12"
topMargin="12"
bottomMargin="12"
isIgnorePagination="true">
<!--Import von jr_properties-->
<property name="net.sf.jasperreports.export.xls.create.custom.palette"
value="true"/>
<property name="net.sf.jasperreports.export.xls.detect.cell.type" value="true"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.columns"
value="true"/>
<property 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"/>
<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="com.jaspersoft.studio.data.defaultdataadapter"
value="TUHH_kennz_bericht_ba"/>
<template>"simple_table.jrtx"</template>
<style name="TableRowDetail"
mode="Opaque"
forecolor="#000000"
backcolor="#FFFFFF"
hTextAlign="Right"
vTextAlign="Middle"
isBlankWhenNull="true"
fontName="Liberation Sans"
fontSize="8">
<box rightPadding="2">
<pen lineColor="#FFFFFF"/>
</box>
<paragraph leftIndent="2"
rightIndent="1"
spacingBefore="0"
spacingAfter="0"/>
<conditionalStyle>
<conditionExpression>Boolean.valueOf( $V{PAGE_COUNT} % 2 == 1 )</conditionExpression>
<style mode="Opaque" forecolor="#000000" backcolor="#E3E8EB"/>
</conditionalStyle>
</style>
<queryString language="xPath">/ergebnisse/ergebnis/ergebniselement[@ordnr='2']/sqlerg/row</queryString>
<field name="Berichtsname" class="java.lang.String">
<fieldDescription>/ergebnisse/makro/name</fieldDescription>
</field>
<field name="Erlaeuterung" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='2']/explanation</fieldDescription>
</field>
<!-- dann die Tabellenspalten -->
<field name="tab_0Ebene" class="java.lang.Integer">
<fieldDescription>col[@id="0" and wert!="" and ../../../@ordnr='0']/wert</fieldDescription>
</field>
<field name="tab_0Benutzer" class="java.lang.String">
<fieldDescription>col[@id="1" and wert!="" and ../../../@ordnr='0']/wert</fieldDescription>
</field>
<field name="tab_0Zuordnung über" class="java.lang.String">
<fieldDescription>col[@id="2" and wert!="" and ../../../@ordnr='0']/wert</fieldDescription>
</field>
<field name="tab_0Abfragemaske" class="java.lang.String">
<fieldDescription>col[@id="3" and wert!="" and ../../../@ordnr='0']/wert</fieldDescription>
</field>
<field name="tab_0Gruppe" class="java.lang.String">
<fieldDescription>col[@id="4" and wert!="" and ../../../@ordnr='0']/wert</fieldDescription>
</field>
<field name="tab_0Sachgebiet" class="java.lang.String">
<fieldDescription>col[@id="5" and wert!="" and ../../../@ordnr='0']/wert</fieldDescription>
</field>
<field name="tab_1Benutzer " class="java.lang.String">
<fieldDescription>col[@id="0" and wert!="" and ../../../@ordnr='1']/wert</fieldDescription>
</field>
<field name="tab_1 Berechtigte Sichten " class="java.lang.String">
<fieldDescription>col[@id="1" and wert!="" and ../../../@ordnr='1']/wert</fieldDescription>
</field>
<field name="tab_1 Zugehörige Sichtart " class="java.lang.String">
<fieldDescription>col[@id="2" and wert!="" and ../../../@ordnr='1']/wert</fieldDescription>
</field>
<field name="tab_1Zuordnung über" class="java.lang.String">
<fieldDescription>col[@id="3" and wert!="" and ../../../@ordnr='1']/wert</fieldDescription>
</field>
<field name="tab_1Gruppe" class="java.lang.String">
<fieldDescription>col[@id="4" and wert!="" and ../../../@ordnr='1']/wert</fieldDescription>
</field>
<field name="tab_1Sachgebiet" class="java.lang.String">
<fieldDescription>col[@id="5" and wert!="" and ../../../@ordnr='1']/wert</fieldDescription>
</field>
<field name="tab_2Benutzer " class="java.lang.String">
<fieldDescription>col[@id="0" and wert!="" and ../../../@ordnr='2']/wert</fieldDescription>
</field>
<field name="tab_2Benutzer Name" class="java.lang.String">
<fieldDescription>col[@id="1" and wert!="" and ../../../@ordnr='2']/wert</fieldDescription>
</field>
<field name="tab_2 Berechtigte Institution " class="java.lang.String">
<fieldDescription>col[@id="2" and wert!="" and ../../../@ordnr='2']/wert</fieldDescription>
</field>
<field name="tab_2 Kostenstelle " class="java.lang.String">
<fieldDescription>col[@id="3" and wert!="" and ../../../@ordnr='2']/wert</fieldDescription>
</field>
<field name="legende_Kennung_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Kennung"]/@varname</fieldDescription>
</field>
<field name="legende_Kennung_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Kennung"]/value_caption</fieldDescription>
</field>
<field name="legende_Zuordnung über Gruppe_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Zuordnung über Gruppe"]/@varname</fieldDescription>
</field>
<field name="legende_Zuordnung über Gruppe_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Zuordnung über Gruppe"]/value_caption</fieldDescription>
</field>
<field name="legende_Zuordnung über Sachgebiet_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Zuordnung über Sachgebiet"]/@varname</fieldDescription>
</field>
<field name="legende_Zuordnung über Sachgebiet_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Zuordnung über Sachgebiet"]/value_caption</fieldDescription>
</field>
<field name="standdatum" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='0']/stand</fieldDescription>
</field>
<field name="user" class="java.lang.String">
<fieldDescription>/ergebnisse/user</fieldDescription>
</field>
<variable name="tabellennr" class="java.lang.Integer">
<variableExpression>2</variableExpression>
</variable>
<group name="tabellennr">
<groupExpression>$V{tabellennr}</groupExpression>
<groupHeader>
<band height="110">
<textField>
<reportElement style="subReportTitle" x="0" y="0" width="818" height="20"/>
<textFieldExpression>"Benutzer - Institutionen"</textFieldExpression>
</textField>
<textField>
<reportElement style="LegendLabel" x="0" y="20" width="818" height="20"/>
<textElement verticalAlignment="Bottom"/>
<textFieldExpression>"Filterkriterien: "</textFieldExpression>
</textField>
<textField>
<reportElement style="LegendContent" x="0" y="40" width="818" height="40"/>
<textFieldExpression>""+(($F{legende_Kennung_value}==null || $F{legende_Kennung_value}=="")?"":($F{legende_Kennung_label}+": "+$F{legende_Kennung_value}+";"))
+"Datenstand: "+ $F{standdatum} + "; " + "Erstellt: "+ DATEFORMAT( TODAY(), "dd.MM.YYYY")</textFieldExpression>
</textField>
<staticText>
<reportElement style="TableColumnHeader"
mode="Opaque"
x="0"
y="80"
width="53"
height="30"/>
<text>Benutzer </text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader"
mode="Opaque"
x="53"
y="80"
width="178"
height="30"/>
<text>Benutzer Name</text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader"
mode="Opaque"
x="231"
y="80"
width="533"
height="30"/>
<text> Berechtigte Institution </text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader"
mode="Opaque"
x="764"
y="80"
width="53"
height="30"/>
<text> Kostenstelle </text>
</staticText>
</band>
</groupHeader>
</group>
<detail>
<band height="20" splitType="Stretch">
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="0"
y="0"
width="53"
height="20"
style="TableRowDetail"/>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_2Benutzer }</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="53"
y="0"
width="178"
height="20"
style="TableRowDetail"/>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_2Benutzer Name}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="231"
y="0"
width="533"
height="20"
style="TableRowDetail"/>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_2 Berechtigte Institution }</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement stretchType="ContainerHeight"
x="764"
y="0"
width="53"
height="20"
style="TableRowDetail"/>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{tab_2 Kostenstelle }</textFieldExpression>
</textField>
</band>
</detail>
</jasperReport>

33309
test/booklet_ohne_cover/benutzerrahmen.xml

File diff suppressed because it is too large Load Diff

2332
test/tabelle_a4_quer/stud_zeitreihe.xml

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save