[xsl] Apply Html templates problem

Subject: [xsl] Apply Html templates problem
From: Simon Reed <simon.reed@xxxxxxxxxx>
Date: Tue, 27 Mar 2001 13:57:55 +0100
> hello
> 
> I need to be able to build html forms using the xslt shown below.   The
> trouble is I need to be able to change the look of the form eg have two
> radio buttons together, maybe three check boxes etc it is easy enough to
> get it to list all the form elements to display vertically but I may need
> to put colspans rowspans etc. What I want to be able to do is have a table
> layout and just apply the xsl so it is only ever the html layout that
> changes.
> 
> xslt
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
> 	<xsl:output method="xml" version="1.0" encoding="UTF-8"
> indent="yes"/>
> 	<xsl:template match="form">
> 	<form action="">
> 		<table border="1">
> 			
> 			<xsl:apply-templates select="item"/>
> 			
> 		</table>	
> 		</form>
> 	</xsl:template>
> 	
> 	<xsl:template match="item[@type='text']" name="text">
> 		<tr><td><xsl:value-of select="@title"/>&#160;<input
> type="text" name="{@name}" size="{@size}" maxlength="{@maxlength}"
> value="{@value}"/></td></tr>
> 	</xsl:template>
> 	
> 	<xsl:template match="item[@type='textarea']" name="textarea">
> 		<textarea type="textarea" name="{@name} " cols="{@cols}"
> rows="{@rows}" value="{@value}" class="{@class}"></textarea>
> 	</xsl:template>
> 	
> 	<xsl:template match="item[@type='radio']" name="radio">
> 		<input type="radio" name="{@name}"  value="{@value}">
> 			<xsl:if test="@selected='yes'">
> 				<xsl:attribute
> name="checked">CHECKED</xsl:attribute>
> 			</xsl:if>
> 		</input>
> 	</xsl:template>
> 	
> 	<xsl:template match="item[@type='hidden']" name="hidden">
> 		<input type="hidden" name="{@name}" value="{@value}"/>
> 	</xsl:template>
> 	
> 	<xsl:template match="item[@type='select']" name="select">
> 		<select name="{@name}" value="{@value}">
> 			<xsl:if test="@multiple='yes'">
> 				<xsl:attribute
> name="multiple">Multiple</xsl:attribute>
> 			</xsl:if>
> 			<xsl:apply-templates select="option"/>
> 		</select>
> 	</xsl:template>
> 	
> 	<xsl:template match="item/option" name="option">
> 		<option type="option" name="{@name}" value="{@value}">
> 			<xsl:if test="@selected='yes'">
> 				<xsl:attribute
> name="SELECTED">SELECTED</xsl:attribute>
> 			</xsl:if>			
> 			<xsl:value-of select="@value"/>
> 		</option>
> 	</xsl:template>
> 	
> 	<xsl:template match="item[@type='checkbox']" name="checkbox">
> 		<input type="checkbox" name="{@name}" value="{@value}">
> 			<xsl:if test="./@selected='yes'">
> 				<xsl:attribute
> name="checked">CHECKED</xsl:attribute>
> 			</xsl:if>
> 		</input>
> 	</xsl:template>
> 	
> 	<xsl:template match="item[@type='submit']" name="submit">
> 		<td><input type="submit" value="{@value}"
> name="{name}"/></td>
> 	</xsl:template>
> 	
> 	<xsl:template match="item[@type='reset']" name="reset">
> 		<input type="reset" value="{@value}" name="{name}"/>
> 	</xsl:template>
> 	
> 	<xsl:template match="item[@type='image']" name="image">
> 		<input type="image" src="{@src}" name="{@name}"
> alt="{@alt}"/>
> 	</xsl:template>
> 	
> 	<xsl:template match="item[@type='file']" name="file">
> 		<input type="file" name="{@name}" size="{@size}"/>
> 	</xsl:template>
> 	
> 	<xsl:template match="item[@type='password']" name="password">
> 		<input type="password" name="{@name}" size="{@size}"
> maxlength="{@maxlength}" value="{@value}"/>
> 	</xsl:template>
> </xsl:stylesheet>
> 
> xml
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <form method="post" action="page1sub.jsp" name="form1">
> 	<item type="text" value="" title="Title" name="title" size="5"
> maxlength="25"/>
> 	<item type="text" value="" title="First Name" name="Forename"
> size="8" maxlength="50"/>
> 	<item type="text" value="" title="Middle Name" name="Middlename"
> size="8" maxlength="50"/>
> 	<item type="text" value="" title="Last Name" name="Surname" size="8"
> maxlength="50"/>
> 	<item type="text" value="" title="Suffix" name="Suffix" size="8"
> maxlength="50"/>
> 	<item type="text" value="" title="Date Of Birth" name="DateOfBirth"
> size="" maxlength="50"/>
> 	<item type="text" value="" title="House No. / Name"
> name="AddressHeader" size="8" maxlength="50"/>
> 	<item type="text" value="" title="Address" name="Addressline"
> size="20" maxlength="100"/>
> 	<item type="text" value="" title="" name="Addresline" size="20"
> maxlength="50"/>
> 	<item type="text" value="" title="Town / City" name="Town" size="20"
> maxlength="50"/>
> 	<item type="text" value="" title="County" name="County" size="20"
> maxlength="50"/>
> 	<item type="text" value="" title="Country" name="Country" size="20"
> maxlength="50"/>
> 	<item type="text" value="" title="Postcode" name="Postcode" size="8"
> maxlength="50"/>
> 	<item type="telephone" value="" title="Mobile" name="Mobile" Cc=""
> Ac="" TelephoneNumber=""/>
> 	<item type="telephone" value="" title="home" name="home"/>
> 	<item type="text" value="" title="EMail Address" name="EMail"
> size="20" maxlength="50"/>
> 	<item type="submit" value="submit" name="submit"/>
> </form>
> 
> 
> 
> 


**********************************************************************
The information in this E-Mail is confidential and may be
legally privileged. It may not represent the views of 
WebX Limited. It is intended solely for the addressees. 
Access to this E-Mail by anyone else is unauthorised. If you 
are not the intended recipient, any disclosure, copying, 
distribution or any action taken or omitted to be taken in 
reliance on it, is prohibited and may be unlawful.  Any 
unauthorised recipient should advise the sender immediately
of the error in transmission.
**********************************************************************

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread