以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 XSL/XSLT/XSL-FO/CSS 』 (http://bbs.xml.org.cn/list.asp?boardid=8) ---- 关于XSLT的for-each用法 (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=44321) |
-- 作者:ismezy -- 发布时间:3/23/2007 4:48:00 PM -- 关于XSLT的for-each用法 原格式如下: <span row="1" col="1"/> <span row="1" col="2"/> <span row="2" col="1"/> ..................... 目标格式: 应该如何处理? |
-- 作者:Qr -- 发布时间:3/24/2007 11:53:00 AM -- <xsl:for-each select="span"> <xsl:element name="row"> <xsl:attribute name="index"> <xsl:value-of select="@row"> </xsl:attribute> <xsl:element name="col"> <xsl:attribute name="index"> <xsl:value-of select="@col"> </xsl:attribute> </xsl:element> </xsl:element> </xsl:for-each> |
-- 作者:jx -- 发布时间:3/24/2007 3:40:00 PM -- 我很喜欢xsl:for-each的。 |
-- 作者:ismezy -- 发布时间:3/26/2007 9:06:00 AM -- 不好意思,2楼的给的不是我想要的结果,可能是我没有说清楚 我再把目标格式描述详细一点 也就是说Col成为Row的子结点 |
-- 作者:ismezy -- 发布时间:3/26/2007 9:08:00 AM -- 用2楼的方法结果如下: <row index="1"> |
-- 作者:Qr -- 发布时间:3/26/2007 9:58:00 AM -- http://bbs.w3china.org/dispbbs.asp?BoardID=8&id=20240 |
-- 作者:hexun831012 -- 发布时间:3/26/2007 9:17:00 PM -- 用for-each不如用apply-templates 模板才是xsl的王道 |
-- 作者:ismezy -- 发布时间:3/27/2007 8:57:00 AM -- 解决了,用的其他方法 <xsl:key name="row" match="@row" use="."/> <xsl:for-each select="span/@row[generate-id()=generate-id(key('row',.))]"> <Row Index="{current()+1}"> <xsl:for-each select="../../span[@row = current()]"> <Cell Index="{@col}"> <xsl:value-of select="@text"/> </Cell> </xsl:for-each> </Row> </xsl:for-each> |
-- 作者:hexun831012 -- 发布时间:3/27/2007 9:06:00 AM -- 你可以用<xsl:variable>或<xsl:param> |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
65.918ms |