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

276 lines
9.3 KiB

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="levels.xsl" />
<xsl:template match="/">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>
<title>Eingabemaske</title>
<LINK REL="stylesheet" type="text/css" href="../style/superx.css"/>
<LINK REL="stylesheet" type="text/css" href="../xml/maske_html.css"/>
</head>
<body>
<p align="right">
<a href="http://www.superx-projekt.de" title="Zur SuperX-Homepage">
<img src="../applet/images/info.gif" alt="Zur SuperX-Homepage" border="0" /></a>
</p>
<xsl:if test="/maske/nachricht !=''"><p>
<xsl:copy-of select="/maske/nachricht" /></p>
</xsl:if>
<p class="maskentitel"><xsl:value-of select="maske/felder/feld/maskenname" /></p>
<p>Bitte schränken Sie Ihre Auswahl ein:</p>
<form name="maske" action="SuperXmlTabelle" method="post"><input type="hidden" name="UserID">
<xsl:attribute name="value"><xsl:value-of select="/maske/UserID"/></xsl:attribute>
</input>
<xsl:for-each select="maske/felder">
<p><input type="hidden" name="tid">
<xsl:attribute name="value">
<xsl:value-of select="../../maske/@tid"/>
</xsl:attribute>
</input>
<xsl:for-each select="feld">
<xsl:call-template name="feld">
</xsl:call-template>
<br></br>
</xsl:for-each>
<br></br>
<input type="submit" value="Abschicken"/>
</p>
</xsl:for-each>
</form>
</body>
</html>
</xsl:template>
<xsl:template name="feld">
<xsl:call-template name="inputfeld"/><br></br>
</xsl:template>
<xsl:template name="inputfeld">
<xsl:if test="obligatorisch='1'">
<b>
<xsl:value-of select="name"/>
</b>
</xsl:if>
<xsl:if test="obligatorisch='0'">
<xsl:value-of select="name"/>
</xsl:if>
&#160;
<xsl:choose>
<xsl:when test="art='0'">
<xsl:if test="zeilenanzahl='1'">
<input type="text">
<xsl:attribute name="NAME">
<xsl:value-of select="name"/>
</xsl:attribute>
<xsl:attribute name="id">
<xsl:value-of select="name"/>
</xsl:attribute>
<xsl:attribute name="MAXLENGTH">
<xsl:value-of select="laenge"/>
</xsl:attribute>
<xsl:attribute name="VALUE">
<xsl:value-of select="defaultwert/sqlerg/row/col0"/>
</xsl:attribute>
<xsl:attribute name="size">
<xsl:value-of select="feldbreite"/>
</xsl:attribute>
</input>
</xsl:if>
<xsl:if test="zeilenanzahl!='1'">
<textarea WRAP="on">
<xsl:attribute name="cols">
<xsl:value-of select="feldbreite"/>
</xsl:attribute>
<xsl:attribute name="rows">
<xsl:value-of select="zeilenanzahl"/>
</xsl:attribute>
<xsl:attribute name="NAME">
<xsl:value-of select="name"/>
</xsl:attribute>
<xsl:value-of select="defaultwert/sqlerg/row/col0"/>
</textarea>
</xsl:if>
</xsl:when>
<xsl:when test="art='1'">
<SELECT>
<xsl:attribute name="NAME">
<xsl:value-of select="name"/>
</xsl:attribute>
<OPTION/>
<xsl:for-each select="relation/sqlerg/row">
<OPTION>
<xsl:attribute name="value">
<xsl:value-of select="col0"/>
</xsl:attribute>
<xsl:if test="../../../defaultwert/sqlerg/row/col0=col0">
<xsl:attribute name="selected">
true
</xsl:attribute>
</xsl:if>
<xsl:value-of select="col1"/>
</OPTION>
</xsl:for-each>
</SELECT>
</xsl:when>
<xsl:when test="art='2'">
<SELECT>
<xsl:attribute name="NAME">
<xsl:value-of select="name"/>
</xsl:attribute>
<OPTION/>
<xsl:for-each select="relation/sqlerg/row">
<OPTION>
<xsl:attribute name="value">
<xsl:value-of select="col0"/>
</xsl:attribute>
<xsl:if test="../../../defaultwert/sqlerg/row/col1=col1">
<xsl:attribute name="selected">
true
</xsl:attribute>
</xsl:if>
<xsl:value-of select="col1"/>
</OPTION>
</xsl:for-each>
</SELECT>
</xsl:when>
<xsl:when test="art='3'">
<input type="file">
<xsl:attribute name="NAME">
<xsl:value-of select="name"/>
</xsl:attribute>
<xsl:attribute name="size">
<xsl:value-of select="feldbreite"/>
</xsl:attribute>
</input>
</xsl:when>
<xsl:when test="art='4'">
<xsl:call-template name="treeview">
</xsl:call-template>
<input type="hidden" name="Organigramm-Stand">
<xsl:attribute name="value">
<xsl:value-of select="/maske/@datum"/>
</xsl:attribute>
</input>
<input type="hidden" name="erlaubt" value="1"/>
</xsl:when>
<xsl:when test="art='6'">
<xsl:call-template name="treeview">
</xsl:call-template>
<input type="hidden" name="Organigramm-Stand">
<xsl:attribute name="value">
<xsl:value-of select="/maske/@datum"/>
</xsl:attribute>
</input><input type="hidden" name="erlaubt" value="1"/>
</xsl:when>
<xsl:when test="art='7'">
<xsl:call-template name="treeview">
</xsl:call-template>
<input type="hidden" name="Organigramm-Stand">
<xsl:attribute name="value">
<xsl:value-of select="/maske/@datum"/>
</xsl:attribute>
</input>
<input type="hidden" name="erlaubt" value="1"/>
</xsl:when>
<xsl:when test="art='9'">
<xsl:call-template name="treeview">
</xsl:call-template>
</xsl:when>
<xsl:when test="art='10'">
<input type="checkbox" value="true">
<xsl:attribute name="NAME">
<xsl:value-of select="name"/>
</xsl:attribute>
<xsl:attribute name="checked">
<xsl:value-of select="defaultwert/sqlerg/row/col0"/>
</xsl:attribute>
</input>
</xsl:when>
<xsl:otherwise>Unbekanntes Feld</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="treeview">
<!--Das Treeview-Control geht davon aus, dass im sqlerg die Felder wie folgt belegt sind:
col0 enthält den Volltext des Eintrags,
col1 die nr bzw. key_apnr beim Organigramm
col2 den parent-Knoten
-->
<select>
<xsl:attribute name="name">
<xsl:value-of select="name"/>
</xsl:attribute>
<option></option>
<xsl:variable name="t_root"/>
<xsl:for-each select="relation/sqlerg/row">
<xsl:if test="((col2='null') or (col2=''))">
<!--Zuerst wird root eingefügt, und dann alle Kinder von Root -->
<OPTION>
<xsl:attribute name="value">
<xsl:value-of select="col1"/>
</xsl:attribute>
<xsl:if test="../../../defaultwert/sqlerg/row/col1=col1">
<xsl:attribute name="selected">
true
</xsl:attribute>
</xsl:if>
<xsl:value-of select="col0"/>
</OPTION>
<xsl:call-template name="suche_kinder">
<xsl:with-param name="elter" select="col1"/>
<xsl:with-param name="ausgewaehlt" select="../../../defaultwert/sqlerg/row/col1"/>
<xsl:with-param name="ebene" select="0"/>
</xsl:call-template>
</xsl:if>
</xsl:for-each>
</select>
</xsl:template>
<xsl:template name="suche_kinder">
<xsl:param name="elter"/>
<xsl:param name="ausgewaehlt"/>
<xsl:param name="ebene"/>
<xsl:for-each select="../row">
<xsl:variable name="i" select="col2"/>
<xsl:if test="$i=$elter">
<OPTION>
<xsl:attribute name="value">
<xsl:value-of select="col1"/>
</xsl:attribute>
<xsl:if test="$ausgewaehlt=col1">
<xsl:attribute name="selected">
true
</xsl:attribute>
</xsl:if>
<xsl:call-template name="levels">
<xsl:with-param name="ebene" select="$ebene"/>
</xsl:call-template>
<xsl:value-of select="col0"/>
</OPTION>
<xsl:call-template name="suche_kinder">
<xsl:with-param name="elter" select="col1"/>
<xsl:with-param name="ausgewaehlt" select="$ausgewaehlt"/>
<xsl:with-param name="ebene" select="$ebene+1"/>
</xsl:call-template>
</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>