xml和xsl生成html页面
    用xsl解析xml文件,遍历xml一个节点下的子节点,根据子节点的属性输出文本框或者是下拉框,或者是button。可以下载附件,双击xml即可看到效果
1。xsl文件的内容如下
<?xml version="1.0" encoding="utf-8"?>   
<xsl:stylesheet version="1.0"   
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml"
>
<!-- 定义一个template,生成文本框,根据xml设置文本框的id,name,click方法等,代码如下 -->
<xsl:template name="input">
	 		<xsl:choose>
				<xsl:when test="enable">
					<xsl:if test="enable!='hidden'">
						<xsl:if test="description">
							<span class="name"><xsl:value-of select="description" />:</span> 
						</xsl:if>
					</xsl:if>
				</xsl:when>
				<xsl:otherwise>
					<xsl:if test="description">
						<span class="name"><xsl:value-of select="description" />:</span>
					</xsl:if>
				</xsl:otherwise>
			</xsl:choose>
    	<xsl:element name="input">
    		<xsl:attribute name="id"><xsl:value-of select="@name" /></xsl:attribute>
    		<xsl:attribute name="name"><xsl:value-of select="@name" /></xsl:attribute>
    		<xsl:attribute name="class">InputValue</xsl:attribute>
    		<xsl:attribute name="type">text</xsl:attribute>
    		<xsl:if test="enable = 'false'">
				<xsl:attribute name="readonly">true</xsl:attribute>
			</xsl:if>
			<xsl:if test="enable = 'hidden'">
				<xsl:attribute name="style">display:none</xsl:attribute>
			</xsl:if>
			<xsl:if test="default-value">
				<xsl:attribute name="value"><xsl:value-of select="default-value" /></xsl:attribute>
			</xsl:if>
			<xsl:if test="comp/events/event">
				<xsl:for-each select="comp/events/event">
					<xsl:choose>
						<xsl:when test="@type='click'">
							<xsl:attribute name="onclick">
								<xsl:value-of select="exec-method"></xsl:value-of>
							</xsl:attribute>
						</xsl:when>
						<xsl:when test="@type='blur'">
							<xsl:attribute name="onblur">
								<xsl:value-of select="exec-method"></xsl:value-of>
							</xsl:attribute>
						</xsl:when>
					</xsl:choose>
				</xsl:for-each>
			</xsl:if>
    	</xsl:element>
    	<!-- 如果存在nobr标签,则不换行 -->
		<xsl:choose>
			<xsl:when test="nobr"></xsl:when>
			<xsl:otherwise>
				<div class="clear"></div>
			</xsl:otherwise>
		</xsl:choose>
    </xsl:template>
<!--结束生成text-->
<!-- 定义一个template,生成下拉框,根据xml设置文本框的id,name,change方法等,代码如下 -->
<xsl:template name="select">
		<xsl:choose>
				<xsl:when test="enable">
					<xsl:if test="enable!='hidden'">
						<xsl:if test="description">
							<span class="name"><xsl:value-of select="description" />:</span>
						</xsl:if>
					</xsl:if>
				</xsl:when>
				<xsl:otherwise>
					<xsl:if test="description">
						<span class="name"><xsl:value-of select="description" />:</span>
					</xsl:if>
				</xsl:otherwise>
			</xsl:choose>
    	<xsl:element name="select">
    		<xsl:attribute name="id"><xsl:value-of select="@name" /></xsl:attribute><