以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XML基础 』  (http://bbs.xml.org.cn/list.asp?boardid=1)
----  [分享]关于数据输出大于一列的解决  (http://bbs.xml.org.cn/dispbbs.asp?boardid=1&rootid=&id=363)


--  作者:faly
--  发布时间:12/29/2003 12:28:00 AM

--  [分享]关于数据输出大于一列的解决
偶在csdn.net看到的一个问题如下:--解决方法在回复帖子里
主  题:  表格问题,怎样用xsl输出并列两列??
作  者:  luluso (luluso)  
等  级:    
信 誉 值:  99
所属论坛:  Web 开发 XML/SOAP
问题点数:  30
回复次数:  6
发表时间:  2003-12-18 19:53:11
aa.xml
<书>
<书列表>
<书名>aa</书名>
<书号>bb</书号>
</书列表>
<书列表>
<书名>cc</书名>
<书号>dd</书号>
</书列表>
<书列表>
<书名>ee</书名>
<书号>ff</书号>
</书列表>
<书>
////////////////
现在要写一个样式。可以一行列出两个数据,
<tr><td>书名:aa书号:bb</td><td>书名:cc书号:dd</td></tr>
<tr><td>书号:ee书号:ff></td><td>书名:书号</td></tr>
这样的样式怎么写???

--  作者:faly
--  发布时间:12/29/2003 12:30:00 AM

--  解决方法=1。两列输出=
〈!--两列的方法--〉
<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<TABLE BORDER="0" align="center">
<xsl:for-each select="书/书列表">
<xsl:if expr="(childNumber(this) % 2) == 1">
<TR>
<TD>
<b>书名:</b><xsl:value-of select="书名"/>
<b>书号:</b><xsl:value-of select="书号"/>
  </TD>
<TD>
<b>书名:</b><xsl:value-of select="../书列表[index()$gt$context()!index()][0]/书名"/>
<b>书号:</b><xsl:value-of select="../书列表[index()$gt$context()!index()][0]/书号"/>
  </TD>

  </TR>
  </xsl:if>
  </xsl:for-each>
  </TABLE>
  
  </xsl:template>
</xsl:stylesheet>


--  作者:faly
--  发布时间:12/29/2003 12:30:00 AM

--  
〈!--四列的方法--〉<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<TABLE BORDER="0" align="center">
<xsl:for-each select="书/书列表">
<xsl:if expr="(childNumber(this) % 4) == 1">
<TR>
<TD>
<b>书名:</b><xsl:value-of select="书名"/>
<b>书号:</b><xsl:value-of select="书号"/>
  </TD>
<TD>
<b>书名:</b><xsl:value-of select="../书列表[index()$gt$context()!index()][0]/书名"/>
<b>书号:</b><xsl:value-of select="../书列表[index()$gt$context()!index()][0]/书号"/>
  </TD>
<TD>
<b>书名:</b><xsl:value-of select="../书列表[index()$gt$context()!index()][1]/书名"/>
<b>书号:</b><xsl:value-of select="../书列表[index()$gt$context()!index()][1]/书号"/>
  </TD>
<TD>
<b>书名:</b><xsl:value-of select="../书列表[index()$gt$context()!index()][2]/书名"/>
<b>书号:</b><xsl:value-of select="../书列表[index()$gt$context()!index()][2]/书号"/>
  </TD>

  </TR>
  </xsl:if>
  </xsl:for-each>
  </TABLE>
  
  </xsl:template>
</xsl:stylesheet>


--  作者:faly
--  发布时间:12/29/2003 12:33:00 AM

--  
偶觉得这个问题确实有代表性,俺以前也遇到这个问题,但遗憾的是以上的方法只能显示文本数据,像图片,超链接等要麻烦点,但原理还是一样的撒。。
--  作者:小鞋子
--  发布时间:12/30/2003 10:52:00 PM

--  
学到一招。1。真厉害。
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
6,224.609ms