<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <!-- | UtilDataForm.xsl: Transform <dataform> structural info | into a data-bound HTML Form +--> <xsl:template match="dataform"> <center> <form method="POST" action="{@target}"> <xsl:for-each select="item[@type='hidden']"> <input type="hidden" name="{@name}" value="{normalize-space(.)}"/> </xsl:for-each> <table> <xsl:for-each select="item[@type != 'hidden']"> <tr> <th align="right"><xsl:value-of select="@label"/></th> <td> <xsl:choose> <xsl:when test="@type='text'"> <input type="text" name="{@name}" value="{normalize-space(.)}"> <xsl:if test="@size"> <xsl:attribute name="size"> <xsl:value-of select="@size"/> </xsl:attribute> </xsl:if> </input> </xsl:when> <xsl:when test="@type='textarea'"> <textarea class="code" rows="5" name="{@name}"> <xsl:if test="@size"> <xsl:attribute name="cols"> <xsl:value-of select="@size"/> </xsl:attribute> </xsl:if> <xsl:value-of select="normalize-space(.)"/> </textarea> </xsl:when> <xsl:when test="@type='list'"> <xsl:variable name="default" select="default"/> <select name="{@name}"> <xsl:for-each select="ROWSET/ROW"> <option value="{VALUE}"> <xsl:if test="VALUE=$default"> <xsl:attribute name="selected"/> </xsl:if> <xsl:value-of select="DISPLAY"/> </option> </xsl:for-each> </select> </xsl:when> <xsl:when test="@type='checkboxlist'"> <xsl:variable name="name" select="@name"/> <xsl:for-each select="ROWSET/ROW"> <input type="checkbox" name="{$name}" value="{VALUE}"> <xsl:if test="SELECTED='Y'"> <xsl:attribute name="checked"/> </xsl:if> </input> <xsl:value-of select="DISPLAY"/><br/> </xsl:for-each> </xsl:when> </xsl:choose> </td> </tr> </xsl:for-each> </table> <input type="submit" value="{@submit}"/> </form> </center> </xsl:template> </xsl:stylesheet> |