在XSL模板文件中嵌入JavaScript脚本
来源:互联网 发布:福建网络通信企业排名 编辑:程序博客网 时间:2024/06/05 23:47
假设一个XML文档如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="test.xsl"?>
<set>
<feature_element code="AAAAB" description="Feature description 123" />
<feature_element code="AAAAB" description="Feature description 123" />
<feature_element code="AAAAB" description="Feature description 123" />
<feature_element code="AAAAB" description="Feature description 123" />
<feature_element code="AAAAB" description="Feature description 123" />
<feature_element code="AAAAB" description="Feature description 123" />
<feature_element code="AAAAB" description="Feature description 123" />
<feature_element code="AAAAB" description="Feature description 123" />
<feature_element code="AAAAB" description="Feature description 123" />
<feature_element code="AAAAB" description="Feature description 123" />
<feature_element code="AAAAB" description="Feature description 123" />
<feature_element code="AAAAB" description="Feature description 123" />
<feature_element code="AAAAB" description="Feature description 123" />
<feature_element code="AAAAB" description="Feature description 123" />
<feature_element code="AAAAB" description="Feature description 123" />
<feature_element code="AAAAB" description="Feature description 123" />
<feature_element code="AAAAB" description="Feature description 123" />
<feature_element code="AAAAB" description="Feature description 123" />
<feature_element code="AAAAB" description="Feature description 123" />
<feature_element code="AAAAB" description="Feature description 123" />
<feature_element code="AAAAB" description="Feature description 123" />
<feature_element code="AAAAB" description="Feature description 123" />
<feature_element code="AAAAB" description="Feature description 123" />
<feature_element code="AAAAB" description="Feature description 123" />
.....
</set>
其中,feature_element 可以有很多。现在要求的是在一个table的TD中显示feature(为简化起见,xml元素从略),当鼠标移到此TD中时,提示出所有feature_element,要求的显示格式是code+空格+冒号+空格+description+逗号。当字符数超过1100时,截止显示(但截取一定要完整,即每个feature_element要么不显示,要么全显示),在末尾加上提示性语句。刚开始,想了很多办法都没实现,最后终于用嵌入JavaScript脚本的方式实现。
XSL示例如下:
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:script><![CDATA[
var count = 1100; //characters number limited.
var flag = true; //flag to decide if show tail string.
//Function to return features codes and descriptions
function displayFeature(featureNode)
{
var code = featureNode.selectSingleNode("@code");
var desc = featureNode.selectSingleNode("@description");
count -= code.text.length + desc.text.length + 5; //5: 3 spaces, 1 colon, 1 comma.
if(count>=0)
{
return code.text + " " + ":" + " " + desc.text + ", ";
}
else if(flag)
{
flag = false;
return "There are more features which cannot be displayed here.";
}
else
{
return "";
}
}
]]></xsl:script>
<xsl:template match="/">
<xsl:apply-templates />
</xsl:template>
<xsl:template match="set">
<td class="feature" nowrap="nowrap">
<xsl:attribute name="colspan"><xsl:value-of select="@colspan" /></xsl:attribute>
<xsl:attribute name="title"
><xsl:for-each select="feature_element"
><xsl:eval>displayFeature(this)</xsl:eval></xsl:for-each
></xsl:attribute>
 {...} 
</td>
</xsl:template>
</xsl:stylesheet>
- 在XSL模板文件中嵌入JavaScript脚本
- 在HTML中嵌入JavaScript脚本
- ASP.NET服务器控件库中嵌入JavaScript脚本文件
- HTML中嵌入JavaScript脚本
- 在XSL文件里应用javascript
- 使用MinGW/GCC在C++语言中嵌入JavaScript脚本引擎SpiderMonkey
- 001-在HTML中嵌入JavaScript脚本的三种方式-回顾学习
- 如何在HTML中嵌入JavaScript
- javascript在html中嵌入使用
- 如何在HTML中嵌入JavaScript
- 在页面中直接嵌入JavaScript代码
- 1. 在网页中嵌入JavaScript代码
- 1_3 XML中嵌入JavaScript和Perl脚本
- 在html中嵌入一个文件内容
- 如何在网页中嵌入流媒体文件
- 在网页中嵌入swf文件
- 在.java文件中嵌入HTML
- 在网页中嵌入Base64编码文件
- ls命令
- flex 初始化完成前加载自定义XML数据
- 静态切分窗口的替换与更新
- Siebel Tools 开发学习笔记(一)
- 修改 lucene Highlighter.net 2.0 版本一处Bug
- 在XSL模板文件中嵌入JavaScript脚本
- C#经典再现——《C#本质论》
- Java开源项目大全
- lsnrctl命令的使用
- mysqldump的编码问题
- Eclispe 体系结构综述(一)
- 蛋白质结构域示意图绘制软件 —— DOG 1.0
- Bar Code (条形码) 打印出现乱码的问题解决方案
- 灵活正确的实现.NET插件机制