SuperX-Kernmodul
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

313 lines
12 KiB

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:sx="http://memtext.de"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="pageComponents_html.xsl" />
<!--In diesem Stylesheet können Sie individuelle templates unterbringen,
die in ihrer Präzedenz das normale Stylesheet
pageComponents_html.xsl überragt. -->
<xsl:import href="pageComponents_html_final.xsl" />
<xsl:import href="resultset_html.xsl" />
<xsl:import href="interLinks_html.xsl" />
<xsl:decimal-format name="German" grouping-separator="." NaN="" zero-digit ="0" decimal-separator="," />
<xml:output method="html" />
<xsl:template match="/">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
<LINK REL="stylesheet" type="text/css" href="../style/superx.css" ></LINK>
<LINK REL="stylesheet" type="text/css" href="../xml/superxml_html.css" ></LINK>
<LINK REL="stylesheet" type="text/css" href="../xml/tabelle_html.css" ></LINK>
<title><xsl:value-of select="concat('Ergebnis ',/ergebnisse/ergebnis[ position()=1]/maskenname)" /></title>
<LINK REL="stylesheet" type="text/css" href="../edit/gang/gang.css" ></LINK>
</head>
<body onload="isReady=true">
<xsl:call-template name="topbar_table" />
<form name="Weiterverarbeitung" method="post" target="_self"><xsl:attribute name="action"><xsl:value-of select="'SuperXmlTabelle'" /></xsl:attribute>
<table border="0"><tr><td align="left"><input type="hidden" name="UserID">
<xsl:attribute name="value"><xsl:value-of select="/ergebnisse/userID" /></xsl:attribute>
</input>
<input type="hidden" name="reuseresult" value="true"/> <!-- gecachte Ergebnis benutzen-->
<input type="hidden" name="maxoffset" value=""/> <!--im Normalfall wird Servleteinstellung genutzt - nur Druckversion übergibt Wert-->
<input type="hidden" name="stylesheet" value="" />
<input type="hidden" name="contenttype" value="" />
<xsl:for-each select="/ergebnisse/ergebnis/felder/feld">
<input type="hidden">
<xsl:attribute name="name"><xsl:value-of select="@varname" /></xsl:attribute>
<xsl:attribute name="value"><xsl:value-of select="value" /></xsl:attribute>
</input>
</xsl:for-each>
<xsl:call-template name="printsaveButtons" />
</td>
<td align="right"><table border="1"><tr><td>Export:</td>
<td>
<!-- druckversion übergibt maxoffset 10000000 damit alle Sätze angezeigt werden -->
<a onMouseOver="window.status='Export starten';return true" onFocus="window.status='Download starten';return true" onMouseOut="window.status='Download starten';return true"><xsl:attribute name="href"><xsl:text>javascript:document.forms[0].stylesheet.value='tabelle_html_25100_p.xsl';document.forms[0].maxoffset.value='1000000';document.forms[0].target='_blank'; document.forms[0].submit();</xsl:text>
</xsl:attribute>
<xsl:attribute name="title"><xsl:text>Druckversion</xsl:text></xsl:attribute>
<xsl:text>Druckversion</xsl:text></a>
</td>
<td>
<a onMouseOver="window.status='Export starten';return true" onFocus="window.status='Download starten';return true" onMouseOut="window.status='Download starten';return true"><xsl:attribute name="href"><xsl:text>javascript:document.forms[0].stylesheet.value='tabelle_xml.xsl'; document.forms[0].target='_blank'; document.forms[0].submit();</xsl:text>
</xsl:attribute>
<xsl:attribute name="title"><xsl:text>XML</xsl:text></xsl:attribute>
<xsl:text>XML</xsl:text></a>
</td>
<!--
<td>
<a><xsl:attribute name="href"><xsl:text>javascript:document.forms[0].stylesheet.value='tabelle_text.xsl';document.forms[0].contenttype.value='text/plain';document.forms[0].target='_blank'; document.forms[0].submit();</xsl:text>
</xsl:attribute>
<xsl:attribute name="title"><xsl:text>Text</xsl:text></xsl:attribute>
<xsl:text>Text</xsl:text></a>
</td>
-->
<td>
<a onMouseOver="window.status='Export starten';return true" onFocus="window.status='Download starten';return true" onMouseOut="window.status='Download starten';return true"><xsl:attribute name="href"><xsl:text>javascript:document.forms[0].stylesheet.value='tabelle_fo_pdf.xsl';document.forms[0].contenttype.value='application/pdf';document.forms[0].maxoffset.value='1000000'; document.forms[0].submit();</xsl:text>
</xsl:attribute>
<xsl:attribute name="title"><xsl:text>PDF</xsl:text></xsl:attribute>
<xsl:text>PDF</xsl:text></a>
</td>
<td>
<a onMouseOver="window.status='Export starten';return true" onFocus="window.status='Download starten';return true" onMouseOut="window.status='Download starten';return true"><xsl:attribute name="href"><xsl:text>javascript:document.forms[0].stylesheet.value='tabelle_fo_rtf.xsl';document.forms[0].contenttype.value='application/rtf';document.forms[0].maxoffset.value='1000000'; document.forms[0].submit();</xsl:text>
</xsl:attribute>
<xsl:attribute name="title"><xsl:text>RTF (z.B. Word)</xsl:text></xsl:attribute>
<xsl:text>RTF</xsl:text></a>
</td>
<td>
<a onMouseOver="window.status='Export starten';return true" onFocus="window.status='Download starten';return true" onMouseOut="window.status='Download starten';return true"><xsl:attribute name="href"><xsl:text>javascript:document.forms[0].stylesheet.value='tabelle_xls.xsl';document.forms[0].contenttype.value='application/vnd.ms-excel';document.forms[0].maxoffset.value='1000000';document.forms[0].reuseresult.value='true';document.forms[0].submit();</xsl:text>
</xsl:attribute>
<xsl:attribute name="title"><xsl:text>XLS (z.B. Excel)</xsl:text></xsl:attribute>
<xsl:text>XLS</xsl:text></a>
</td>
<!--
<td>
<a><xsl:attribute name="href"><xsl:text>javascript:document.forms[0].stylesheet.value='erg_itext_rtf.xsl';document.forms[0].contenttype.value='application/rtf';document.forms[0].reuseresult.value='true';document.forms[0].submit();</xsl:text>
</xsl:attribute>
<xsl:attribute name="title"><xsl:text>RTF</xsl:text></xsl:attribute>
<xsl:text>RTF</xsl:text></a>
</td>
-->
</tr>
</table>
</td></tr></table>
<xsl:choose>
<!--MB -->
<xsl:when test="/ergebnisse/makro/@id !=''">
<h1><xsl:value-of select="/ergebnisse/makro/name" /></h1>
<p><input type="hidden" name="tid">
<xsl:attribute name="value"><xsl:value-of select="/ergebnisse/makro/@id" /></xsl:attribute>
</input>
</p></xsl:when>
<xsl:otherwise>
<p><input type="hidden" name="tid">
<xsl:attribute name="value"><xsl:value-of select="/ergebnisse/ergebnis/maskenname/@id" /></xsl:attribute>
</input></p>
</xsl:otherwise>
</xsl:choose>
<!--<xsl:call-template name="legende" />-->
<xsl:for-each select="ergebnisse/ergebnis/ergebniselement">
<xsl:if test="position()=1" >
<!-- legende nur bei erster Tabelle -->
<xsl:call-template name="legende" />
</xsl:if>
<xsl:choose>
<xsl:when test="@id= '25080' or @id= '25200' or @id= '25240' ">
<xsl:call-template name="tabelle_html_pivot" />
</xsl:when>
<xsl:when test="@typ='tabelle'">
<p class="macro_ueberschrift"><xsl:value-of select="../maskenname" /></p>
<!-- MB fehlermeldung direkt vom Servlet
<xsl:if test="errmsg !=''"><p class="errmsg"><xsl:copy-of select="errmsg" /></p></xsl:if>
-->
<table class="ergtabelle">
<tr>
<!--Spaltenüberschriften: zunächst wird geprüft, ob Spaltenüberschriften verknüpft werden sollen -->
<xsl:variable name="spanned_cols">
<xsl:for-each select="sqlerg/headers/header">
<xsl:if test="contains(wert,'\000')">
<xsl:text>true</xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:variable>
<xsl:choose>
<xsl:when test="contains($spanned_cols,'true')">
<xsl:variable name="headers_str">
<xsl:for-each select="sqlerg/headers/header">
<xsl:value-of select="concat('^',wert)" />
</xsl:for-each>
</xsl:variable>
<!--Zurückgegeben werden html-<tr>-Tags -->
<xsl:value-of select="sx:headers2html($headers_str)" disable-output-escaping="yes"/>
</xsl:when>
<xsl:otherwise>
<!--Normale headers-->
<xsl:for-each select="sqlerg/headers/header">
<xsl:call-template name="header">
<xsl:with-param name="derwert" select="wert" />
</xsl:call-template>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
<!--<td></td>-->
</tr>
<xsl:for-each select="sqlerg/row">
<tr>
<xsl:if test="col/f_name = 'ebene'">
<xsl:attribute name="class"><xsl:text>erglevel_</xsl:text><xsl:value-of select="col[ f_name = 'ebene' ] /wert" /></xsl:attribute>
</xsl:if>
<xsl:for-each select="col">
<td class="ergfeld">
<xsl:choose>
<!--<xsl:when test="@id='0'">
<xsl:attribute name="class">themenspalte</xsl:attribute>
</xsl:when>
<xsl:when test="@typ='1'"> String
<xsl:attribute name="class">string</xsl:attribute>
<xsl:value-of select="wert" />
</xsl:when>-->
<xsl:when test="@typ='2' or @typ='8' or @typ='3'"> <!-- DecimalFormat -->
<xsl:attribute name="class">decimal</xsl:attribute>
<!--<xsl:value-of select="wert" />-->
<xsl:choose>
<xsl:when test="wert != ''">
<xsl:value-of select="format-number(wert,'###.###.###.###.##0,00','German')" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="'&#160;'" />
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:when test="@typ='4'"> <!-- Integer -->
<xsl:attribute name="class">integer</xsl:attribute>
<!--<xsl:value-of select="wert" />-->
<xsl:choose>
<xsl:when test="wert != ''">
<xsl:value-of select="format-number(wert,'###.###.###.###.###','German')" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="'&#160;'" />
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<!--Typ=1 ist string und wird defaultmäßig behandelt -->
<xsl:call-template name="field_type" />
<xsl:variable name="zs">
<xsl:call-template name="field_value">
</xsl:call-template>
</xsl:variable>
<xsl:variable name="zs3">
<xsl:call-template name="resultsetLink">
<xsl:with-param name="zs2" select="$zs" />
</xsl:call-template>
</xsl:variable>
<!--Ab hier können Benutzerspezifische Transformationen nach Feldnamen oder Typ beginnen
Bei leeren Zellen wird nbsp übergeben, weil
der IE die Zellen sonst ohne Rahmen darstellt.
Standardmmäßig wird der Feldinhalt nur noch kopiert.-->
<xsl:call-template name="get_val_or_nbsp">
<xsl:with-param name="zs4"><xsl:copy-of select="$zs3" /></xsl:with-param>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</td>
</xsl:for-each>
<!--<td></td>-->
</tr>
</xsl:for-each>
</table>
</xsl:when>
<xsl:otherwise>
<xsl:text>
Nicht unterstützter Ergebnistyp </xsl:text><xsl:value-of select="@type" />
</xsl:otherwise>
</xsl:choose>
<xsl:call-template name="navigationsfuss" />
<xsl:if test="count(sqlerg/headers/header/caption_long) &gt; 0">
<!--Explanations-->
<xsl:call-template name="explanation" />
</xsl:if>
</xsl:for-each>
<!--<div id="inhalt" class="versteckt"><p><TEXTAREA NAME="content" ROWS="40" COLS="80" WRAP="off" READONLY="true">
<ergebnis><xsl:copy-of select="/ergebnis/*|@*|text()" /></ergebnis>
</TEXTAREA>
</p></div>
<script language="Javascript">
versteckeText("inhalt");
</script>-->
</form>
<xsl:call-template name="bottombar" />
</body>
</html>
</xsl:template>
<xsl:template name="tabwert">
<xsl:choose>
<xsl:when test="wert/@type='numeric'"><xsl:value-of select="wert" />
<!--<xsl:value-of select="format-number(wert,'#.###.##0,00','de_DE')" />-->
</xsl:when>
<xsl:otherwise><xsl:value-of select="wert" /></xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="create_url">
<xsl:param name="stylesheet"/>
<xsl:text>../servlet/SuperXmlTabelle?</xsl:text>
<xsl:if test="$stylesheet!=''"><xsl:text>stylesheet=</xsl:text><xsl:value-of select="$stylesheet" /><xsl:text>&amp;</xsl:text>
</xsl:if>
<xsl:text>UserID=</xsl:text><xsl:value-of select="/ergebnis/userID" /><xsl:text>&amp;tid=</xsl:text><xsl:value-of select="/ergebnisse/ergebnis/maskenname/@id" />
<xsl:for-each select="/ergebnis/tabelle/felder/feld">
<xsl:if test="wert/value !=''">
<xsl:text>&amp;</xsl:text><xsl:value-of select="wert/@varname" /><xsl:text>=</xsl:text><xsl:value-of select="wert/value" />
</xsl:if>
</xsl:for-each>
</xsl:template>
<xsl:template name="tabelle_html_pivot">
<p class="macro_ueberschrift"><xsl:value-of select="../maskenname" /></p>
<xsl:for-each select="sqlerg/row">
<table><caption><span class="gang_titel"><xsl:value-of select="col [f_name='studiengang']/wert" /></span></caption>
<xsl:for-each select="col [ string-length(wert) &gt; 0 ]">
<tr><td class="db_label">
<xsl:variable name="col_id"><xsl:value-of select="@id" /></xsl:variable>
<xsl:value-of select="../../headers/header [ @id= $col_id] / wert" />
</td>
<td><xsl:value-of select="wert" /></td>
</tr>
</xsl:for-each>
</table>
<hr />
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>