当前位置: 网学 > 编程文档 > ASP > 正文

XML+XSL+CSS+ASP打造留言簿

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/06/17
际应用可能会出现没有留言的情况,为了应对这种情况,我在输出XML文档的ASP程序输出一条系统产生的留言,提示目前还没有留言。

接下来是很重要的部分,XSL的编写了。

XSL文档gbook.xsl
点击这里查看XSL文档gbook.xsl

在定义XSL名称空间时,应该用http://www.w3.org/1999/XSL/Transform,即

CODE:
xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

而不能用http://www.w3.org/TR/WD-xsl,不知为什么如果使用这个名称空间,在Firefox会显示错误:分析 XSLT 样式表单失败。

在XSL里,一个很重要的概念就是模板。一个模板就对应一块内容的格式化输出,在构建模板时,可以从大到小,即先构建全局的模板,然后再处理每一块细分的内容,也可以从小到大,先构建好细分内容的模板,然后将它们组合起来形成整体的模板。在XSL里,创建一个模板使用下面的标记:
[code[<xsl:template match="/gbook">
<!-- 模板内容 -->
</xsl:template>[/code]
其中match表示的是这个模板对应那个标记。

使用模板有两种方法:

第一种是直接应用:

CODE:
<xsl:apply-templates select="info"/>

这种方法是选择当前标记下的info标记并使用match为info的模板进行处理

第二种是循环选择:

CODE:
<xsl:for-each select="message">
<!-- 模板内容 -->
</xsl:for-eace>

在循环选择中,模板直接写在for-each之中,但是当前上下文已经转到message。

至于在select中使用的表达式,属于XPath部分,可以参考W3C的XPath文档(XML Path Language) 。在gbook.xsl中还使用到的标记有:

<xsl:value-of select="content"/>
这是在XSL中常用的标记之一,输出结果是选择节点的值,通过用它来输出节点的值,在这个留言本中,它用来输出用户名、留言者姓名、留言内容等。

<xsl:attribute name="href">gbook.asp?page=1</xsl:attribute>
用来给当前标签添加一个属性,在留言簿中用来给分页导航添加网址。其中name]属性表示要添加属性的名字,标记包含的内容为要添加属性的值。

<xsl:if test="id!=''''"><!-- 处理内容 --></xsl:if>
判断test中的表达示结果,如果为真则处理包含的内容,假则忽略。要注意是,如果是判断小于,就不能用“<”,而应该用“<”,因为“<”是标签起始标志,如果不进行转换则在浏览器中会出现错误。

然后就是ASP输出留言簿需要的XML文档了,这个只要按照前面定义的格式,从数据库中读取记录按照模板输出即可,不过需要在输出之前定义MIME类型:
Response.ContentType="application/xml"
指明这是一个XML文档。另外,因为整个留言簿都使用的UTF-8编码,需要在ASP中指定编码:
CodePage="65001"
这句应该放在ASP文件的开头。

最后还有CSS,这个属于定义留言簿的显示效果了,具体可以查看CSS的内容。另外,为了防止用户误操作提交了空表单,我在客户端加了一段JS代码来检查留言姓名和留言内容是否为空,如果为空则提示用户并停止提交表单,具体内容可以查看JS脚本文件。

完整留言簿系统SXGB打包下载

参考资料
1. XML及WAP开发手册(李建国等编著)
2. xml ,xsl,css 之乱搞

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号