以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 XSL/XSLT/XSL-FO/CSS 』 (http://bbs.xml.org.cn/list.asp?boardid=8) ---- 求助:xslt段落截取 (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=87902) |
-- 作者:shmiya -- 发布时间:11/24/2010 10:29:00 AM -- 求助:xslt段落截取 <article> <text>aaa</text> <text>bbb</text> ... </article> 我想通过xslt来截取出article里的内容,只显示出500个字符。 ps:更复杂的情况是,text标签里还有其他标签。。当然这个暂时先不考虑了。 |
-- 作者:Qr -- 发布时间:11/24/2010 12:51:00 PM -- string-legth()可以判断字符长度。通过命名模板来传递两个参数用于计数就可以了。 |
-- 作者:shmiya -- 发布时间:11/24/2010 4:39:00 PM -- 能不能给一个简单的例子,不是很明白:) |
-- 作者:Qr -- 发布时间:11/24/2010 4:57:00 PM -- 命名模板是XSL中最难掌握的一部分,这方面太麻烦,最近太忙,没心情也没时间调试,简单写个格式给你吧。 <xsl:template match="/"> <xsl:call-template name="template"> <xsl:with-param name="cnt" select="0" /> <xsl:with-param name="len" select="string-legth(.)" /> </xsl:call-template> </xsl:template> <xsl:template name="template">
|
-- 作者:shmiya -- 发布时间:11/24/2010 5:46:00 PM -- 好的,谢谢啊 我去试一下,最近做项目用到xslt,之前一点都没学过,所以遇到点困难。 非常感谢:) |
-- 作者:shmiya -- 发布时间:11/25/2010 11:40:00 AM -- 我还是没有解决这个问题,原因是我不知道如何将 <text>aa</text> <text>bb</text> <text>cc</text> ... 循环进行累加,如何能实现一个递归呢? 我想得到的效果是aa + bb + cc的长度最多只取500个,这样,就需要把三个字符串长度都进行计算,一旦大于500就停止输出。 对于一个aa我用命名模板,实现了一个“递归”,这个递归只是限于aa本身,没有办法作用到bb上去。。 应该是我的方法有问题吧。 <xsl:call-template name="substr"> |
-- 作者:Qr -- 发布时间:11/25/2010 9:37:00 PM -- 字符串连接可用concat()。建议你去补一下XPATH,基本的字符串都在XPATH应用,必须掌握的。 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
5,886.719ms |