以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  for-each 的select可不可以是参数  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=52729)


--  作者:saniya
--  发布时间:9/17/2007 12:07:00 PM

--  for-each 的select可不可以是参数
for-each 的select可不可以是参数
因为xml或者为
<bean1>
<record>
<param1>...</param1>
<param1>...</param1>
</record>
</bean1>
或者为
<bean2>
<record>
<param1>...</param1>
<param1>...</param1>
</record>
</bean2>
我现在将bean1, bean2装在一参数parambean中,<xsl:for-each select="//param/parambean">但发现for-each 拿不到该参数值。
但是如果是先判断parambean=bean1, 就for-each select="bean1"......</for-each></xsl:if> ;
parambean=bean2, 就for-each select="bean2"......</for-each></xsl:if>
是可以的, 只是这样代码很累赘,因为for-each里面的东西基本一样


--  作者:hexun831012
--  发布时间:9/18/2007 8:44:00 AM

--  
可以
--  作者:luypmp
--  发布时间:9/18/2007 12:33:00 PM

--  
只要建个模板,调用这个模板时把相应参数传给它即可(bean1,bean2等)
param.xml
<?xml version="1.0" encoding="GB2312"?>
<param>
 <parambean>
  <bean1>
   <record>
    <param1>bp11</param1>
    <param1>bp12</param1>
   </record>
  </bean1>
 </parambean>
 <parambean>
  <bean2>
   <record>
    <param1>bp21</param1>
    <param1>bp22</param1>
   </record>
  </bean2>
 </parambean>
</param>

trans.xslt
<?xml version="1.0" encoding="GB2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
 <xsl:template match="/">
  <html>
   <head>
    <title/>
   </head>
   <body>
    <table>
     <tr>
      <xsl:call-template name="ptemp">
       <xsl:with-param name="bean" select="param/parambean/bean1"/>
      </xsl:call-template>
     </tr>
    </table>
   </body>
  </html>
 </xsl:template>
 <xsl:template name="ptemp">
  <xsl:param name="bean"/>
  <xsl:for-each select="$bean">
   <td>
    <xsl:value-of select="."/>
   </td>
  </xsl:for-each>
 </xsl:template>
</xsl:stylesheet>


--  作者:saniya
--  发布时间:10/12/2007 9:32:00 PM

--  
http://www.topxml.com/code/default.asp?p=3&id=v20010228100123
跳出循环,类似于break
--  作者:lastvagrant
--  发布时间:11/2/2007 1:21:00 AM

--  
路过
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
48.828ms