以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  xsl读取xml,分页显示数据  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=38658)


--  作者:jesska19
--  发布时间:10/9/2006 12:34:00 PM

--  xsl读取xml,分页显示数据
以下是部分xml内容:
我要实现的功能:
(读取xml中的符合FOLDER=‘INBOX’的数据[vmms],输出其id,并且数据每3条换行一次,如果没有限制条件,可以用position()实现换行,这里必须符合前面说的条件)
<vobjs>
<total>15</total>
<begin>0</begin>
<h_num>4</h_num>
<word>
</word>
<vmms>
<type name="VERSION">
<value>
<text>1.0</text>
</value>
</type>
<type name="FOLDER">
<value>
<text>INBOX</text>
</value>
</type>
<type name="X-MPS-GUID">
<value>
<text>29</text>
</value>
</type>
<type name="SENDER">
<value>
<text>13700000001</text>
</value>
</type>
<type name="SENDNAME">
<value>
<text>SENDER05</text>
</value>
</type>
<type name="SUBJECT">
<value>
<text>TITLE05</text>
</value>
</type>
<type name="ATTACHMENT">
<parameter name="TYPE" value="TEXT"/>
<value>
<text>110005</text>
</value>
</type>
<type name="ATTACHMENT">
<parameter name="TYPE" value="IMAGE"/>
<value>
<text>220005</text>
</value>
</type>
<type name="ATTACHMENT">
<parameter name="TYPE" value="VOICE"/>
<value>
<text>330005</text>
</value>
</type>
<type name="SENDDATE">
<value>
<text>2006-08-05 00:00:00</text>
</value>
</type>
<id>0</id>
<group_id>0</group_id>
</vmms>
<vmms>
<type name="VERSION">
<value>
<text>1.0</text>
</value>
</type>
<type name="FOLDER">
<value>
<text>INBOX</text>
</value>
</type>
<type name="X-MPS-GUID">
<value>
<text>28</text>
</value>
</type>
<type name="SENDER">
<value>
<text>13700000001</text>
</value>
</type>
<type name="SENDNAME">
<value>
<text>SENDER03</text>
</value>
</type>
<type name="SUBJECT">
<value>
<text>TITLE03</text>
</value>
</type>
<type name="ATTACHMENT">
<parameter name="TYPE" value="TEXT"/>
<value>
<text>110003</text>
</value>
</type>
<type name="ATTACHMENT">
<parameter name="TYPE" value="IMAGE"/>
<value>
<text>220003</text>
</value>
</type>
<type name="SENDDATE">
<value>
<text>2006-08-03 00:00:00</text>
</value>
</type>
<id>1</id>
<group_id>0</group_id>
</vmms>
<end>5</end>
</vobjs>

--  作者:hexun831012
--  发布时间:12/13/2006 9:27:00 AM

--  
你前面的那个计数器没有必要,它不利于文件的维护,最多只需要计一个PageSize
可以利用position()分页,用javascript跳转
<xsl:param name="page">
<xsl:value-of select="//PageSize" />
<xsl:param>
<xsl:template match="type[position&lt;=$page]">
...
</xsl:template>
<xsl:template match="type[position mod $page=1]">
<a href="#" onclick="Page()">
<xsl:value-of select="position()" />
</a>
<xsl:template>
然后再用javascript写一个Page()方法去修改第一个xsl:template的match里的值
如改成type[position()>$Page and position()<=$Page]的形势,注意<的写法


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