当前位置: 代码迷 >> XML/SOAP >> xslt 中怎样对变量赋值解决方法
  详细解决方案

xslt 中怎样对变量赋值解决方法

热度:801   发布时间:2012-04-04 16:38:51.0
xslt 中怎样对变量赋值
xml文件 a.xml
<?xml version="1.0" encoding="utf-8"?>
<employee name="人员设置">
  <emp name="个人信息">
  <姓名 id="1" >张三</姓名>
  <公司 id="1" >吉安名流</公司>
  <部门 id="1" >销售部</部门>
  <职位 id="1" >销售部经理</职位>
  </emp>
  <emp>
  <姓名 id="2">李四</姓名>
  <公司 id="1">吉安名流</公司>
  <部门 id="1">销售部</部门>
  <职位 id="2">销售助理</职位>
  </emp>
</employee>

a.xslt

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:db="urn:test-sqlinsert">
  <xsl:output method ="html"/>
  <xsl:param name ="a"/>
  <xsl:param name ="b"/>
  <xsl:param name ="c"/>
  <xsl:param name ="d"/>
<xsl:template match="/">
  <html>
  <body>
  <xsl:apply-templates select ="*"/>
  </body>
  </html>
</xsl:template>
  <xsl:template match ="*">
  <xsl:variable name ="name" select ="local-name()"/>
  <xsl:if test="$name='employee'">
  <h2><xsl:value-of select="@name"/></h2>
  <br/>
  </xsl:if>
  <xsl:if test ="$name='emp'">
  <h4>
  <xsl:value-of select ="@name"/>
  </h4>
  <br/>
  </xsl:if>
  <xsl:choose >
  <xsl:when test ="$name='姓名'"></xsl:when>
  <xsl:when test ="$name='公司'"></xsl:when>
  <xsl:when test ="$name='部门'"></xsl:when>
  <xsl:when test ="$name='职位'"></xsl:when>
  </xsl:choose>
  <xsl:apply-templates select ="*"/>
  </xsl:template>
  <xsl:template name ="text_sss" match ="姓名">
  <xsl:param name ="name1" select ="local-name()"/>
  <xsl:choose>
  <xsl:when test ="$name1='姓名'">
  <td><xsl:value-of select ="@id"/></td>
  <td><xsl:value-of select ="text()"/></td> 
  </xsl:when>
  </xsl:choose>
  </xsl:template>
  <xsl:template name ="text_s" match ="公司">
  <xsl:variable name ="name2" select ="local-name()"/>
  <xsl:choose>
  <xsl:when test ="$name2='公司'">
  <xsl:variable name ="a_id" select ="@id"/>
  <td>
  <xsl:value-of select ="@id"/>
  </td>
  <td>
  <xsl:value-of select ="text()"/>
  </td>
  </xsl:when>
  </xsl:choose>
  </xsl:template>
  <xsl:template name ="text_ss" match ="部门">
  <xsl:param name ="name3" select ="local-name()"/>
  <xsl:choose>
  相关解决方案