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.
1592 lines
62 KiB
1592 lines
62 KiB
2 years ago
|
<?xml version="1.0" encoding="UTF-8"?>
|
||
|
<xsl:stylesheet version="1.0"
|
||
|
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util.HtmlUtils">
|
||
|
<xsl:import href="xsl_functions.xsl" />
|
||
|
<xsl:import href="resultset_html.xsl" />
|
||
|
<xsl:import href="interLinks_html.xsl" />
|
||
|
<xsl:import href="pageComponents_html.xsl" />
|
||
|
<xsl:import href="pageComponents_html_final.xsl" />
|
||
|
<xsl:import href="menue_html_dojo.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:decimal-format name="German" grouping-separator="." NaN="" zero-digit ="0" decimal-separator="," />
|
||
|
|
||
|
<!-- wichtig für DOJO!-->
|
||
|
<xsl:output method="xml" media-type="text/html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
|
||
|
doctype-system="DTD/xhtml1-strict.dtd" cdata-section-elements="script style" indent="yes" encoding="UTF-8"/>
|
||
|
|
||
|
<xsl:template match="/">
|
||
|
<xsl:call-template name="table"/>
|
||
|
</xsl:template>
|
||
|
|
||
|
<!-- start table main-->
|
||
|
<xsl:template name="table">
|
||
|
<html>
|
||
|
<xsl:call-template name="head" ><xsl:with-param name="title" select="concat('Ergebnis ',/ergebnisse/ergebnis[ position()=1]/maskenname)" /></xsl:call-template>
|
||
|
<xsl:call-template name="tableCSS"></xsl:call-template>
|
||
|
<xsl:call-template name="pccustomize"><xsl:with-param name="position" select="'table_pre_javascript'"></xsl:with-param></xsl:call-template>
|
||
|
<xsl:call-template name="tablecustomize"><xsl:with-param name="position" select="'table_pre_javascript'"></xsl:with-param></xsl:call-template>
|
||
|
<xsl:call-template name="tableJavascript"></xsl:call-template>
|
||
|
<xsl:call-template name="pccustomize"><xsl:with-param name="position" select="'table_post_javascript'"></xsl:with-param></xsl:call-template>
|
||
|
<xsl:call-template name="tablecustomize"><xsl:with-param name="position" select="'table_post_javascript'"></xsl:with-param></xsl:call-template>
|
||
|
|
||
|
<!-- start Body-->
|
||
|
<body onload="document.getElementById('progressbar').style.display='none';tableonload();"> <!-- tableonload definiert in pageComponents.pccustomize position table_post_javascript -->
|
||
|
<div id="progressbar" style="position:absolute; width:150px; height:150px; left:200px; top:200px; background:#AAAAAA">
|
||
|
<p> <b>Laden...</b><br/><img src="/superx/images/progress_bar.gif"></img><br/></p></div>
|
||
|
|
||
|
<xsl:if test="/ergebnisse/@showNavigation='true'">
|
||
|
<xsl:for-each select="/ergebnisse/menue">
|
||
|
<xsl:call-template name="menuFrame" />
|
||
|
</xsl:for-each>
|
||
|
</xsl:if>
|
||
|
<div>
|
||
|
<xsl:if test="/ergebnisse/@showNavigation='true'">
|
||
|
<xsl:attribute name="class"><xsl:text>page-wrap</xsl:text></xsl:attribute>
|
||
|
<xsl:for-each select="/ergebnisse/menue">
|
||
|
<xsl:call-template name="topbar_menue" />
|
||
|
</xsl:for-each>
|
||
|
</xsl:if>
|
||
|
|
||
|
<div>
|
||
|
<xsl:if test="/ergebnisse/@showNavigation='true'">
|
||
|
<xsl:attribute name="id"><xsl:text>wrapper</xsl:text></xsl:attribute>
|
||
|
</xsl:if>
|
||
|
<xsl:call-template name="customheader"/> <!--Standard in pageCompnents.xsl wird ggfs. direkt vom Servlet ersetzt!!-->
|
||
|
<xsl:call-template name="topbar_table" /> <!-- momentan nur in pageCompnents_final fuer h1 gefullet -->
|
||
|
<xsl:call-template name="pccustomize"><xsl:with-param name="position" select="'table_pre_center'"></xsl:with-param></xsl:call-template>
|
||
|
<xsl:call-template name="tablecustomize"><xsl:with-param name="position" select="'table_pre_center'"></xsl:with-param></xsl:call-template>
|
||
|
<xsl:call-template name="tableCenter"/>
|
||
|
<xsl:call-template name="pccustomize"><xsl:with-param name="position" select="'table_post_center'"></xsl:with-param></xsl:call-template>
|
||
|
<xsl:call-template name="tablecustomize"><xsl:with-param name="position" select="'table_post_center'"></xsl:with-param></xsl:call-template>
|
||
|
|
||
|
<xsl:call-template name="tableDialogs"></xsl:call-template>
|
||
|
<!--<div class="dontprint" id="dojoDebug"></div>-->
|
||
|
<xsl:call-template name="bottombar" />
|
||
|
<xsl:comment>customfooter</xsl:comment>
|
||
|
</div>
|
||
|
</div>
|
||
|
<xsl:call-template name="footer" />
|
||
|
</body>
|
||
|
<!-- end body -->
|
||
|
</html>
|
||
|
</xsl:template>
|
||
|
<!-- end main -->
|
||
|
<!-- start css -->
|
||
|
<xsl:template name="tableCSS">
|
||
|
<style type="text/css">
|
||
|
.dojoDialog {background : #eee; border : 1px solid #999;-moz-border-radius : 5px;padding : 4px;width:650;height:420px;overflow:scroll}
|
||
|
.treebutton {
|
||
|
border:none;
|
||
|
margin: 0 4px 0 0;
|
||
|
}
|
||
|
@media print{
|
||
|
.dontprint{display:none;}
|
||
|
}
|
||
|
|
||
|
}
|
||
|
</style>
|
||
|
</xsl:template>
|
||
|
<!-- end css -->
|
||
|
|
||
|
<!-- start Javascript-->
|
||
|
<xsl:template name="tableJavascript">
|
||
|
<script language="Javascript" type="text/javascript" src="/superx/xml/js/jquery-2.1.1.min.js" />
|
||
|
<script language="JavaScript" type="text/javascript">
|
||
|
function getTid(){
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="/ergebnisse/@isMakro='true'">
|
||
|
<xsl:text>tid=</xsl:text><xsl:value-of select="/ergebnisse/makro/@id" /><xsl:text>;
|
||
|
</xsl:text>
|
||
|
</xsl:when>
|
||
|
<xsl:otherwise>
|
||
|
<xsl:text>tid=</xsl:text><xsl:value-of select="/ergebnisse/ergebnis/maskenname/@id" /><xsl:text>;
|
||
|
</xsl:text>
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
return tid;
|
||
|
}
|
||
|
|
||
|
function jsDisableInput(datei) {
|
||
|
var dateiendungArray = datei.split(".");
|
||
|
var dateiendung = dateiendungArray[dateiendungArray.length - 1];
|
||
|
if(dateiendung=="jrxml") {
|
||
|
document.Weiterverarbeitung.jr_contenttype.disabled=false;
|
||
|
}
|
||
|
else {
|
||
|
document.Weiterverarbeitung.jr_contenttype.disabled=true;
|
||
|
}
|
||
|
}
|
||
|
<xsl:call-template name="jsHis1Pinger" />
|
||
|
</script>
|
||
|
<script language="JavaScript" type="text/javascript" src="/superx/xml/js/memtext/sx_functions.js"></script>
|
||
|
<script language="JavaScript" type="text/javascript">
|
||
|
var isTreeTable=false;
|
||
|
<xsl:if test="/ergebnisse/@isMakro!='true' and /ergebnisse/ergebnis/ergebniselement/sqlerg/@istreetable='true'">
|
||
|
isTreeTable=true;
|
||
|
</xsl:if>
|
||
|
</script>
|
||
|
|
||
|
|
||
|
<!-- start normale Abfragen - nicht makros dojo/ggfs. Treetable-->
|
||
|
<xsl:if test="/ergebnisse/@isMakro!='true'">
|
||
|
<script language="JavaScript" type="text/javascript">
|
||
|
djConfig = {
|
||
|
bindEncoding: "UTF-8",
|
||
|
isDebug: false,
|
||
|
debugAtAllCosts:false,
|
||
|
debugContainerId:"dojoDebug"
|
||
|
};
|
||
|
</script>
|
||
|
<script language="JavaScript" type="text/javascript" src="/superx/xml/js/dojo/dojo.js"></script>
|
||
|
|
||
|
|
||
|
<script language="JavaScript" type="text/javascript">
|
||
|
dojo.require("dojo.widget.Dialog");
|
||
|
dojo.require("dojo.widget.Button");
|
||
|
dojo.require("dojo.event.*");
|
||
|
dojo.require("dojo.dnd.*");
|
||
|
dojo.require("dojo.io.*");
|
||
|
dojo.require("dojo.widget.ContentPane");
|
||
|
dojo.hostenv.writeIncludes();
|
||
|
var configdlg;
|
||
|
var spaltenliste,spaltentrash;
|
||
|
|
||
|
|
||
|
</script>
|
||
|
<!-- javascript array mit Feldern - bei Makros ist Feld-XML noch nicht drin-->
|
||
|
<xsl:text disable-output-escaping="yes"><![CDATA[<script type="text/javascript">
|
||
|
var felder = new Array();]]></xsl:text>
|
||
|
<xsl:for-each select="/ergebnisse/ergebnis/felder/feld">
|
||
|
<xsl:text>felder[</xsl:text><xsl:value-of select="position()" /><xsl:text>]= new Object();
|
||
|
felder[</xsl:text><xsl:value-of select="position()" /><xsl:text>]["htmlname"]='</xsl:text><xsl:value-of select="@varname"/><xsl:text>';
|
||
|
felder[</xsl:text><xsl:value-of select="position()" /><xsl:text>]["name"]='</xsl:text><xsl:call-template name="create_varname"><xsl:with-param name="string"><xsl:value-of select="@varname"/></xsl:with-param></xsl:call-template><xsl:text>';
|
||
|
felder[</xsl:text><xsl:value-of select="position()" /><xsl:text>]["cb_name"]='</xsl:text><xsl:call-template name="umlaut_urlencode"><xsl:with-param name="s1"><xsl:value-of select="@varname"/></xsl:with-param></xsl:call-template><xsl:text>';
|
||
|
</xsl:text>
|
||
|
<!-- in sql-variablen könnte auch " vorkommen als %22 codieren-->
|
||
|
<xsl:variable name="quot">"</xsl:variable>
|
||
|
<xsl:variable name="r"><xsl:value-of disable-output-escaping="yes" select="value"/></xsl:variable>
|
||
|
<xsl:text>felder[</xsl:text><xsl:value-of select="position()" /><xsl:text>]["value"]="</xsl:text>
|
||
|
<xsl:call-template name="search_replace">
|
||
|
<xsl:with-param name="string" select="$r"/>
|
||
|
<xsl:with-param name="search" select="$quot" />
|
||
|
<xsl:with-param name="replace" select="'%22'" />
|
||
|
</xsl:call-template><xsl:text>";
|
||
|
</xsl:text>
|
||
|
</xsl:for-each>
|
||
|
var stylesheetcontenttype = new Array();
|
||
|
<xsl:for-each select="/ergebnisse/stylesheets/stylesheet">
|
||
|
stylesheetcontenttype['<xsl:value-of select="filename"/>'] = '<xsl:value-of select="contenttype"/>';
|
||
|
</xsl:for-each>
|
||
|
<xsl:text disable-output-escaping="yes"><![CDATA[</script>]]></xsl:text>
|
||
|
|
||
|
|
||
|
|
||
|
<!-- start xy-->
|
||
|
<script language="JavaScript" type="text/javascript">
|
||
|
<xsl:text>headers=eval("([</xsl:text>
|
||
|
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement/sqlerg/headers/header[not (starts-with(f_name,'hidden'))]">
|
||
|
<xsl:text>{key:'</xsl:text><xsl:value-of select="f_name"/><xsl:text>',name:'</xsl:text>
|
||
|
<xsl:call-template name='json_adapt'>
|
||
|
<xsl:with-param name="string" select="wert" />
|
||
|
</xsl:call-template><xsl:text>'}</xsl:text>
|
||
|
<xsl:if test="position() != last()"><xsl:text>,</xsl:text></xsl:if>
|
||
|
</xsl:for-each>
|
||
|
<xsl:text>])");
|
||
|
var count=1;
|
||
|
<![CDATA[for (var i=0;i<headers.length;i++) if (headers[i].name.replace(/\s+$/,"")=='') {headers[i].name='Leerspalte '+count;count++;}]]>
|
||
|
</xsl:text>
|
||
|
<xsl:text>complete_headers=eval("([</xsl:text>
|
||
|
<!--MB 04/2010 versteckte Spalten nicht -->
|
||
|
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement/sqlerg/complete_headers/header[not (starts-with(f_name,'hidden'))]">
|
||
|
<xsl:text>{key:'</xsl:text><xsl:value-of select="f_name"/><xsl:text>',name:'</xsl:text>
|
||
|
<xsl:call-template name='json_adapt'>
|
||
|
<xsl:with-param name="string" select="wert" />
|
||
|
</xsl:call-template><xsl:text>'}</xsl:text>
|
||
|
<xsl:if test="position() != last()"><xsl:text>,</xsl:text></xsl:if>
|
||
|
</xsl:for-each>
|
||
|
<xsl:text>])");</xsl:text>
|
||
|
var count=1;
|
||
|
<![CDATA[for (var i=0;i<complete_headers.length;i++) if (complete_headers[i].name.replace(/\s+$/,"")=='') {complete_headers[i].name='Leerspalte '+count;count++;}]]>
|
||
|
|
||
|
function init(e) {
|
||
|
configdlg = dojo.widget.byId("configdlg");
|
||
|
spaltenliste=document.getElementById('spaltenliste');
|
||
|
//spaltentrash=document.getElementById('spaltentrash');
|
||
|
new dojo.dnd.HtmlDropTarget(spaltenliste, ["spaltenobjekt"]);
|
||
|
//new dojo.dnd.HtmlDropTarget(document.getElementById('spaltentrash'), ["spaltenobjekt"]);
|
||
|
|
||
|
document.getElementById('progressbar').style.display="none";
|
||
|
}
|
||
|
dojo.addOnLoad(init);
|
||
|
|
||
|
<!-- start showConfig -->
|
||
|
function showConfig()
|
||
|
{
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="/ergebnisse/ergebnis/ergebniselement/sqlerg/headers/@hasAggregationHeaders='true'">
|
||
|
alert("Konfiguration bei diesem komplexen Layout nicht moeglich");
|
||
|
</xsl:when>
|
||
|
<xsl:otherwise>
|
||
|
//Spaltenreihenfolge
|
||
|
while (spaltenliste.hasChildNodes())
|
||
|
spaltenliste.removeChild(spaltenliste.childNodes[0]);
|
||
|
//while (spaltentrash.hasChildNodes()) spaltentrash.removeChild(spaltentrash.childNodes[0]);
|
||
|
//var newLI = document.createElement("li"); newLI.appendChild(document.createTextNode("nicht dargestellte Spalten")); spaltentrash.appendChild(newLI);
|
||
|
<![CDATA[
|
||
|
for (var i=0;i<complete_headers.length;i++)
|
||
|
{
|
||
|
var newLI = document.createElement("li");
|
||
|
newLI.setAttribute("key",complete_headers[i].key);
|
||
|
spaltenliste.appendChild(newLI);
|
||
|
|
||
|
var newLIText = document.createTextNode(complete_headers[i].name+" ");
|
||
|
var b = document.createElement ("b");
|
||
|
b.setAttribute("style","cursor:pointer;");
|
||
|
var sp= document.createElement("span");
|
||
|
b.appendChild(sp);
|
||
|
sp.appendChild(newLIText);
|
||
|
newLI.appendChild(b);
|
||
|
var cb = document.createElement("input");
|
||
|
cb.type = "checkbox";
|
||
|
cb.name = "checkboxHeader"+i;
|
||
|
cb.id= "checkboxHeader"+i;
|
||
|
var vis=false;
|
||
|
for (var i2=0;i2<headers.length;i2++)
|
||
|
{
|
||
|
if (complete_headers[i].key==headers[i2].key) vis=true;
|
||
|
}
|
||
|
cb.checked = cb.defaultChecked=vis;
|
||
|
newLI.appendChild(cb);
|
||
|
newLI.appendChild(document.createTextNode("anzeigen"));
|
||
|
}
|
||
|
var lis = document.getElementById('spaltenliste').getElementsByTagName("li");
|
||
|
for(var x=0; x<lis.length; x++){
|
||
|
new dojo.dnd.HtmlDragSource(lis[x], "spaltenobjekt");
|
||
|
}
|
||
|
]]>
|
||
|
//Spaltensortierung
|
||
|
var sortierspalten=document.getElementById('sortierspalten');
|
||
|
while (sortierspalten.hasChildNodes()) sortierspalten.removeChild(sortierspalten.childNodes[0]);
|
||
|
<![CDATA[
|
||
|
if (!isTreeTable){
|
||
|
for (var i=0;i<complete_headers.length&&i<5;i++)
|
||
|
{
|
||
|
var lbl=document.createElement("label");
|
||
|
lbl.innerHTML=(i+1)+".";
|
||
|
sortierspalten.appendChild(lbl);
|
||
|
var newSelect = document.createElement("select");
|
||
|
newSelect.id="sortcol"+i;
|
||
|
newSelect.options[0]=new Option("","nocol_selected");
|
||
|
for (var i2=0;i2<complete_headers.length;i2++)
|
||
|
{newSelect.options[i2+1]=new Option(complete_headers[i2].name,complete_headers[i2].key);}
|
||
|
sortierspalten.appendChild(newSelect);
|
||
|
var asc=document.createElement("select");
|
||
|
asc.id = "sortcol"+i+"-asc";
|
||
|
asc.options[0]=new Option("aufsteigend","-A");
|
||
|
asc.options[1]=new Option("absteigend","-D");
|
||
|
sortierspalten.appendChild(asc);
|
||
|
sortierspalten.appendChild(document.createElement("br"));
|
||
|
}
|
||
|
}
|
||
|
]]>
|
||
|
|
||
|
configdlg.show();
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
}
|
||
|
<!-- end show config-->
|
||
|
<!-- start tableReload-->
|
||
|
function tableReload(colsetParam,colsortParam)
|
||
|
{
|
||
|
document.getElementById('progressbar').style.display="";
|
||
|
<xsl:text>var callurl="/superx/servlet/SuperXmlTabelle</xsl:text>
|
||
|
<!--<xsl:if test="/ergebnisse/@jsessionid!=''">;jsessionid=<xsl:value-of select="/ergebnisse/@jsessionid"/></xsl:if>-->
|
||
|
<xsl:text>?tid=</xsl:text><xsl:value-of select="/ergebnisse/ergebnis/ergebniselement/@id"/>
|
||
|
<xsl:text><![CDATA[&navi=true&stylesheet=tabelle_html_datenblatt.xsl&reuseresult=true&colset=";]]></xsl:text>
|
||
|
<![CDATA[
|
||
|
if (colsetParam=='restore')
|
||
|
callurl+='restore';
|
||
|
else
|
||
|
{
|
||
|
var lis = document.getElementById('spaltenliste').getElementsByTagName("li");
|
||
|
|
||
|
for(var x=0; x<lis.length; x++){
|
||
|
if (lis[x].getElementsByTagName('input')[0].checked)
|
||
|
{
|
||
|
for (var i=0;i<complete_headers.length;i++)
|
||
|
if (complete_headers[i].key==lis[x].getAttribute("key")) callurl+=escape(complete_headers[i].key);
|
||
|
if (x<(lis.length-1)){ callurl+="|";}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|
||
|
callurl+='&colsort=';
|
||
|
if (colsortParam=='restore')
|
||
|
callurl+='restore';
|
||
|
else
|
||
|
{
|
||
|
for (var i=0;i<complete_headers.length&&i<5;i++)
|
||
|
{
|
||
|
var sortcol=document.getElementById('sortcol'+i);
|
||
|
var sortcolasc=document.getElementById('sortcol'+i+'-asc');
|
||
|
var sel=sortcol.options[sortcol.selectedIndex].value;
|
||
|
if (i==0&&sel!='nocol_selected') callurl+=sel+sortcolasc.options[sortcolasc.selectedIndex].value;
|
||
|
if (i>0&&sel!='nocol_selected') callurl+="|"+sel+sortcolasc.options[sortcolasc.selectedIndex].value;
|
||
|
}
|
||
|
}
|
||
|
]]>
|
||
|
self.location=callurl;
|
||
|
}
|
||
|
<!-- end table reload -->
|
||
|
|
||
|
</script>
|
||
|
|
||
|
|
||
|
<!-- end dojo-->
|
||
|
<!-- start treetable -->
|
||
|
<xsl:if test="/ergebnisse/ergebnis/ergebniselement/sqlerg/@istreetable='true'">
|
||
|
<script type="text/javascript" src="/superx/xml/js/treetable.js"></script>
|
||
|
<script type="text/javascript">
|
||
|
treetable_callbacks['eventRowStateChanged'] = 'treetable_eventRowChanged';
|
||
|
|
||
|
function treetable_eventRowChanged(rowId, state) {
|
||
|
try{
|
||
|
//normalerweise ist Grafik in erster Spalte, kann aber auch 2. sein
|
||
|
//var row=document.getElementById(rowId); //macht im FF plötzlich Ärger
|
||
|
//dojo.debug("rowid:"+rowId);
|
||
|
var row=xGetElementById(rowId);
|
||
|
//dojo.debug("row"+row);
|
||
|
var tds= row.getElementsByTagName('td');
|
||
|
//dojo.debug("tds:"+tds);
|
||
|
//todo komisch hier läuft was schief??!
|
||
|
//dojo.debug("tds length"+tds.length);
|
||
|
var td0=tds[0]
|
||
|
var td0img= td0.getElementsByTagName('img');
|
||
|
if (td0img.length>0) img=td0img[0];
|
||
|
else
|
||
|
{
|
||
|
tds=row.getElementsByTagName('td');
|
||
|
//dojo.debug("tds :"+tds);
|
||
|
//dojo.debug("tds length"+tds.length);
|
||
|
var td1=tds[1];
|
||
|
var td1img= td1.getElementsByTagName('img');
|
||
|
|
||
|
if (td1img.length>0) img = td1img[0];
|
||
|
}
|
||
|
|
||
|
if (state == 1) {
|
||
|
img.src = '/superx/xml/folder_green_open.gif';
|
||
|
} else {
|
||
|
img.src = '/superx/xml/folder_green.gif';
|
||
|
}
|
||
|
}
|
||
|
catch (e) {
|
||
|
}
|
||
|
return (true);
|
||
|
}
|
||
|
</script>
|
||
|
<script type="text/javascript">
|
||
|
function ajaxNodeToggle(nodeid,internalrowno)
|
||
|
{
|
||
|
|
||
|
//if children already loaded, no ajax request necessary
|
||
|
//dojo.debug(document.getElementById(nodeid+"_0"));
|
||
|
if (!document.getElementById(nodeid+"_0"))
|
||
|
{
|
||
|
document.getElementById('progressbar').style.display="";
|
||
|
<xsl:text>var callurl="/superx/servlet/SuperXmlTabelle</xsl:text>
|
||
|
<!-- <xsl:if test="/ergebnisse/@jsessionid!=''">;jsessionid=<xsl:value-of select="/ergebnisse/@jsessionid"/></xsl:if>-->
|
||
|
<xsl:text>?tid=</xsl:text><xsl:value-of select="/ergebnisse/ergebnis/ergebniselement/@id"/><xsl:text>";
|
||
|
</xsl:text>
|
||
|
<![CDATA[
|
||
|
callurl+="&treetableid="+nodeid+"&getKidRows="+internalrowno;
|
||
|
]]>
|
||
|
dojo.io.bind({url:callurl,encoding: "ISO-8859-1",method: "post",
|
||
|
handler: function(type,data,evt)
|
||
|
{
|
||
|
// dojo.debug(data);
|
||
|
document.getElementById('progressbar').style.display="none";
|
||
|
if (type=='error') {
|
||
|
msg='Fehler beim Lesen der Daten!\n';
|
||
|
if (data.message) msg+=data.message;
|
||
|
else msg+=data.error;
|
||
|
alert(msg);
|
||
|
//dojo.debugDeep(data);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
|
||
|
var help=document.createElement("div");
|
||
|
help.innerHTML=data;
|
||
|
var pos=document.getElementById(nodeid).sectionRowIndex;
|
||
|
//dojo.debug("pos: "+pos);
|
||
|
var newrows=help.getElementsByTagName("tr");
|
||
|
<![CDATA[
|
||
|
for (i=0;i<newrows.length;i++)
|
||
|
{
|
||
|
|
||
|
var newrow=document.getElementById("table1").tBodies[0].insertRow(pos+i+1);
|
||
|
newrow.id=nodeid+"_"+i;
|
||
|
//IE kann nicht in TR-innerHTML schreiben
|
||
|
//newrow.innerHTML=newrows[i].innerHTML;
|
||
|
for (i2=0;i2<newrows[i].attributes.length;i2++)
|
||
|
{
|
||
|
newrow.setAttribute(newrows[i].attributes[i2].name,newrows[i].getAttribute(newrows[i].attributes[i2].name));
|
||
|
}
|
||
|
//fuck IE
|
||
|
newrow.setAttribute("className", newrows[i].getAttribute("className"));
|
||
|
for (i2=0;i2<newrows[i].cells.length;i2++)
|
||
|
{
|
||
|
newcell=newrow.insertCell(i2);
|
||
|
newcell.innerHTML=newrows[i].cells[i2].innerHTML;
|
||
|
//Attribut wie class wird nicht durch innerHTML übernommen
|
||
|
for (i3=0;i3<newrows[i].cells[i2].attributes.length;i3++)
|
||
|
{
|
||
|
newcell.setAttribute(newrows[i].cells[i2].attributes[i3].name,newrows[i].cells[i2].getAttribute(newrows[i].cells[i2].attributes[i3].name));
|
||
|
}
|
||
|
//fuck IE
|
||
|
newcell.setAttribute("className", newrows[i].cells[i2].getAttribute("className"));
|
||
|
}
|
||
|
}
|
||
|
treetable_toggleRow(nodeid,1,1);
|
||
|
treetable_eventRowChanged(nodeid, 1);
|
||
|
if (window.xthf) window.xthf.init();
|
||
|
document.getElementById('progressbar').style.display="none";
|
||
|
]]>
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
);
|
||
|
|
||
|
}
|
||
|
else //kein Nachladen per Dojo nötig
|
||
|
{
|
||
|
treetable_toggleRow(nodeid);
|
||
|
// treetable_zuklappen(nodeid);
|
||
|
// var starttime=(new Date).getTime();
|
||
|
// while (starttime+400>(new Date).getTime()){};
|
||
|
// treetable_toggleRow(nodeid,-1,-1);
|
||
|
}
|
||
|
|
||
|
if (window.xthf) window.xthf.init();
|
||
|
|
||
|
//dojo.debugDeep(window.xthf);
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
</script>
|
||
|
|
||
|
|
||
|
</xsl:if>
|
||
|
<!-- end treetable-->
|
||
|
|
||
|
<!-- start Lesezeichen/applyMerkmale-->
|
||
|
<script language="JavaScript" type="text/javascript">
|
||
|
|
||
|
<!-- von Lesezeichen oder template Merkmale eintragen
|
||
|
geht nur für normale Masken da Javascript-array für Felder korrekt gefüllt sein muss
|
||
|
anders definiert als in maske_html, muss genauso heißen, damit allgemeine Vorlage sowohl masken als auch bei Tabellen greifen
|
||
|
-->
|
||
|
function applyMerkmale(merkmale)
|
||
|
{
|
||
|
<xsl:text><![CDATA[url=location.protocol+'//'+location.host+"/superx/servlet/SuperXmlTabelle";]]>
|
||
|
</xsl:text>
|
||
|
<!-- <xsl:if test="/ergebnisse/@jsessionid!=''"><xsl:text>url+=';jsessionid=</xsl:text><xsl:value-of select="/maske/@jsessionid"/><xsl:text>';
|
||
|
</xsl:text></xsl:if>-->
|
||
|
<xsl:text>url+="?tid="+getTid();</xsl:text>
|
||
|
<xsl:if test="/ergebnisse/@MandantenID!='default'">
|
||
|
<xsl:text><![CDATA[url+="&MandantenID=]]></xsl:text><xsl:value-of select="/ergebnisse/@MandantenID"/><xsl:text>";</xsl:text>
|
||
|
</xsl:if>
|
||
|
var merkmale2=merkmale.replace(/n:'/g,'n:"');
|
||
|
var merkmale3=merkmale2.replace(/',k:'/g,'",k:"');
|
||
|
var merkmale4=merkmale3.replace(/'}/g,'"}');
|
||
|
var merkmale5=merkmale4.replace(/',sichtparam:'/g,'",sichtparam:"');
|
||
|
var merkmale6=merkmale5.replace(/',standparam:'/g,'",standparam:"');
|
||
|
var m=purgeval(merkmale6);
|
||
|
<![CDATA[
|
||
|
for (i=0;i<m.length;i++)
|
||
|
{
|
||
|
url+="&"+getEncoded(m[i].n)+"="+getEncoded(m[i].k);
|
||
|
if (m[i].sichtparam) url+="&"+getEncoded(m[i].n)+"-Sicht="+getEncoded(m[i].sichtparam);
|
||
|
if (m[i].standparam) url+="&"+getEncoded(m[i].n)+"-Stand="+m[i].standparam;
|
||
|
}
|
||
|
]]>
|
||
|
<!--falls ein Feld nicht als Merkmal belegt ist und es für ein Feld auf der Maske eine Auswahl gibt, diese übernehmen-->
|
||
|
<![CDATA[
|
||
|
for(var i1=1;i1<= felder.length-1; i1++)
|
||
|
{
|
||
|
var merkmalvorhanden=false;
|
||
|
for (i=0;i<m.length;i++)
|
||
|
{
|
||
|
if (getEncoded(m[i].n)==getEncoded(felder[i1]["htmlname"])) merkmalvorhanden=true;
|
||
|
}
|
||
|
if (!merkmalvorhanden)
|
||
|
{
|
||
|
var val=felder[i1]["value"];
|
||
|
url+="&"+getEncoded(felder[i1]["htmlname"])+"="+getEncoded(val);
|
||
|
}
|
||
|
}
|
||
|
]]>
|
||
|
<xsl:if test="/ergebnisse/@isMakro!='true'">
|
||
|
<xsl:if test="/ergebnisse/ergebnis/ergebniselement/sqlerg/headers/@colset!=''">
|
||
|
<xsl:text><![CDATA[url+="&colset=]]></xsl:text><xsl:value-of select="/ergebnisse/ergebnis/ergebniselement/sqlerg/headers/@colset"/><xsl:text>";
|
||
|
</xsl:text>
|
||
|
</xsl:if>
|
||
|
<xsl:if test="/ergebnisse/ergebnis/ergebniselement/sqlerg/headers/@colsort!=''">
|
||
|
<xsl:text><![CDATA[url+="&colsort=]]></xsl:text><xsl:value-of select="/ergebnisse/ergebnis/ergebniselement/sqlerg/headers/@colsort"/><xsl:text>";
|
||
|
</xsl:text>
|
||
|
</xsl:if>
|
||
|
</xsl:if>
|
||
|
//dojo.debug(url);
|
||
|
document.getElementById('progressbar').style.display="";
|
||
|
location.href=url;
|
||
|
}
|
||
|
<!-- für Zurück-Button bei normalen Abfragen und Lesezeichen
|
||
|
-->
|
||
|
|
||
|
function getParams(method) <!--direkt für Zurückbutton, ohne Speicherung als Bookmarklet-->
|
||
|
{
|
||
|
// check for fieldsep argument
|
||
|
var fieldsep = '&'; // default
|
||
|
var params="";
|
||
|
//alert("getparams - method"+method);
|
||
|
if (method!='direkt') params+="p=[";
|
||
|
|
||
|
<xsl:for-each select="/ergebnisse/ergebnis/felder/feld">
|
||
|
<xsl:if test="@varname!='##line##'">
|
||
|
<xsl:if test="value!='' and value!='null'"> <!-- bei Duisburger Sichten vorgekommen-->
|
||
|
if (method!='direkt')
|
||
|
<xsl:text>params+="{\"n\":\"</xsl:text><xsl:value-of select="@varname"/><xsl:text>\",\"k\":\"</xsl:text>
|
||
|
<xsl:value-of select="value"/><xsl:text>\"},";
|
||
|
</xsl:text>
|
||
|
else
|
||
|
<xsl:text><![CDATA[params+=fieldsep+getEncoded("]]></xsl:text><xsl:value-of select="@varname"/><xsl:text>")+"="+getEncoded("</xsl:text><xsl:value-of select="value"/><xsl:text>");
|
||
|
</xsl:text>
|
||
|
|
||
|
|
||
|
|
||
|
<!-- Probleme im IE wenn kleiner als, Prozent oder sowas vorkommt
|
||
|
title+=" </xsl:text>
|
||
|
<xsl:choose> <xsl:when test="caption_short!= '' and caption_short != 'null'"><![CDATA[]]><xsl:value-of select="caption_short" /><![CDATA[]]>
|
||
|
</xsl:when>
|
||
|
<xsl:otherwise> <xsl:value-of select="@varname" /> </xsl:otherwise> </xsl:choose><xsl:text>: </xsl:text><xsl:value-of select="value"/><xsl:text>";
|
||
|
</xsl:text>
|
||
|
-->
|
||
|
</xsl:if>
|
||
|
<!-- MB Stand und Sicht in Lesezeichen -->
|
||
|
<xsl:if test="@stand!=''">
|
||
|
<xsl:text>var stand="</xsl:text><xsl:value-of select="@stand"/><xsl:text>";
|
||
|
</xsl:text>
|
||
|
|
||
|
if (<![CDATA[stand&&isDate(stand)&&!isToday(stand)]]>) <!-- wenn Stand today ist, braucht er nicht in bookmarklet noch in zurückbutton-->
|
||
|
{
|
||
|
if (method!='direkt')
|
||
|
<xsl:text>params+="{\"n\":\"</xsl:text><xsl:value-of select="@varname"/><xsl:text>-Stand\",\"k\":\"</xsl:text><xsl:value-of select="@stand"/><xsl:text>\"},";
|
||
|
</xsl:text>
|
||
|
else
|
||
|
<xsl:text><![CDATA[params+=fieldsep+"]]></xsl:text><xsl:value-of select="@varname"/><xsl:text>"+"-Stand=</xsl:text><xsl:value-of select="@stand"/><xsl:text>";
|
||
|
</xsl:text>
|
||
|
}
|
||
|
</xsl:if>
|
||
|
<xsl:if test="sicht/@name_intern!=''">
|
||
|
if (method!='direkt')
|
||
|
<xsl:text>params+="{\"n\":\"</xsl:text><xsl:value-of select="@varname"/><xsl:text>-Sicht\",\"k\":\"</xsl:text><xsl:value-of select="sicht/@name_intern"/><xsl:text>\"},";
|
||
|
</xsl:text>
|
||
|
else
|
||
|
<xsl:text><![CDATA[params+=fieldsep+"]]></xsl:text><xsl:value-of select="@varname"/><xsl:text>"+"-Sicht="+"</xsl:text><xsl:value-of select="sicht/@name_intern"/><xsl:text>";
|
||
|
</xsl:text>
|
||
|
</xsl:if>
|
||
|
</xsl:if>
|
||
|
</xsl:for-each>
|
||
|
|
||
|
if (method!='direkt') params=params.substring(0,params.length-1)+"]";//letztes Komma überschreiben
|
||
|
//alert(params);
|
||
|
|
||
|
return params;
|
||
|
}
|
||
|
|
||
|
<!-- Tabelle_esezeichen erstellen - bei Makros ist dojo zu aufwändig-->
|
||
|
function lesezeichen_erstellen()
|
||
|
{
|
||
|
params=getParams();
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="/ergebnisse/@isMakro='true'">
|
||
|
title='Tab <xsl:value-of select="/ergebnisse/makro/name" />';
|
||
|
</xsl:when>
|
||
|
<xsl:otherwise>
|
||
|
title='Tab <xsl:value-of select="/ergebnisse/ergebnis/maskenname"/>';
|
||
|
<xsl:if test="/ergebnisse/ergebnis/ergebniselement/sqlerg/headers/@colset!=''">
|
||
|
<xsl:text><![CDATA[params+=";p[p.length]={\"n\":\"colset\",\"k\":\"]]></xsl:text><xsl:value-of select="/ergebnisse/ergebnis/ergebniselement/sqlerg/headers/@colset"/><xsl:text>\"}";
|
||
|
</xsl:text>
|
||
|
</xsl:if>
|
||
|
<xsl:if test="/ergebnisse/ergebnis/ergebniselement/sqlerg/headers/@colsort!=''">
|
||
|
<xsl:text><![CDATA[params+=";p[p.length]={\"n\":\"colsort\",\"k\":\"]]></xsl:text><xsl:value-of select="/ergebnisse/ergebnis/ergebniselement/sqlerg/headers/@colsort"/><xsl:text>\"}";
|
||
|
</xsl:text>
|
||
|
</xsl:if>
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
|
||
|
//dojo.debug(params);
|
||
|
|
||
|
<xsl:text>lesezeichen('/superx/servlet/SuperXmlTabelle',getTid(),'</xsl:text><xsl:value-of select="/ergebnisse/@MandantenID"/><xsl:text>',params,title);</xsl:text>
|
||
|
dojo.widget.byId("lesezeichendlg").show();
|
||
|
|
||
|
}
|
||
|
|
||
|
function deeplink_dialog()
|
||
|
{
|
||
|
dojo.widget.byId("deeplinkdlg").show();
|
||
|
}
|
||
|
|
||
|
</script>
|
||
|
<!-- end lesezeichen -->
|
||
|
</xsl:if>
|
||
|
<!-- end normale Abfragen - nicht makros-->
|
||
|
</xsl:template>
|
||
|
<!-- end javascript-->
|
||
|
|
||
|
<!-- start tablecenter-->
|
||
|
|
||
|
<xsl:template name="tableCenter">
|
||
|
<form name="Weiterverarbeitung" method="post" target="_self" charset="UTF-8">
|
||
|
<xsl:attribute name="action">
|
||
|
<!-- MB 9/14 encode URL ignoriert jsession id -->
|
||
|
<xsl:value-of select="HtmlUtils:encodeURL('SuperXmlTabelle',/ergebnisse/@jsessionid)" /></xsl:attribute>
|
||
|
<!-- start Kopf-->
|
||
|
<xsl:call-template name="pccustomize"><xsl:with-param name="position" select="'table_inform'"></xsl:with-param></xsl:call-template>
|
||
|
<xsl:call-template name="tablecustomize"><xsl:with-param name="position" select="'table_inform'"></xsl:with-param></xsl:call-template>
|
||
|
<input name="navi" type="hidden" value="true" />
|
||
|
<input type="hidden" name="tid">
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="/ergebnisse/@isMakro='true'">
|
||
|
<xsl:attribute name="value"><xsl:value-of select="/ergebnisse/makro/@id" /></xsl:attribute>
|
||
|
</xsl:when>
|
||
|
<xsl:otherwise>
|
||
|
<xsl:attribute name="value"><xsl:value-of select="/ergebnisse/ergebnis/maskenname/@id" /></xsl:attribute>
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
</input>
|
||
|
<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="" />
|
||
|
<!-- MB 5/2011 fuer Export nur sichtbarer Tabellenzeilen nach Excel/PDF -->
|
||
|
<input type="hidden" name="irowno" 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="tablePrintsaveexport"/>
|
||
|
|
||
|
<xsl:call-template name="tablepretitle"/> <!--defined in pageComponents-->
|
||
|
|
||
|
<xsl:if test="/ergebnisse/@isMakro='true'">
|
||
|
<h1><xsl:value-of select="/ergebnisse/makro/name" /></h1>
|
||
|
</xsl:if>
|
||
|
<p></p>
|
||
|
|
||
|
<!-- end Kopf-->
|
||
|
<!-- start tabelle-->
|
||
|
<xsl:for-each select="ergebnisse/ergebnis/ergebniselement">
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="@typ='image'">
|
||
|
<img><xsl:attribute name="src"><xsl:value-of select="@url" /></xsl:attribute></img><hr/>
|
||
|
<xsl:text>
|
||
|
</xsl:text>
|
||
|
</xsl:when>
|
||
|
<xsl:when test="@typ='tabelle'">
|
||
|
<xsl:call-template name="tableSingletable"/>
|
||
|
</xsl:when>
|
||
|
<xsl:otherwise>
|
||
|
<xsl:text> Nicht unterstützter Ergebnistyp </xsl:text><xsl:value-of select="@type" />
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
<!-- end tabelle-->
|
||
|
<!-- start fuß-->
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="/ergebnisse/@isMakro!='true' and /ergebnisse/ergebnis/ergebniselement/sqlerg/@istreetable!='true'">
|
||
|
<xsl:call-template name="navigationsfuss" />
|
||
|
</xsl:when>
|
||
|
<xsl:otherwise> <!-- input für offset ist wichtig für Exporte, normalerweise im Navigationsfuß definiert -->
|
||
|
<input type="hidden" name="offset">
|
||
|
<xsl:attribute name="value"><xsl:value-of select="sqlerg/@offset" /></xsl:attribute>
|
||
|
</input>
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
<xsl:call-template name="pccustomize"><xsl:with-param name="position" select="'table_pre_explanation'"></xsl:with-param></xsl:call-template>
|
||
|
<xsl:call-template name="tablecustomize"><xsl:with-param name="position" select="'table_pre_explanation'"></xsl:with-param></xsl:call-template>
|
||
|
|
||
|
<xsl:if test="count(sqlerg/headers/header/caption_long) > 0"><xsl:call-template name="explanation" /></xsl:if>
|
||
|
<xsl:call-template name="pccustomize"><xsl:with-param name="position" select="'table_post_explanation'"></xsl:with-param></xsl:call-template>
|
||
|
<xsl:call-template name="tablecustomize"><xsl:with-param name="position" select="'table_post_explanation'"></xsl:with-param></xsl:call-template>
|
||
|
|
||
|
</xsl:for-each>
|
||
|
</form>
|
||
|
<!-- end fuß-->
|
||
|
</xsl:template>
|
||
|
<!-- end tablecenter-->
|
||
|
<!-- start printsaveExport-->
|
||
|
<!-- printsave/export in pageComponents definiert - kann also überlagert werden-->
|
||
|
<xsl:template name="tablePrintsaveexport">
|
||
|
<table class="dontprint" border="0"><tr><td align="left">
|
||
|
<xsl:call-template name="printsaveButtons" />
|
||
|
</td>
|
||
|
<td align="right"><xsl:call-template name="exportButtons" />
|
||
|
</td>
|
||
|
</tr></table>
|
||
|
</xsl:template>
|
||
|
<!-- end printsave -->
|
||
|
|
||
|
<!-- start singleTable-->
|
||
|
<xsl:template name="tableSingletable">
|
||
|
<xsl:call-template name="pccustomize"><xsl:with-param name="position" select="'table_pre_title'"></xsl:with-param></xsl:call-template>
|
||
|
<xsl:call-template name="tablecustomize"><xsl:with-param name="position" select="'table_pre_title'"></xsl:with-param></xsl:call-template>
|
||
|
|
||
|
<p class="maskentitel"><xsl:value-of select="../maskenname" /></p>
|
||
|
<xsl:call-template name="pccustomize"><xsl:with-param name="position" select="'table_post_title'"></xsl:with-param></xsl:call-template>
|
||
|
<xsl:call-template name="tablecustomize"><xsl:with-param name="position" select="'table_post_title'"></xsl:with-param></xsl:call-template>
|
||
|
|
||
|
<xsl:call-template name="legende" />
|
||
|
<xsl:if test="/ergebnisse/@isMakro!='true' and /ergebnisse/ergebnis/ergebniselement/sqlerg/@istreetable!='true' and /ergebnisse/ergebnis/ergebniselement/sqlerg/@max > 19">
|
||
|
<xsl:call-template name="navigationsmenue" />
|
||
|
</xsl:if>
|
||
|
<table id="table1" class="ergtabelle">
|
||
|
<thead>
|
||
|
<xsl:call-template name="tableheader"/>
|
||
|
</thead>
|
||
|
<tbody>
|
||
|
<xsl:call-template name="tablebody"/>
|
||
|
</tbody>
|
||
|
</table>
|
||
|
</xsl:template>
|
||
|
<xsl:template name="tableheader">
|
||
|
<!--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: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>
|
||
|
<xsl:value-of select="HtmlUtils:headers2html($headers_str)" disable-output-escaping="yes"/>
|
||
|
-->
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="/ergebnisse/ergebnis/ergebniselement/sqlerg/headers/@hasAggregationHeaders='true'">
|
||
|
<xsl:for-each select="sqlerg/aggregationHeaders/tr">
|
||
|
<tr>
|
||
|
<!--auch bei aggregierten Headers Spalten die mit hidden_starten nicht anzeigen-->
|
||
|
<xsl:for-each select="th [not (starts-with(@f_name,'hidden')) and @isHidden!='true']">
|
||
|
<th class="header">
|
||
|
<xsl:if test="@colspan!=''"><xsl:attribute name="colspan"><xsl:value-of select="@colspan"/></xsl:attribute></xsl:if>
|
||
|
<xsl:if test="@rowspan!=''"><xsl:attribute name="rowspan"><xsl:value-of select="@rowspan"/></xsl:attribute></xsl:if>
|
||
|
<xsl:attribute name="scope">
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="@colspan!='' and @colspan!='1'"><xsl:text>colgroup</xsl:text></xsl:when>
|
||
|
<xsl:otherwise><xsl:text>col</xsl:text></xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
</xsl:attribute>
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="@isopen='true'">
|
||
|
<a class='bildnavi' >
|
||
|
<xsl:attribute name="href"><xsl:text>javascript:setHeaderExpanded('</xsl:text>
|
||
|
<xsl:value-of select="/ergebnisse/@jsessionid"/><xsl:text>',</xsl:text><xsl:value-of select="/ergebnisse/ergebnis/maskenname/@id" />
|
||
|
<xsl:text>,</xsl:text><xsl:value-of select="@id"/><xsl:text>,false);</xsl:text></xsl:attribute>
|
||
|
<img border='0' src='/superx/xml/folder_green_open.gif'/> 
|
||
|
<xsl:call-template name="removeBackslashN" >
|
||
|
<xsl:with-param name="derwert"><xsl:value-of select="." /></xsl:with-param>
|
||
|
<xsl:with-param name="format"><xsl:value-of select="'html'" /></xsl:with-param>
|
||
|
</xsl:call-template>
|
||
|
</a>
|
||
|
</xsl:when>
|
||
|
<xsl:when test="@isopen='false'">
|
||
|
<a class='bildnavi'>
|
||
|
<xsl:attribute name="href"><xsl:text>javascript:setHeaderExpanded('</xsl:text>
|
||
|
<xsl:value-of select="/ergebnisse/@jsessionid"/><xsl:text>',</xsl:text><xsl:value-of select="/ergebnisse/ergebnis/maskenname/@id" />
|
||
|
<xsl:text>,</xsl:text><xsl:value-of select="@id"/><xsl:text>,true);</xsl:text></xsl:attribute>
|
||
|
<img border='0' src='/superx/xml/folder_green.gif'/> 
|
||
|
<xsl:call-template name="removeBackslashN" >
|
||
|
<xsl:with-param name="derwert"><xsl:value-of select="." /></xsl:with-param>
|
||
|
<xsl:with-param name="format"><xsl:value-of select="'html'" /></xsl:with-param>
|
||
|
</xsl:call-template>
|
||
|
</a>
|
||
|
</xsl:when>
|
||
|
<xsl:otherwise>
|
||
|
<xsl:call-template name="removeBackslashN" >
|
||
|
<xsl:with-param name="derwert"><xsl:value-of select="." /></xsl:with-param>
|
||
|
<xsl:with-param name="format"><xsl:value-of select="'html'" /></xsl:with-param>
|
||
|
</xsl:call-template>
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
</th>
|
||
|
|
||
|
</xsl:for-each>
|
||
|
</tr>
|
||
|
</xsl:for-each>
|
||
|
</xsl:when>
|
||
|
<xsl:otherwise>
|
||
|
<!-- alt Normale headers -->
|
||
|
<xsl:variable name="headers_str">
|
||
|
<xsl:for-each select="sqlerg/headers/header[not (starts-with(f_name,'hidden'))]">
|
||
|
<xsl:value-of select="concat('^',wert)" />
|
||
|
</xsl:for-each>
|
||
|
</xsl:variable>
|
||
|
<xsl:value-of select="HtmlUtils:headers2html($headers_str)" disable-output-escaping="yes"/>
|
||
|
|
||
|
<!--<xsl:call-template name="removeBackslashN" >
|
||
|
<xsl:with-param name="derwert"><xsl:value-of select="." /></xsl:with-param>
|
||
|
<xsl:with-param name="format"><xsl:value-of select="'html'" /></xsl:with-param>
|
||
|
</xsl:call-template>
|
||
|
<tr>
|
||
|
<xsl:for-each select="sqlerg/headers/header">
|
||
|
<th class="header" scope="col">
|
||
|
<xsl:call-template name="removeBackslashN" >
|
||
|
<xsl:with-param name="derwert"><xsl:value-of select="wert" /></xsl:with-param>
|
||
|
<xsl:with-param name="format"><xsl:value-of select="'html'" /></xsl:with-param>
|
||
|
</xsl:call-template>
|
||
|
</th>
|
||
|
</xsl:for-each>
|
||
|
</tr>-->
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template name="tablebody">
|
||
|
<xsl:variable name="erglevelmax"><xsl:text>5</xsl:text>
|
||
|
<!-- todo: auch bei treetable variable Zeilenebenen
|
||
|
<xsl:if test="count(sqlerg/row/col [ f_name = 'ebene' ]) > 0">
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="count(sqlerg/row/col [ f_name = 'ebene' ] /wert [ . = '4']) > 0">
|
||
|
<xsl:text>4</xsl:text>
|
||
|
</xsl:when>
|
||
|
<xsl:when test="count(sqlerg/row/col [ f_name = 'ebene' ] /wert [ . = '3']) > 0">
|
||
|
<xsl:text>3</xsl:text>
|
||
|
</xsl:when>
|
||
|
<xsl:when test="count(sqlerg/row/col [ f_name = 'ebene' ] /wert [ . = '2']) > 0">
|
||
|
<xsl:text>2</xsl:text>
|
||
|
</xsl:when>
|
||
|
<xsl:when test="count(sqlerg/row/col [ f_name = 'ebene' ] /wert [ . = '1']) > 0">
|
||
|
<xsl:text>1</xsl:text>
|
||
|
</xsl:when>
|
||
|
<xsl:otherwise>
|
||
|
<xsl:text>5</xsl:text>
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
</xsl:if>-->
|
||
|
</xsl:variable>
|
||
|
<xsl:for-each select="sqlerg/row">
|
||
|
<!-- MB ausgelagert nach resultset.xsl-->
|
||
|
<xsl:call-template name="resultrow">
|
||
|
<xsl:with-param name="row" select="."/>
|
||
|
<xsl:with-param name="erglevelmax" select="$erglevelmax"/>
|
||
|
</xsl:call-template>
|
||
|
</xsl:for-each>
|
||
|
</xsl:template>
|
||
|
<!-- end singleTable-->
|
||
|
<!-- start DOJO Dialoge-->
|
||
|
<xsl:template name="tableDialogs">
|
||
|
<xsl:if test="/ergebnisse/@isMakro!='true'">
|
||
|
<!-- start configdlg-->
|
||
|
<div dojoType="dialog" id="configdlg" bgColor="darkgray" bgOpacity="0.7" toggle="fade" toggleDuration="250" closeNode="ok" style="display:none">
|
||
|
|
||
|
<form name="configform" onsubmit="return false;">
|
||
|
|
||
|
<table style="font-size:10pt">
|
||
|
<tr><td align="center"><h3>Spaltenreihenfolge</h3></td><td align="center" valign="top"><h3>Sortierung der Ergebnisse</h3></td></tr>
|
||
|
<tr><td align="left">
|
||
|
<div style="height:250px;width:300px;overflow:scroll"><!-- IE needs non-dojo div vor scrolling-->
|
||
|
<ul id="spaltenliste">
|
||
|
<li>Keine Spalteninformation gefunden</li>
|
||
|
</ul>
|
||
|
</div>
|
||
|
<!--
|
||
|
<p align="center"><b>MÜLLEIMER</b></p>
|
||
|
<div style="height:80px;width:350px;overflow:scroll">-->
|
||
|
<!-- IE needs non-dojo div vor scrolling-->
|
||
|
<!--
|
||
|
<ul id="spaltentrash"><li>nicht dargestellte Spalten</li></ul>
|
||
|
</div>
|
||
|
-->
|
||
|
<label> <![CDATA[Sie können einen Eintrag anklicken und ]]><br/>
|
||
|
<![CDATA[ bei gedrückter li. Maustaste verschieben]]> <br/>
|
||
|
<![CDATA[die schwarze Hilfslinie zeigt das Ziel an.]]><br/>
|
||
|
<![CDATA[ Entfernen Sie das Häkchen bei "anzeigen",]]><br/>
|
||
|
<![CDATA[ um Spalten auszublenden]]><br/>
|
||
|
<!-- <![CDATA[ in den Mülleimer ziehen.]]> -->
|
||
|
</label>
|
||
|
</td>
|
||
|
<td>
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="/ergebnisse/ergebnis/ergebniselement/sqlerg/@istreetable='true'">
|
||
|
<p>Sortieren nach Spalte bei hierarchischer Darstellung nicht möglich</p>
|
||
|
</xsl:when>
|
||
|
<xsl:otherwise>
|
||
|
<p>Sortieren nach Spalte</p>
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
|
||
|
<div id="sortierspalten">
|
||
|
</div>
|
||
|
</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<p align="center">
|
||
|
<input type="button" id="ok" class="clsButtonStyle" onclick="tableReload('','');" value="OK"></input> 
|
||
|
|
||
|
<input type="button" id="restore" class="clsButtonStyle" onclick="tableReload('restore','restore');" value="Alles zurücksetzen"></input> 
|
||
|
<input type="button" id="abbrechen" class="clsButtonStyle" onclick="configdlg.hide()" value="Abbrechen"></input> 
|
||
|
</p>
|
||
|
|
||
|
</form>
|
||
|
|
||
|
|
||
|
</div>
|
||
|
<!-- end configdlg -->
|
||
|
<!-- start export dlg dojoType="dialog" -->
|
||
|
<div dojoType="dialog" id="ttexdlg" bgColor="darkgray" bgOpacity="0.7" toggle="fade" toggleDuration="250" closeNode="hidettexdlg" style="display:none">
|
||
|
<form name="treetableexportform" onsubmit="return false;">
|
||
|
<p align="center"><b>EXPORT</b></p>
|
||
|
<p align="center">Welche Daten sollen exportiert werden?<br/>
|
||
|
<input type="button" id="treesomedata" class="clsButtonStyle" onclick="exportandhidedlg('some rows');startExport" value="Nur die sichtbaren Tabellenzeilen"></input> 
|
||
|
<input type="button" id="treealldata" class="clsButtonStyle" onclick="exportandhidedlg('all rows')" value="Alle Daten"></input> 
|
||
|
<br/><br/>
|
||
|
<input id="hidettexdlg" class="clsButtonStyle" type="button" value="Abbrechen"></input>
|
||
|
</p>
|
||
|
</form>
|
||
|
</div>
|
||
|
<!-- end export dlg -->
|
||
|
</xsl:if>
|
||
|
|
||
|
<!-- start lesezeichen -->
|
||
|
<div dojoType="dialog" id="lesezeichendlg" bgColor="darkgray" bgOpacity="0.7" toggle="fade" toggleDuration="250" closeNode="hidelesezeichen" style="display:none">
|
||
|
<form name="lesezeichenform" onsubmit="return false;">
|
||
|
<h1 align="center">Lesezeichen erstellen</h1>
|
||
|
<div id="lesezeichenlinkdiv">
|
||
|
<p align="center"> Hier Ihr Lesezeichen-Link:</p>
|
||
|
<h3 align="center"><a id="lesezeichenlink"></a></h3>
|
||
|
<p align="center" id="lesezeicheninfoIE"> Klicken Sie mit der <b><font color="red">rechten Maustaste</font></b> auf den obigen Link und wählen Sie <br/><br/><b>"Zu Favoriten hinzufügen"</b><br/>
|
||
|
<br/>
|
||
|
Es folgt ein Sicherheitshinweis <br/>"Sie fügen einen Favoriten hinzu, der möglicherweise nicht sicher ist"<br/>
|
||
|
Den können Sie bestätigen, da SuperX-Lesezeichen nur harmloses JavaScript verwenden.<br/><br/>
|
||
|
Hinweis: Damit SuperX-Lesezeichen im IE7 aufgerufen werden können, muss vorher eine beliebige andere Seite angezeigt werden.</p>
|
||
|
<p align="center" id="lesezeicheninfoFF"> Klicken Sie mit der <b><font color="#f17c00">rechten Maustaste</font></b> auf den obigen Link und wählen Sie <br/><b>"Lesezeichen für diesen Link hinzufügen"</b>
|
||
|
</p>
|
||
|
<p align="center" id="lesezeicheninfoOther">
|
||
|
Klicken Sie mit der linken Maustaste auf den Link, dann öffnet sich ein neues Fenster mit der Maske, die Sie dann als Lesezeichen hinzufügen können.</p>
|
||
|
<br/><br/><br/><br/><br/><br/><br/>
|
||
|
<p align="center"><input id="hidelesezeichen" class="clsButtonStyle" type="button" value="Dialog schließen"></input></p>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
</form>
|
||
|
</div>
|
||
|
|
||
|
<!-- end lesezeichen-->
|
||
|
<!-- start deeplink-->
|
||
|
<div dojoType="dialog" id="deeplinkdlg" bgColor="darkgray" bgOpacity="0.7" toggle="fade" toggleDuration="250" closeNode="hidedeeplink" style="display:none">
|
||
|
<form name="deeplinkform" onsubmit="return false;">
|
||
|
<h1 align="center">Deeplink erstellen</h1>
|
||
|
<div id="deeplinkdiv">
|
||
|
<br/><br/>
|
||
|
<p align="center">
|
||
|
Ausgabe
|
||
|
<select id="deeplinkausgabe" name="deeplinkausgabe" size="1" onchange="deeplink_ausgabeformat()">
|
||
|
<option value="tabelle_html_datenblatt.xsl">Standard HTML</option>
|
||
|
<option value="tabelle_html_p.xsl">Standard Druckversion</option>
|
||
|
<option value="tabelle_xls.xsl">Standard Excel</option>
|
||
|
<option value="tabelle_fo_pdf.xsl">Standard PDF</option>
|
||
|
<option value="tabelle_xml.xsl">Standard XML</option>
|
||
|
<xsl:for-each select="/ergebnisse/stylesheets/stylesheet[filename!='tabelle_html.xsl' and filename!='tabelle_html_datenblatt.xsl' and filename!='tabelle_html_p.xsl' and filename!='tabelle_xls.xsl'
|
||
|
and filename!='tabelle_fo_pdf.xsl' and filename!='tabelle_xml.xsl' and filename!='tabelle2jasperreport_generic.xsl']">
|
||
|
<option>
|
||
|
<xsl:attribute name="value"><xsl:value-of select="filename"/></xsl:attribute>
|
||
|
<xsl:value-of select="caption"/>
|
||
|
</option>
|
||
|
|
||
|
</xsl:for-each>
|
||
|
</select>
|
||
|
</p>
|
||
|
<div id="div_jasper_ausgabeformat" style="display:none">
|
||
|
<p align="center"> Ausgabeformat
|
||
|
<select id="jasper_ausgabeformat" onchange="document.getElementById('deeplinktext').innerHTML='';">
|
||
|
<option></option>
|
||
|
<option value="application/vnd.ms-excel">Excel</option>
|
||
|
<option value="application/pdf">PDF</option>
|
||
|
<option value="application/rtf">RTF</option>
|
||
|
<option value="application/vnd.oasis.opendocument.spreadsheet">ODS</option>
|
||
|
<option value="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet">XLSX</option>
|
||
|
<option value="text/html" selected="true">HTML</option>
|
||
|
<option value="image/png" selected="true">Portlet</option></select>
|
||
|
</p>
|
||
|
</div>
|
||
|
<p align="center"> <input id="deeplinkcreate" class="clsButtonStyle" type="button" value="Link erzeugen">
|
||
|
<xsl:attribute name="onclick"><xsl:text>createLinkForMask('</xsl:text><xsl:value-of select="/ergebnisse/@hisinone_refapp" /><xsl:text>');</xsl:text></xsl:attribute>
|
||
|
</input></p>
|
||
|
<textarea id="deeplinktext" name="deeplinktext" cols="130" rows="13"></textarea>
|
||
|
<p align="center"> Den fertigen Link können Sie per Copy&Paste kopieren</p>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
<p align="center"><input id="hidedeeplink" class="clsButtonStyle" type="button" value="Dialog schließen"></input></p>
|
||
|
</form>
|
||
|
</div>
|
||
|
|
||
|
<!--ende deeplink-->
|
||
|
</xsl:template>
|
||
|
<!-- end DOjo dialoge-->
|
||
|
<!-- start obsolet -->
|
||
|
<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>
|
||
|
<!-- end -->
|
||
|
<!-- start customize standard ist leer, kann von Spezialstylesheets überlagert werden -->
|
||
|
<xsl:template name="tablecustomize">
|
||
|
<xsl:param name="position"/>
|
||
|
</xsl:template>
|
||
|
<!-- end customize-->
|
||
|
<!-- von reslutse_html.xsl koppiert: -->
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<xsl:template name="header">
|
||
|
<xsl:param name="derwert" />
|
||
|
<th class="header" scope="col">
|
||
|
<xsl:call-template name="removeBackslashN" >
|
||
|
<xsl:with-param name="derwert"><xsl:value-of select="$derwert" /></xsl:with-param>
|
||
|
<xsl:with-param name="format"><xsl:value-of select="'html'" /></xsl:with-param>
|
||
|
</xsl:call-template>
|
||
|
|
||
|
</th>
|
||
|
</xsl:template>
|
||
|
<xsl:template name="removeBackslashN">
|
||
|
<xsl:param name="derwert" />
|
||
|
<xsl:param name="format" select="'html'" />
|
||
|
|
||
|
<!--max. 2 Umbrüche pro Zelle -->
|
||
|
<xsl:variable name="header1">
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="(contains(string($derwert),'\n'))">
|
||
|
|
||
|
<xsl:value-of select="substring-before($derwert,'\n') "/>
|
||
|
<xsl:call-template name="umbruch" >
|
||
|
<xsl:with-param name="format"><xsl:value-of select="$format" /></xsl:with-param>
|
||
|
</xsl:call-template>
|
||
|
<xsl:value-of select="substring-after($derwert,'\n') "/>
|
||
|
</xsl:when>
|
||
|
<xsl:otherwise>
|
||
|
<xsl:value-of select="$derwert" />
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
</xsl:variable>
|
||
|
<xsl:variable name="header2">
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="(contains(string($header1),'\n'))">
|
||
|
<xsl:value-of select="substring-before($header1,'\n') "/>
|
||
|
<xsl:call-template name="umbruch" >
|
||
|
<xsl:with-param name="format"><xsl:value-of select="$format" /></xsl:with-param>
|
||
|
</xsl:call-template>
|
||
|
<xsl:value-of select="substring-after($header1,'\n') "/>
|
||
|
</xsl:when>
|
||
|
<xsl:otherwise>
|
||
|
<xsl:value-of select="$header1" />
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
</xsl:variable>
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="(contains(string($header2),'\000'))">
|
||
|
<xsl:value-of select="substring-before($header2,'\000') "/>
|
||
|
<xsl:call-template name="umbruch" >
|
||
|
<xsl:with-param name="format"><xsl:value-of select="$format" /></xsl:with-param>
|
||
|
</xsl:call-template>
|
||
|
<xsl:value-of select="substring-after($header2,'\000') "/>
|
||
|
</xsl:when>
|
||
|
<xsl:otherwise>
|
||
|
<xsl:value-of select="$header2" />
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
</xsl:template>
|
||
|
<xsl:template name="umbruch">
|
||
|
<xsl:param name="format" select="'html'" />
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="$format='xslfo'">
|
||
|
<xsl:text> </xsl:text>
|
||
|
</xsl:when>
|
||
|
<xsl:when test="$format='html'" >
|
||
|
<!-- klappt derzeit noch nicht:-->
|
||
|
<br /> 
|
||
|
</xsl:when>
|
||
|
<xsl:when test="$format='xls'">
|
||
|
<xsl:text> </xsl:text>
|
||
|
</xsl:when>
|
||
|
<xsl:otherwise >
|
||
|
<xsl:text> </xsl:text>
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template name="printheader">
|
||
|
<xsl:param name="derwert" />
|
||
|
<th class="printheader">
|
||
|
<!--max. 2 Umbrüche pro Zelle -->
|
||
|
<xsl:variable name="header1">
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="(contains(string($derwert),'\n'))">
|
||
|
<xsl:value-of select="substring-before($derwert,'\n') "/>
|
||
|
<br />
|
||
|
<xsl:value-of select="substring-after($derwert,'\n') "/>
|
||
|
</xsl:when>
|
||
|
<xsl:otherwise>
|
||
|
<xsl:value-of select="$derwert" />
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
</xsl:variable>
|
||
|
<xsl:variable name="header2">
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="(contains(string($header1),'\n'))">
|
||
|
<xsl:value-of select="substring-before($header1,'\n') "/>
|
||
|
<br />
|
||
|
<xsl:value-of select="substring-after($header1,'\n') "/>
|
||
|
</xsl:when>
|
||
|
<xsl:otherwise>
|
||
|
<xsl:value-of select="$header1" />
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
</xsl:variable>
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="(contains(string($header2),'\000'))">
|
||
|
<xsl:value-of select="substring-before($header2,'\000') "/>
|
||
|
<br />
|
||
|
<xsl:value-of select="substring-after($header2,'\000') "/>
|
||
|
</xsl:when>
|
||
|
<xsl:otherwise>
|
||
|
<xsl:value-of select="$header2" />
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
|
||
|
</th>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template name="navigationsfuss">
|
||
|
<input type="hidden" name="offset">
|
||
|
<xsl:attribute name="value"><xsl:value-of select="sqlerg/@offset" /></xsl:attribute>
|
||
|
</input>
|
||
|
<p class="klein"><!--<xsl:value-of select="sqlerg/msg" /><br />-->
|
||
|
<xsl:for-each select="felder/msgs/msg">
|
||
|
<xsl:value-of select="wert" />
|
||
|
<br />
|
||
|
</xsl:for-each>
|
||
|
</p>
|
||
|
<xsl:call-template name="navigationsmenue"/>
|
||
|
<!-- erstmal noch nicht
|
||
|
<xsl:variable name="stylesheet">
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="/ergebnisse/stylesheets/stylesheet/filename !='tabelle_html.xsl'">
|
||
|
<xsl:value-of select="/ergebnisse/stylesheets/stylesheet/filename" />
|
||
|
</xsl:when>
|
||
|
<xsl:otherwise>tabelle_html.xsl</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
</xsl:variable>
|
||
|
<p style="margin:1px;padding:1px;"><a style="cursor:pointer;color:blue" onClick="javascript:document.getElementById('hidden_navi').style.visibility='visible'">Schrittweite ändern</a>
|
||
|
<span class="hidden_navi" id="hidden_navi" style="visibility:hidden"> von <input name="newOffset" type="text" size="5" value="{sqlerg/@offset+1}" /> bis <input name="newMaxOffset" type="text" size="5" value="{sqlerg/@offset+sqlerg/@maxOffset}" /><a>
|
||
|
<xsl:attribute name="href"><xsl:text>javascript:document.forms[0].target='_self'; document.forms[0].offset.value=document.forms[0].newOffset.value-1;document.forms[0].maxoffset.value=(document.forms[0].newMaxOffset.value-document.forms[0].newOffset.value+1);document.forms[0].stylesheet.value='</xsl:text>
|
||
|
<xsl:value-of select="$stylesheet" /><xsl:text>';document.forms[0].contenttype.value='text/html'; document.forms[0].submit();</xsl:text></xsl:attribute>
|
||
|
<xsl:text> anzeigen</xsl:text></a>
|
||
|
</span></p>-->
|
||
|
<xsl:if test="errmsg !=''"><p class="errmsg"><xsl:copy-of select="errmsg" /></p></xsl:if>
|
||
|
</xsl:template>
|
||
|
<xsl:template name="field_type">
|
||
|
<!-- obsolet-->
|
||
|
<xsl:choose>
|
||
|
<!--<xsl:when test="@id='0'">
|
||
|
<xsl:attribute name="class">themenspalte</xsl:attribute>
|
||
|
</xsl:when>-->
|
||
|
|
||
|
<xsl:when test="@typ='3'"> <!-- DecimalFormat -->
|
||
|
<xsl:attribute name="class">decimal</xsl:attribute>
|
||
|
</xsl:when>
|
||
|
<xsl:when test="@typ='4' or @typ='-5'"> <!-- Integer -->
|
||
|
<xsl:attribute name="class">integer</xsl:attribute>
|
||
|
</xsl:when>
|
||
|
<xsl:otherwise>
|
||
|
<!--Typ=1 ist string und wird defaultmäßig behandelt -->
|
||
|
<xsl:attribute name="class">ergfeld</xsl:attribute>
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
|
||
|
</xsl:template>
|
||
|
<xsl:template name="field_value">
|
||
|
<!--Transformation:
|
||
|
3=DecimalFormat
|
||
|
4=integer
|
||
|
-7=Boolean
|
||
|
6=date
|
||
|
8=timestamp
|
||
|
9=time
|
||
|
Default ist
|
||
|
1=string-->
|
||
|
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="@id='0'">
|
||
|
<xsl:value-of select="wert" />
|
||
|
</xsl:when>
|
||
|
|
||
|
<xsl:when test="@typ='3'"> <!-- DecimalFormat -->
|
||
|
<xsl:value-of select="format-number(wert,'###.###.###.###.##0,00','German')" />
|
||
|
</xsl:when>
|
||
|
<xsl:when test="@typ='4' or @typ='-5'"> <!-- Integer -->
|
||
|
<xsl:value-of select="format-number(wert,'###.###.###.###.###','German')" />
|
||
|
</xsl:when>
|
||
|
<xsl:when test="@typ='-7'"> <!-- Boolean -->
|
||
|
<input type="checkbox" readonly="true">
|
||
|
<xsl:if test="wert = 'true'">
|
||
|
<xsl:attribute name="checked">true</xsl:attribute>
|
||
|
</xsl:if>
|
||
|
|
||
|
<xsl:attribute name="name"><xsl:value-of select="f_name" /></xsl:attribute>
|
||
|
</input>
|
||
|
</xsl:when>
|
||
|
<xsl:otherwise>
|
||
|
<!--Typ=1 ist string und wird defaultmäßig behandelt -->
|
||
|
<xsl:value-of select="wert" />
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
|
||
|
</xsl:template>
|
||
|
<xsl:template name="datensatzzaehler">
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="sqlerg/@max=0">
|
||
|
Keinen Satz gefunden
|
||
|
</xsl:when>
|
||
|
<xsl:otherwise>
|
||
|
Datensatz <xsl:choose>
|
||
|
<xsl:when test="sqlerg/@offset=0 and sqlerg/@max=0">0</xsl:when>
|
||
|
<xsl:otherwise>
|
||
|
<xsl:value-of select="sqlerg/@offset+1"/>
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose> -
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="(sqlerg/@offset + sqlerg/@maxOffset) < sqlerg/@max">
|
||
|
<xsl:value-of select="(sqlerg/@offset + sqlerg/@maxOffset)"/> von insgesamt
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="sqlerg/@max =1 ">
|
||
|
<xsl:value-of select="sqlerg/@max"/> Satz
|
||
|
</xsl:when>
|
||
|
<xsl:otherwise>
|
||
|
<xsl:value-of select="sqlerg/@max"/> Sätzen
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
|
||
|
</xsl:when>
|
||
|
<xsl:otherwise>
|
||
|
<xsl:value-of select="sqlerg/@max"/> von insgesamt
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="sqlerg/@max =1 ">
|
||
|
<xsl:value-of select="sqlerg/@max"/> Satz.
|
||
|
</xsl:when>
|
||
|
<xsl:otherwise>
|
||
|
<xsl:value-of select="sqlerg/@max"/> Sätzen.
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
</xsl:template>
|
||
|
<xsl:template name="get_colvalue">
|
||
|
<xsl:param name="colname"/>
|
||
|
<xsl:param name="row"/>
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="string-length($row) > 0">
|
||
|
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement/sqlerg/row [ position() = $row ] /col">
|
||
|
<xsl:if test="f_name =$colname">
|
||
|
<xsl:value-of select="wert" />
|
||
|
</xsl:if>
|
||
|
</xsl:for-each>
|
||
|
</xsl:when>
|
||
|
<xsl:otherwise>
|
||
|
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement/sqlerg/row/col">
|
||
|
<xsl:if test="f_name =$colname">
|
||
|
<xsl:value-of select="wert" />
|
||
|
</xsl:if>
|
||
|
</xsl:for-each>
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
</xsl:template>
|
||
|
<!-- nbsp für für leere Zellen im IE -->
|
||
|
<xsl:template name="get_val_or_nbsp">
|
||
|
<xsl:param name="zs4" />
|
||
|
<xsl:copy-of select="$zs4" /><xsl:if test="string-length($zs4)=0"><xsl:text> </xsl:text></xsl:if>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template name="explanation">
|
||
|
<p class="dontprint" align="center"><input type="button" class="clsButtonStyle" name="erl" value="Erläuterung" >
|
||
|
<xsl:attribute name="onClick"><xsl:value-of select="concat('showErlaeuterung',../maskenname/@id,'()')" /></xsl:attribute>
|
||
|
</input>
|
||
|
</p>
|
||
|
<script language = "Javascript">
|
||
|
<xsl:text>
|
||
|
function showErlaeuterung</xsl:text><xsl:value-of select="../maskenname/@id" /><xsl:text><![CDATA[()
|
||
|
{
|
||
|
neu=window.open("","explanation_window","toolbar=yes,resizable=yes,scrollbars=yes,menubar=yes,location=no");
|
||
|
neu.document.write("<h1>Maske ]]></xsl:text><xsl:value-of select="../maskenname" /><xsl:text><![CDATA[</h1>");
|
||
|
neu.document.write("<p> ]]></xsl:text><xsl:call-template name="remove_linebreaksAndQuot"><xsl:with-param name="volltext"><![CDATA[]]><xsl:value-of select="../explanation" /><![CDATA[]]></xsl:with-param></xsl:call-template><xsl:text><![CDATA[</p><hr /><table border='1'><tr><th>Felderläuterung</th><th>Spaltenerläuterung</th></tr><td valign='top'><ol>");
|
||
|
]]>
|
||
|
</xsl:text>
|
||
|
<xsl:for-each select="../felder/feld">
|
||
|
<xsl:text><![CDATA[
|
||
|
neu.document.write("<li><b>]]></xsl:text><xsl:value-of select="@varname" /><xsl:text><![CDATA[</b><br />]]></xsl:text>
|
||
|
<xsl:if test="string-length(caption_long) > 0 and caption_long != 'null'">
|
||
|
<xsl:call-template name="remove_linebreaksAndQuot"><xsl:with-param name="volltext"><![CDATA[]]><xsl:value-of select="caption_long" /><![CDATA[]]></xsl:with-param></xsl:call-template>
|
||
|
</xsl:if><xsl:text><![CDATA[</li>");
|
||
|
]]></xsl:text>
|
||
|
</xsl:for-each>
|
||
|
<xsl:text><![CDATA[
|
||
|
neu.document.write("</ol></td><td valign='top'><ol>");
|
||
|
]]>
|
||
|
</xsl:text>
|
||
|
<xsl:for-each select="sqlerg/headers/header [string-length(caption_long) > 1 and caption_long !='null'and starts-with(f_name,'hidden')=false]">
|
||
|
<xsl:text><![CDATA[
|
||
|
neu.document.write("<li>]]></xsl:text><xsl:call-template name="remove_linebreaksAndQuot"><xsl:with-param name="volltext"><![CDATA[]]><xsl:value-of select="caption_long" /><![CDATA[]]></xsl:with-param></xsl:call-template><xsl:text><![CDATA[</li>");
|
||
|
]]></xsl:text>
|
||
|
</xsl:for-each>
|
||
|
|
||
|
<xsl:text><![CDATA[
|
||
|
neu.document.write("</ol></td></tr></table>");
|
||
|
neu.document.write("<p align='center'><a href='javascript:window.print();'><img src='../applet/images/sx_print.gif' border='0' /></a></p>");
|
||
|
neu.document.write("<p align='center'><a href='javascript:window.close();'>Fenster schließen</a></p>");
|
||
|
neu.document.close();
|
||
|
}
|
||
|
]]>
|
||
|
</xsl:text>
|
||
|
</script>
|
||
|
</xsl:template>
|
||
|
<!-- MB ausgelagert aus tabelle.html-->
|
||
|
<xsl:template name="resultrow">
|
||
|
<xsl:param name="erglevelmax" />
|
||
|
<xsl:param name="row" />
|
||
|
<xsl:param name="excludecols"/>
|
||
|
<tr>
|
||
|
<!-- wenn tr andere Attribute als class/id erhält kann es beim Nachladen von Tabellenzeilen im IE Probleme geben-->
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="col/f_name = 'ebene'">
|
||
|
<!-- DQ 9.12.07 -->
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="$erglevelmax != 5">
|
||
|
<xsl:attribute name="class"><xsl:value-of select="concat('erglevel',$erglevelmax,'_',col[ f_name = 'ebene' ] /wert)" /></xsl:attribute>
|
||
|
</xsl:when>
|
||
|
<xsl:otherwise>
|
||
|
<xsl:attribute name="class"><xsl:text>erglevel_</xsl:text><xsl:value-of select="col[ f_name = 'ebene' ] /wert" /></xsl:attribute>
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
</xsl:when>
|
||
|
<xsl:when test="@issumme='true'">
|
||
|
<xsl:attribute name="class"><xsl:text>issumme</xsl:text></xsl:attribute>
|
||
|
</xsl:when>
|
||
|
<xsl:otherwise>
|
||
|
<!-- odd und even -->
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="position() mod 2 = 1">
|
||
|
<xsl:attribute name="class"><xsl:text>listRowOdd</xsl:text></xsl:attribute>
|
||
|
</xsl:when>
|
||
|
<xsl:otherwise>
|
||
|
<xsl:attribute name="class"><xsl:text>listRowEven</xsl:text></xsl:attribute>
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
|
||
|
<xsl:attribute name="id"><xsl:value-of select="@treetableid" /></xsl:attribute>
|
||
|
<!-- MB 5/2011 rowno ist id im XML, fuer Export ausgewaehlter Zeilen nach Excel/PDF benoetigt -->
|
||
|
<xsl:attribute name="irowno"><xsl:value-of select="@internalrowno" /></xsl:attribute>
|
||
|
|
||
|
<!-- MB 04/2010 hidden und bestimmte Spalte ausblenden-->
|
||
|
<xsl:for-each select="col[not (starts-with(f_name,'hidden')) and not (contains($excludecols,f_name))]">
|
||
|
|
||
|
<xsl:call-template name="tablecell"/>
|
||
|
|
||
|
</xsl:for-each>
|
||
|
</tr>
|
||
|
</xsl:template>
|
||
|
<xsl:template name="tablecell">
|
||
|
<xsl:variable name="tdClass"><xsl:call-template name="tdCssClassErgfeld"><xsl:with-param name="checkname"><xsl:value-of select="concat('hidden',f_name,'css')"/></xsl:with-param></xsl:call-template></xsl:variable>
|
||
|
<td>
|
||
|
<xsl:attribute name="class"><xsl:value-of select="$tdClass" />
|
||
|
</xsl:attribute>
|
||
|
<xsl:choose>
|
||
|
|
||
|
<xsl:when test="starts-with(f_name,'_graph')"> <!-- Balkendiagramm -->
|
||
|
<img src="../images/blue_bar.jpg" height="10px" border="0px" width="{concat(wert,'px')}"/>
|
||
|
</xsl:when>
|
||
|
<xsl:when test="@typ='3'"> <!-- DecimalFormat -->
|
||
|
|
||
|
<!--<xsl:value-of select="wert" />-->
|
||
|
<xsl:call-template name="displaydecimal"><xsl:with-param name="checkname"><xsl:value-of select="concat('hidden',f_name,'dp')"/></xsl:with-param></xsl:call-template>
|
||
|
|
||
|
|
||
|
</xsl:when>
|
||
|
<xsl:when test="@typ='4'"> <!-- Integer -->
|
||
|
<!--<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="' '" />
|
||
|
</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:if test="/ergebnisse/@isMakro!='true' and position()=2 and ../@treeindent >=0">
|
||
|
<xsl:call-template name="indent">
|
||
|
<xsl:with-param name="i">1</xsl:with-param>
|
||
|
<xsl:with-param name="count"><xsl:value-of select="../@treeindent"/></xsl:with-param>
|
||
|
</xsl:call-template>
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="/ergebnisse/@isMakro!='true' and ../@isfolder='true'">
|
||
|
<a>
|
||
|
<!-- MB 4.3.09 Attribut mit Sprungzielanker definiert, damit bei großen Tabellen an passende Stelle gesprungen wird-->
|
||
|
<xsl:attribute name="href"><xsl:text>#</xsl:text><xsl:value-of select="../@treetableid"/></xsl:attribute>
|
||
|
<xsl:attribute name="onclick">
|
||
|
<xsl:text>ajaxNodeToggle('</xsl:text><xsl:value-of select="../@treetableid"/><xsl:text>','</xsl:text>
|
||
|
<xsl:value-of select="../@internalrowno"/><xsl:text>')</xsl:text>
|
||
|
</xsl:attribute>
|
||
|
<img src="/superx/xml/folder_green.gif" class="treebutton" alt="" width="16" height="16" />
|
||
|
</a>
|
||
|
</xsl:when>
|
||
|
<xsl:otherwise>
|
||
|
 
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
</xsl:if>
|
||
|
<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>
|
||
|
|
||
|
<xsl:if test="f_name = 'ebene' and ../@isfolder='true'">
|
||
|
<!--
|
||
|
<xsl:call-template name="indent">
|
||
|
<xsl:with-param name="i">1</xsl:with-param>
|
||
|
<xsl:with-param name="count"><xsl:value-of select="../@treeindent"/></xsl:with-param>
|
||
|
</xsl:call-template>
|
||
|
<a href="#">
|
||
|
<xsl:attribute name="onclick">
|
||
|
<xsl:text>ajaxNodeToggle('</xsl:text><xsl:value-of select="../@treetableid"/><xsl:text>','</xsl:text>
|
||
|
<xsl:value-of select="../@internalrowno"/><xsl:text>')</xsl:text>
|
||
|
</xsl:attribute>
|
||
|
<img src="/superx/xml/folder_green.png" class="treebutton" alt="" width="16" height="16" />
|
||
|
</a>
|
||
|
-->
|
||
|
</xsl:if>
|
||
|
</td>
|
||
|
</xsl:template>
|
||
|
<!-- wenn es Spalte hiddenfeldnamecss gibt, dann spezielle css-Klasse für td-Element, ansonsten "ergfeld" -->
|
||
|
<xsl:template name="tdCssClassErgfeld">
|
||
|
<xsl:param name="checkname" />
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="../col[f_name=$checkname]/wert!=''">
|
||
|
<xsl:value-of select="../col[f_name=$checkname]/wert" />
|
||
|
</xsl:when>
|
||
|
<xsl:when test="@typ='3'"> <!-- DecimalFormat -->
|
||
|
<xsl:text>decimal</xsl:text>
|
||
|
</xsl:when>
|
||
|
<xsl:when test="@typ='4'">
|
||
|
<xsl:text>integer</xsl:text>
|
||
|
</xsl:when>
|
||
|
<xsl:otherwise><xsl:text>ergfeld</xsl:text></xsl:otherwise>
|
||
|
|
||
|
</xsl:choose>
|
||
|
|
||
|
</xsl:template>
|
||
|
<xsl:template name="displaydecimal">
|
||
|
<xsl:param name="checkname" />
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="wert != ''">
|
||
|
|
||
|
<xsl:choose> <!--MB wenn es eine versteckte hidden_decimalpl gibt auswerten-->
|
||
|
<xsl:when test="../col[f_name=$checkname]/wert='0'">
|
||
|
<xsl:value-of select="format-number(wert,'###.###.###.###.###','German')" />
|
||
|
</xsl:when>
|
||
|
<xsl:when test="../col[f_name=$checkname]/wert='1'">
|
||
|
<xsl:value-of select="format-number(wert,'###.###.###.###.##0,0','German')" />
|
||
|
</xsl:when>
|
||
|
<xsl:when test="../col[f_name=$checkname]/wert='2'">
|
||
|
<xsl:value-of select="format-number(wert,'###.###.###.###.##0,00','German')" />
|
||
|
</xsl:when>
|
||
|
<xsl:when test="../col[f_name=$checkname]/wert='3'">
|
||
|
<xsl:value-of select="format-number(wert,'###.###.###.###.##0,000','German')" />
|
||
|
</xsl:when>
|
||
|
<xsl:when test="../col[f_name=$checkname]/wert='4'">
|
||
|
<xsl:value-of select="format-number(wert,'###.###.###.###.##0,0000','German')" />
|
||
|
</xsl:when>
|
||
|
<xsl:when test="../col[f_name=$checkname]/wert='5'">
|
||
|
<xsl:value-of select="format-number(wert,'###.###.###.###.##0,00000','German')" />
|
||
|
</xsl:when>
|
||
|
<xsl:when test="../col[f_name=$checkname]/wert='6'">
|
||
|
<xsl:value-of select="format-number(wert,'###.###.###.###.##0,000000','German')" />
|
||
|
</xsl:when>
|
||
|
<xsl:otherwise>
|
||
|
<xsl:value-of select="format-number(wert,'###.###.###.###.##0,00','German')" />
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
</xsl:when>
|
||
|
<xsl:otherwise>
|
||
|
<xsl:value-of select="' '" />
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
</xsl:template>
|
||
|
</xsl:stylesheet>
|