以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  [求助]请教一个函数问题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=51922)


--  作者:poorfish
--  发布时间:8/28/2007 3:53:00 PM

--  [求助]请教一个函数问题
关于index()的用法

XML数据结构
以下内容为程序代码:

<photosets cancreate="1">
 <photoset id="5" primary="2483" secret="abcdef"
  server="8" photos="4">
  <title>Test</title>
  <description>foo</description>
 </photoset>
 ...
 <photoset id="4" primary="1234" secret="832659"
  server="3" photos="12">
  <title>My Set</title>
  <description>bar</description>
 </photoset>
</photosets>

XSL代码
[code]
<?xml version="1.0" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" omit-xml-declaration="yes" indent="yes"/>

<xsl:template match="*">
 <xsl:for-each select="photosets/photoset">
 <div class="set"><xsl:value-of select="@id"></div>
  <xsl:for-each select="photoset[index()=6]">
  <div class="clear"></div>
  </xsl:for-each>
 </xsl:for-each>
</xsl:template>

<xsl:template match="/">
 <xsl:apply-templates/>
</xsl:template>

</xsl:stylesheet>
[/code]

我想在第6个photoset后输出一个<div class="clear"></div>失败,浏览器提示
[code]msxml3.dll 错误 '80004005'
'index' 不是一个有效的 XSLT 或 XPath 函数。 photoset[-->index()<--=12]
[/code]

请问错在哪里,应该如何做,如果我想在每一个6的整数倍的photoset后(即第6,12,18,24...)输出一个<div class="clear"></div>应该怎么写?


--  作者:Qr
--  发布时间:8/29/2007 9:52:00 AM

--  
index()是草案的东东,不要用在正式版,改用position()
建议上W3C看一下两个版本的区别。
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms