Changeset 4977 for trunk/gsdl3/web/interfaces
- Timestamp:
- 2003-07-18T15:53:23+12:00 (21 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gsdl3/web/interfaces/default/transform/service-params.xsl
r4900 r4977 10 10 <!-- the default param list handling --> 11 11 <xsl:template match="paramList"> 12 <p/><table width="100%"> 12 <xsl:param name="ns">s1.</xsl:param> 13 <table width="100%"> 13 14 <xsl:for-each select="param"> 14 15 <xsl:choose> 15 16 <xsl:when test="@type='multi'"> 16 17 <tr><td colspan='2'> 17 <xsl:apply-templates select='.' /></td></tr>18 <xsl:apply-templates select='.'><xsl:with-param name="ns" select="$ns"/></xsl:apply-templates></td></tr> 18 19 </xsl:when> 19 20 <xsl:otherwise> 20 <xsl:variable name="pname" select="@name"/> 21 <xsl:variable name="pvalue"><xsl:apply-templates select="." mode="calculate-default"/></xsl:variable> 22 <tr><td><xsl:value-of select="displayItem[@name='name']"/></td><td align="right"><xsl:apply-templates select="."><xsl:with-param name="default" select="$pvalue"/></xsl:apply-templates></td></tr> 21 <xsl:variable name="pvalue"><xsl:apply-templates select="." mode="calculate-default"><xsl:with-param name="ns" select="$ns"/></xsl:apply-templates></xsl:variable> 22 <tr><td><xsl:value-of select="displayItem[@name='name']"/></td><td align="right"><xsl:apply-templates select="."><xsl:with-param name="default" select="$pvalue"/><xsl:with-param name="ns" select="$ns"/></xsl:apply-templates></td></tr> 23 23 </xsl:otherwise> 24 24 </xsl:choose> … … 27 27 </xsl:template> 28 28 29 <!-- puts all the params into a=p&p=h type form - need to change this if use 30 multi params --> 31 <xsl:template match="paramList" mode="cgi"> 32 <xsl:param name="ns">s1.</xsl:param> 33 <xsl:for-each select="param"> 34 <xsl:variable name='pname' select="@name"/> 35 <xsl:text>&</xsl:text><xsl:value-of select="$ns"/><xsl:value-of select="@name"/>=<xsl:apply-templates select="." mode="calculate-default"><xsl:with-param name='ns' select='$ns'/></xsl:apply-templates> 36 </xsl:for-each> 37 </xsl:template> 38 29 39 <xsl:template match="param" mode="calculate-default"> 30 <xsl:variable name="pname" select="@name"/> 31 <xsl:choose><xsl:when test="/page/pageRequest/paramList/param[@name=$pname]"><xsl:value-of select="/page/pageRequest/paramList/param[@name=$pname]/@value"/></xsl:when><xsl:otherwise><xsl:value-of select="@default"/></xsl:otherwise></xsl:choose> 40 <xsl:param name="ns">s1.</xsl:param> 41 <xsl:variable name="pname"><xsl:value-of select="$ns"/><xsl:value-of select="@name"/></xsl:variable> 42 <xsl:choose> 43 <xsl:when test="/page/pageRequest/paramList/param[@name=$pname]"> 44 <xsl:choose> 45 <xsl:when test="@type='enum_multi'"><xsl:text>,</xsl:text> 46 <xsl:for-each select="/page/pageRequest/paramList/param[@name=$pname]"> 47 <xsl:value-of select="@value"/>, 48 </xsl:for-each> 49 </xsl:when> 50 <xsl:otherwise> 51 <xsl:value-of select="/page/pageRequest/paramList/param[@name=$pname]/@value"/> 52 </xsl:otherwise> 53 </xsl:choose> 54 </xsl:when> 55 <xsl:otherwise> 56 <xsl:value-of select="@default"/> 57 </xsl:otherwise> 58 </xsl:choose> 32 59 </xsl:template> 33 60 34 61 <!-- boolean params --> 35 62 <xsl:template match="param[@type='boolean']"> 63 <xsl:param name="ns">s1.</xsl:param> 36 64 <xsl:param name="default"/> 37 <xsl:variable name="pname" select='@name'/> 38 <select name='{@shortname}'> 65 <select name='{$ns}{@name}'> 39 66 <option value="0"><xsl:if test="$default='0'"><xsl:attribute name="selected"></xsl:attribute></xsl:if><xsl:value-of select="option[@name='0']/displayItem[@name='name']"/></option> 40 67 <option value="1"><xsl:if test="$default='1'"><xsl:attribute name="selected"></xsl:attribute></xsl:if><xsl:value-of select="option[@name='1']/displayItem[@name='name']"/></option> … … 44 71 <!-- integer params --> 45 72 <xsl:template match="param[@type='integer']"> 73 <xsl:param name="ns">s1.</xsl:param> 46 74 <xsl:param name="default"/> 47 <input type="text" name="{ @shortname}" size="3" value="{$default}"/>75 <input type="text" name="{$ns}{@name}" size="3" value="{$default}"/> 48 76 </xsl:template> 49 77 50 78 <!-- single selection enum params --> 51 79 <xsl:template match="param[@type='enum_single']"> 80 <xsl:param name="ns">s1.</xsl:param> 52 81 <xsl:param name="default"/> 53 <xsl:variable name="pname"><xsl:value-of select='@name'/></xsl:variable>54 82 <xsl:choose> 55 83 <xsl:when test="count(option) = 1"> 56 84 <xsl:value-of select="option/displayItem[@name='name']"/> 57 <input type='hidden' name='{ @shortname}'><xsl:attribute name='value'><xsl:value-of select='option/@name'/></xsl:attribute></input>85 <input type='hidden' name='{$ns}{@name}'><xsl:attribute name='value'><xsl:value-of select='option/@name'/></xsl:attribute></input> 58 86 </xsl:when> 59 87 <xsl:otherwise> 60 <select name="{ @shortname}">88 <select name="{$ns}{@name}"> 61 89 <xsl:for-each select="option"> 62 90 <option value="{@name}"><xsl:if test="@name=$default"><xsl:attribute name="selected"></xsl:attribute></xsl:if><xsl:value-of select="displayItem[@name='name']"/></option> … … 71 99 <!-- how to do defaults for this?? --> 72 100 <xsl:template match="param[@type='enum_multi']"> 73 <xsl:variable name="pname" select='@name'/> 74 <select name="{@shortname}" size='2'><xsl:attribute name="multiple"></xsl:attribute> 101 <xsl:param name="ns">s1.</xsl:param> 102 <xsl:param name="default"/> 103 default = <xsl:value-of select="$default"/> 104 <select name="{$ns}{@name}" size='2'><xsl:attribute name="multiple"></xsl:attribute> 75 105 <xsl:for-each select="option"> 76 <option value="{@name}"><xsl: value-of select="displayItem[@name='name']"/></option>106 <option value="{@name}"><xsl:if test="contains($default, concat(',', @name, ','))"><xsl:attribute name="selected"></xsl:attribute></xsl:if><xsl:value-of select="displayItem[@name='name']"/></option> 77 107 </xsl:for-each> 78 108 </select> … … 81 111 <!-- string params --> 82 112 <xsl:template match="param[@type='string']"> 113 <xsl:param name="ns">s1.</xsl:param> 83 114 <xsl:param name="default"/> 84 <input type="text" name="{ @shortname}" size="50" value="{$default}"/>115 <input type="text" name="{$ns}{@name}" size="50" value="{$default}"/> 85 116 </xsl:template> 86 117 87 118 <!-- large string params --> 88 119 <xsl:template match="param[@type='text']"> 120 <xsl:param name="ns">s1.</xsl:param> 89 121 <xsl:param name="default"/> 90 <textarea name="{ @shortname}" cols="50" rows="3"><xsl:value-of select='$default'/></textarea>122 <textarea name="{$ns}{@name}" cols="50" rows="3"><xsl:value-of select='$default'/></textarea> 91 123 </xsl:template> 92 124 93 125 <!-- multi params - params that are combinations of other params --> 94 126 <xsl:template match="param[@type='multi']"> 127 <xsl:param name="ns">s1.</xsl:param> 95 128 <xsl:variable name="parent" select="@name"/> 96 129 <table> … … 101 134 </xsl:for-each> 102 135 </tr> 103 <xsl:apply-templates select="." mode="contents"><xsl:with-param name="occurs" select="@occurs"/>< /xsl:apply-templates>136 <xsl:apply-templates select="." mode="contents"><xsl:with-param name="occurs" select="@occurs"/><xsl:with-param name="ns" select="$ns"/></xsl:apply-templates> 104 137 </table> 105 138 </xsl:template> 106 139 107 140 <xsl:template match="param[@type='multi']" mode="contents"> 141 <xsl:param name="ns">s1.</xsl:param> 108 142 <xsl:param name="occurs">1</xsl:param> 109 143 <xsl:variable name="pos" select="@occurs - $occurs"/> … … 113 147 <td><xsl:choose> 114 148 <xsl:when test="not(@ignore) or @ignore != $pos"> 115 <xsl:apply-templates select='.'><xsl:with-param name="default" select="java:org.greenstone.gsdl3.util.XSLTUtil.getNumberedItem($values, $pos)"/>< /xsl:apply-templates>149 <xsl:apply-templates select='.'><xsl:with-param name="default" select="java:org.greenstone.gsdl3.util.XSLTUtil.getNumberedItem($values, $pos)"/><xsl:with-param name="ns" select="$ns"/></xsl:apply-templates> 116 150 </xsl:when> 117 151 <xsl:otherwise><!-- put in a hidden placeholder --> 118 <input type="hidden" name='{ @shortname}' value=''/>152 <input type="hidden" name='{$ns}{@name}' value=''/> 119 153 </xsl:otherwise> 120 154 </xsl:choose></td> … … 122 156 <!-- recursively call this template to get multiple entries --> 123 157 <xsl:if test="$occurs > 1"> 124 <xsl:apply-templates select="." mode="contents"><xsl:with-param name="occurs" select="$occurs - 1"/>< /xsl:apply-templates>158 <xsl:apply-templates select="." mode="contents"><xsl:with-param name="occurs" select="$occurs - 1"/><xsl:with-param name="ns" select="$ns"/></xsl:apply-templates> 125 159 </xsl:if> 126 160 </xsl:template>
Note:
See TracChangeset
for help on using the changeset viewer.