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