XSLT文件中内嵌脚本
来源:互联网 发布:澳洲值得买 知乎 编辑:程序博客网 时间:2024/06/05 14:20
最近开始学习XML,对于XML的格式化用XSLT来实现还是不错的,这样在要展示的页面上只须加载XML和XSLT文件的关联即可,要修改样式也不用跑到展示页面了,直接在XSLT里修改即可。不过XSLT用起来不是太顺手,和一般的编程习惯有所不同,但实现却是简单的。以下是我在项目中做的一个XSLT模版,用做读取显示XML的标题链接,并用vbscript来截取指字长度的字符串(中文按2字数计,英文按1字数计。)
<?xml version="1.0" encoding="gb2312" standalone="yes"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:user="test"
exclude-result-prefixes="msxsl user">
<xsl:output method="html"/>
<msxsl:script language="VBscript" implements-prefix="user">
Function cutstr(txt,length)
txt=trim(txt)
x=len(txt)
y=0
if x>=1 then
for ii=1 to x
acctemp=asc(mid(txt,ii,1))
if (acctemp>255) or (0>acctemp) then '此处因为小于号要做特殊处理,故交换顺序后直接用大于号来得方便
y=y+2
else
y=y+1
end if
if y>=length then
txt=left(trim(txt),ii)
exit for
end if
next
cutstr=txt
else
cutstr=""
end if
End Function
</msxsl:script>
<xsl:template match="/">
<xsl:apply-templates select="rss/channel/item[importance=1]"/>
</xsl:template>
<xsl:template match="rss/channel/item">
<xsl:if test="position()<=6">
<li>
<span class="middate">
[<xsl:value-of select="concat(substring(pubDate,6,2),'/',substring(pubDate,9,2))"/>]
</span>
<a href="{link}" title="{title}" target="_blank">
<xsl:value-of select="user:cutstr(string(title),34)" />
</a>
</li>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
注:XML文件略
- XSLT文件中内嵌脚本
- XSLT错误判断脚本
- xslt格式化xml文件
- XSLT
- XSLT
- XSLT
- XSLT
- XSLT
- XSLT
- xslt
- XSLT
- XSLT
- xslt
- XSLT
- xslt
- xslt
- xslt
- XSLT
- jdk1.6中的新特性
- WS安全性(3)
- Hibernate timestamp 问题
- DataGrid的多种格式化显示方法
- Exceptions on Apache(make[3]: *** [libapr-0.la] Error 127)
- XSLT文件中内嵌脚本
- 12.27成都,郎咸平大战赵勇(转贴,好啊)
- 郎咸平大战赵勇 (zt),再看看我们主流媒体的报道,绝对“专业”
- Winsock API 编程介绍
- 一个简单的猜谜游戏的代码(高级用户界面制作)
- [转帖]winsock函数简介
- Mapping Modes and Round-Off Errors
- C++开发常用工具“群英会” (zt)
- [转帖] 简单的 Winsock 应用程序设计(1)