<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version= "1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sx="http://memtext.de">
<xsl:import href= "xsl_functions.xsl" />
<xsl:import href= "resultset_html.xsl" />
<xsl:import href= "interLinks_html.xsl" />
<xsl:import href= "nd_templates.xsl" />
<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" />
<!-- 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:decimal-format name= "German" grouping-separator= "." NaN= "" zero-digit = "0" decimal-separator= "," />
<xsl:variable name= "colon" > <xsl:text > '</xsl:text> </xsl:variable>
<xsl:template match= "/" >
<xsl:variable name= "maskenname" >
<xsl:choose >
<xsl:when test= "/ergebnisse/@isMakro='true'" >
<xsl:value-of select= "/ergebnisse/makro/name" />
</xsl:when>
<xsl:otherwise >
<xsl:value-of select= "/ergebnisse/ergebnis/maskenname" />
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<html >
<head >
<xsl:call-template name= "nd_htmlhead" >
<xsl:with-param name= "title" select= "concat('Tabelle ',$maskenname)" />
</xsl:call-template>
<link rel= "stylesheet" href= "../style/sx_tabelle.css" />
<!-- <link rel="stylesheet" href="../style/superx.css" /> -->
</head>
<xsl:call-template name= "nd_htmlscript" />
<xsl:call-template name= "nd_tableJavascript" />
<xsl:call-template name= "nd_tableCSS" />
<body class= "has-navbar-fixed-top" onload= "document.getElementById('progressbar').style.display='none';tableonload();initThemenbaumJs();" >
<!-- #Template Beginn Top - Navigation -->
<xsl:call-template name= "nd_navi_top" />
<!-- #Template Ende Top - Navigation -->
<div class= "columns" >
<!-- #Template Beginn Navigations - Panel Auswertungen -->
<xsl:if test= "/ergebnisse/@showNavigation='true'" >
<xsl:for-each select= "/ergebnisse" >
<xsl:call-template name= "nd_navi_panel" />
</xsl:for-each>
</xsl:if>
<!-- #Template Ende Navigations - Panel Auswertungen -->
<!-- Beginn Seitentitel, Krümelpfad, Knopfleiste, Legende, Erläuterung -->
<section class= "hero-body" >
<div class= "container" > <!-- NEU 120724 -->
<div class= "columns is-mobile is-left" >
<div class= "column is-full" >
<div class= "card " > <!-- 010824BF entfernt: has - background - light -->
<div class= "card-content" >
<xsl:call-template name= "nd_progressbar" />
<div id= "content" >
<!-- #Template Beginn Seitentitel -->
<xsl:variable name= "masken_tid" > <xsl:value-of select= "/ergebnisse/ergebnis[@ordnr='0']/maskenname/@id" /> </xsl:variable>
<xsl:call-template name= "nd_pagetitle" >
<xsl:with-param name= "title" select= "$maskenname" />
<xsl:with-param name= "subtitle" />
<xsl:with-param name= "icon_classname" select= "/ergebnisse/menue/eintraege/eintrag[@isMaske='true' and tid=$masken_tid]/css_class" />
</xsl:call-template>
<!-- #Template Ende Seitentitel -->
<!-- #Template Krümelpfad -->
<xsl:call-template name= "nd_breadcrumb" />
<!-- #Template Ende Krümelpfad -->
<!-- #Templates Legende -->
<xsl:for-each select= "ergebnisse/ergebnis[@ordnr=0]/ergebniselement" >
<xsl:call-template name= "legende" /> <!-- 141024BF hierher verschoben, aus form="Weiterverarbeitung" -->
<!-- #Template Ende Legende -->
</xsl:for-each>
<div class= "columns" > <!-- 141024BF ergänzt -->
<div class= "column is-two-fifths" > <!-- 141024BF ergänzt -->
<form name= "Weiterverarbeitung" method= "post" target= "_self" charset= "UTF-8" action= "SuperXmlTabelle" >
<xsl:call-template name= "nd_tableHiddenInputs_rpta" />
<xsl:call-template name= "rpta" />
<input type= "hidden" name= "_csrf.parameterName" value= "_csrf.token" />
</form>
</div> <!-- Ende column 141024BF ergänzt -->
</div> <!-- Ende columns 141024BF ergänzt -->
</div> <!-- Ende content -->
</div> <!-- Ende card - content -->
</div> <!-- Ende card - background -->
</div> <!-- Ende column -->
</div> <!-- Ende hero - columns -->
</div> <!-- Ende container.NEU 120724 -->
</section> <!-- Ende hero = Berichts - Card -->
</div> <!-- Ende site - columns -->
<xsl:call-template name= "nd_tableDialogs" />
</body>
</html>
</xsl:template>
<!-- KERN 5.0 Templates nur für Abwärtskomp. im Managementmodul, werden nicht mehr genutzt: -->
<!-- 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;
}
<xsl:call-template name= "jsHis1Pinger" />
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;
}
}
</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">
// für Druck ohne Menü
function printDiv(divName) {
var printContents = document.getElementById(divName).innerHTML;
w=window.open();
w.document.write(printContents);
w.print();
w.close();
}
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 ; i 2 + + )
{
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 ; i 2 + + )
{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.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+="%7C";}
}
}
}
if (!isTreeTable)
{
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+="%7C"+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=document.getElementById(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/tree_minus_rect.svg';
} else {
img.src = '/superx/xml/tree_plus_rect.svg';
}
}
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: "get",
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 ] . a t t r i b u t e s . l e n g t h ; i 2 + + )
{
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 ] . c e l l s . l e n g t h ; i 2 + + )
{
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 ] . c e l l s [ i 2 ] . a t t r i b u t e s . l e n g t h ; i 3 + + )
{
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";
]]>
<xsl:if test= "/ergebnisse/@hisinone_active!='true'" > tableRowHeaderSticky(<xsl:value-of select= "/ergebnisse/ergebnis/ergebniselement/sqlerg/headers/@fixed_column_count" /> );</xsl:if>
}
}
}
);
}
else //kein Nachladen per Dojo nötig
{
treetable_toggleRow(nodeid);
<xsl:if test= "/ergebnisse/@hisinone_active!='true'" > tableRowHeaderSticky(<xsl:value-of select= "/ergebnisse/ergebnis/ergebniselement/sqlerg/headers/@fixed_column_count" /> );</xsl:if>
// 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' and @art!='8' and @art!='13'" > <!-- 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>
<!-- bei Methode direkt auch - leer - uebergeben -->
<xsl:for-each select= "/ergebnisse/ergebnis/completefields/feld" >
<xsl:if test= "(value='' or value='null') and @art!='8' and @art!='13'" >
<xsl:text > <![CDATA[ if (method=='direkt') params+="&"+getEncoded("]]> </xsl:text> <xsl:value-of select= "@varname" /> <xsl:text > ")+"=--leer--";</xsl:text>
</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);
//lesezeichen funktion setzt nur noch Titel, Params hier obsolet
<xsl:text > lesezeichen('/superx/servlet/SuperXmlTabelle',getTid(),'</xsl:text> <xsl:value-of select= "/ergebnisse/@MandantenID" /> <xsl:text > ',params,title);
createLinkForTable('</xsl:text> <xsl:value-of select= "/ergebnisse/@hisinone_refapp" /> <xsl:text > ','</xsl:text> <xsl:value-of select= "/ergebnisse/ergebnis/ergebniselement/sqlerg/headers/@colset" /> <xsl:text > ','</xsl:text> <xsl:value-of select= "/ergebnisse/ergebnis/ergebniselement/sqlerg/headers/@colsort" /> <xsl:text > ');</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= "'SuperXmlTabelle'" /> </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= "{/ergebnisse/@showNavigation}" />
<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" >
<!-- #198418 Problem bei Feldart 1 Typ SQL Beispiel Zeitraum in COB Maske Kosten und Erlöse (Primär und Sekundär) Attribut value aus default/wert key wird nicht richtig escaped
vergl. https://stackoverflow.com/questions/8944513/disable-output-escaping-yes-no-not-working-amp-outputted-twice-in-sharepoint-
Versuche mit <option value= "{key}" > sind auch fehlgeschlagen, vermutlich weil XSTL bei Attributen keine Änderung des Escapings vorsieht
https://stackoverflow.com/questions/7887016/disable-output-escaping-not-working-for-attribute-in-xslt
alter Code:
<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>
neuer Code: -->
<xsl:text disable-output-escaping= "yes" > <![CDATA[<input type="hidden" name="]]> </xsl:text> <xsl:value-of disable-output-escaping= "no" select= "@varname" /> <xsl:text > " value="</xsl:text>
<xsl:value-of disable-output-escaping= "no" select= "value" /> <xsl:text > "</xsl:text>
<xsl:text disable-output-escaping= "yes" > <![CDATA[</input>]]> </xsl:text>
</xsl:for-each>
<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:call-template name= "rpta" />
<input type= "hidden" name= "_csrf.parameterName" value= "_csrf.token" />
</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:comment > Template tableSingletable in file tabelle_html.xsl</xsl:comment>
<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= "sx: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 class= "svg_icon" border= '0' src= '/superx/xml/tree_minus_rect.svg' />  
<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 class= "svg_icon" border= '0' src= '/superx/xml/tree_plus_rect.svg' />  
<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= "sx: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" />
<!-- wenn versteckte Links angegeben sind, nach dem Schema hidden_fname diese anzeigen -->
<xsl:with-param name= "showlinks" > <xsl:text > true</xsl:text> </xsl:with-param>
</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.xsl" > Standard HTML mit Navigation</option>
<option value= "tabelle_html.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' a n d f i l e n a m e ! = ' t a b e l l e _ h t m l _ p . x s l ' a n d f i l e n a m e ! = ' t a b e l l e _ x l s . x s l '
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> </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:value-of select= "/ergebnisse/ergebnis/ergebniselement/sqlerg/headers/@colset" /> <xsl:text > ','</xsl:text> <xsl:value-of select= "/ergebnisse/ergebnis/ergebniselement/sqlerg/headers/@colsort" /> <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 -->
<xsl:template name= "rpta" >
<script language= "JavaScript" type= "text/javascript" >
function setPageFormat(selectFormat)
{
var frmFieldX=document.forms[0].elements["RPTPageFormatX"];
var frmFieldY=document.forms[0].elements["RPTPageFormatY"];
switch (selectFormat.value) {
case "A4":
frmFieldX.value="842";
frmFieldY.value="595";
break;
case "A3":
frmFieldX.value="1191";
frmFieldY.value="842";
break;
case "A0":
frmFieldX.value="3370";
frmFieldY.value="2384";
break;
default:
//A4
frmFieldX.value="842";
frmFieldY.value="595";
break;
}
return true;
}
</script>
<xsl:for-each select= "ergebnisse/ergebnis/ergebniselement" >
<!-- <p class="title is - 4"><xsl:value - of select="../maskenname" /></p>
<p class= "subtitle is-5" > </p> --><!-- 141024BF deaktiviert -->
<!-- <xsl:call - template name="legende" /> --> <!-- 141024BF nach oben, vor Form - Columns verschoben -->
<div class= "field-container" >
<p class= "subtitle is-5" > Exportassistent</p> <!-- 141024BF hier ergänzt -->
<div class= "field is-grouped" >
<div class= "label-container" >
<span class= "labelPflicht" > Ausgabelayout</span>
</div>
<div class= "control-new" >
<div class= "field has-addons" >
<div class= "control is-expanded" >
<div class= "select is-small is-fullwidth is-focused" >
<select name= "stylesheet" >
<option value= "tabelle_jrxml_a4_quer.xsl" selected= "selected" > Tabelle wie angezeigt</option>
</select>
</div>
</div>
<div class= "control" >
<button class= "button is-small is-rounded has-tooltip-bottom"
data-tooltip="Wählen Sie hier das Ausgabeformat, standardmäßig ist die eine Druckseite im Querformat.">
<span class= "icon" aria-hidden= "true" > <img src= "../images/information_grey_liberation.svg" alt= "Info" title= "Info" />
</span>
</button>
</div>
<!-- </div> --> <!-- 141024BF deaktiviert -->
</div> <!-- Ende field has - addons -->
</div> <!-- Ende control - new -->
</div> <!-- Ende field is - grouped -->
<div class= "field is-grouped" >
<div class= "label-container" >
<span class= "labelPflicht" > Seitenformat</span>
</div>
<div class= "control-new" >
<div class= "field has-addons" >
<div class= "control is-expanded" >
<!-- <div class="control"> --> <!-- 141024BF deaktiviert -->
<div class= "select is-small is-fullwidth is-focused" >
<select name= "RPTPageFormat" onChange= "setPageFormat(this);" >
<option value= "A4" selected= "selected" > DIN A 4</option>
<option value= "A3" > DIN A 3</option>
<option value= "A0" > DIN A 0</option>
</select>
</div>
</div>
<div class= "control" >
<button class= "button is-small is-rounded has-tooltip-bottom"
data-tooltip="Wählen Sie hier das Seitenformat, standardmäßig ist die eine Druckseite A3">
<span class= "icon" aria-hidden= "true" > <img src= "../images/information_grey_liberation.svg" alt= "Info" title= "Info" />
</span>
</button>
</div>
<!-- </div> --> <!-- 141024BF deaktiviert -->
</div> <!-- Ende field has - addons -->
</div> <!-- Ende control - new -->
<input name= "RPTPageFormatX" type= "hidden" value= "842" />
<input name= "RPTPageFormatY" type= "hidden" value= "595" />
</div> <!-- Ende field is - grouped -->
<div class= "field is-grouped" >
<div class= "label-container" >
<span class= "labelPflicht" > Ausgabeformat</span>
</div>
<div class= "control-new" >
<div class= "field has-addons" >
<div class= "control is-expanded" >
<!-- <div class="control"> --> <!-- 141024BF deaktiviert -->
<div class= "select is-small is-fullwidth is-focused" >
<select name= "RPTContentype" onchange= "" >
<option value= "application/vnd.ms-excel" > Excel (XLS)</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" selected= "selected" > XLSX</option>
<option value= "text/html" > HTML</option>
<option value= "text/xml" > JRXML-Quellcode</option>
</select>
</div>
</div>
<div class= "control" >
<button class= "button is-small is-rounded has-tooltip-bottom"
data-tooltip="Wählen Sie hier das Ausgabeformat, standardmäßig ist XLSX vorbelegt. Sie können aber auch andere Formate oder den Quellcode für JasperSoft Studio auswählen.">
<span class= "icon" aria-hidden= "true" > <img src= "../images/information_grey_liberation.svg" alt= "Info" title= "Info" />
</span>
</button>
</div>
<!-- </div> --> <!-- 141024BF deaktiviert -->
</div> <!-- ende field has - addons -->
</div> <!-- ende control - new -->
</div> <!-- ende field is - grouped -->
<!-- <li class="panel - block">
<div class= "field is-grouped" >
<div class= "label-container" >
<label class= "label is-required is-small" > Seitenformat</label>
</div>
<span class= "separator" >   </span>
<span class= "separator" >   </span>
<div class= "field-body" >
<div class= "field is-active" >
<p class= "control-new" >
<div class= "select is-small is-fullwidth is-focused" >
<select name= "RPTPageFormat" >
<option value= "A4" selected= "selected" > DIN A 4</option>
<option value= "A3" > DIN A 3</option>
</select>
</div>
</p>
</div>
<span class= "info" onclick= "window.open('http://www.superx-projekt.de/doku/rpta_modul/nutzung/f_Aufruf.htm','_blank','directories=no,location=no,menubar=no,scrollbars=yes,resizable=yes,toolbar=no,width=800,height=660');" >
<figure class= "image is-24x24" >
<img src= "../images/information_grey_liberation.svg" />
</figure>
</span>
</div>
</div>
</li>
<li class= "panel-block" >
<div class= "field is-grouped" >
<div class= "label-container" >
<label class= "label is-required is-small" > Ausgabeformat</label>
</div>
<span class= "separator" >   </span>
<span class= "separator" >   </span>
<div class= "field-body" >
<div class= "field is-active" >
<p class= "control-new" >
<div class= "select is-small is-fullwidth is-focused" >
</div>
</p>
</div>
<span class= "info" onclick= "window.open('http://www.superx-projekt.de/doku/rpta_modul/nutzung/f_Aufruf.htm','_blank','directories=no,location=no,menubar=no,scrollbars=yes,resizable=yes,toolbar=no,width=800,height=660');" >
<figure class= "image is-24x24" >
<img src= "../images/information_grey_liberation.svg" />
</figure>
</span>
</div>
</div>
</li>
</ul> -->
</div>
<footer class= "card-footer" >
<p class= "card-footer-item" >
<span class= "submit_button" >
<button class= "button" type= "submit" onclick= "startExport()" > Abschicken</button> <!-- 141024BF entfernt: is - link is - outlined is - small -->
</span> </p>
<input type= "hidden" name= "RPTPageOrientation" value= "Landscape" />
<input type= "hidden" name= "RPTPagination" value= "False" />
<p class= "card-footer-item" >
<span class= "reset_button" >
<button class= "button" type= "reset" > Zurücksetzen</button> <!-- 141024BF entfernt: is - link is - outlined is - small -->
</span>
</p>
</footer>
</xsl:for-each>
</xsl:template> <!-- Ende template rpta -->
<xsl:template name= "getColumnNameJS" >
<xsl:param name= "columnNameFromDB" />
<xsl:choose >
<xsl:when test= "contains($columnNameFromDB,'?')" >
<xsl:value-of select= "concat('column_',@id+1)" />
</xsl:when>
<xsl:otherwise >
<xsl:value-of select= "$columnNameFromDB" />
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name= "nd_tableHiddenInputs_rpta" >
<input name= "navi" type= "hidden" value= "{/ergebnisse/@showNavigation}" />
<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= "offset" >
<xsl:attribute name= "value" > <xsl:value-of select= "/ergebnisse/ergebnis/ergebniselement/sqlerg/@offset" /> </xsl:attribute>
</input>
<!-- <input type="hidden" name="stylesheet" value="" /> -->
<input type= "hidden" name= "contenttype" value= "application/jrxml" />
<!-- MB 5/2011 fuer Export nur sichtbarer Tabellenzeilen nach Excel/PDF -->
<input type= "hidden" name= "irowno" value= "" />
<xsl:for-each-group select= "/*/*/felder/feld" group-by= "." >
<!-- <xsl:for - each select="distinct - values(//ergebnisse/ergebnis/felder/feld [@varname !='Lehreinheit' and @varname != 'Fakultät' and @varname != 'Studiengang'])"> -->
<!-- #198418 Problem bei Feldart 1 Typ SQL Beispiel Zeitraum in COB Maske Kosten und Erlöse (Primär und Sekundär) Attribut value aus default/wert key wird nicht richtig escaped
vergl. https://stackoverflow.com/questions/8944513/disable-output-escaping-yes-no-not-working-amp-outputted-twice-in-sharepoint-
Versuche mit <option value= "{key}" > sind auch fehlgeschlagen, vermutlich weil XSTL bei Attributen keine Änderung des Escapings vorsieht
https://stackoverflow.com/questions/7887016/disable-output-escaping-not-working-for-attribute-in-xslt
alter Code:
<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>
neuer Code: -->
<xsl:text disable-output-escaping= "yes" > <![CDATA[<input type="hidden" name="]]> </xsl:text> <xsl:value-of disable-output-escaping= "no" select= "@varname" /> <xsl:text > " value="</xsl:text>
<xsl:value-of disable-output-escaping= "no" select= "value" /> <xsl:text > "</xsl:text>
<xsl:text disable-output-escaping= "yes" > <![CDATA[</input>
]]></xsl:text>
</xsl:for-each-group>
</xsl:template>
</xsl:stylesheet>