<?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;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.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].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"; ]]> <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' 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></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>