XML+XSL+CSS+ASP打造留言簿
您现在的位置: 学网 >> 网站开发 >> ASP教程 >> ASP实例 >> 正文
学网教程

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

[ 来源:本站原创 | 作者:piggy | 时间:2007-8-18 | 去论坛]

前段时间无意间看到一个博客的RSS可以用XSL格式输出并且能在Firefox里浏览,想到自己以前写的一个XML留言簿因为不兼容Firefox所不了了之了,现在看到他的能在Firefox浏览就觉得很好奇,看了一下代码,一句一句的比对,最后终于找到了原因,也就把这个留言簿给完成了。因为是一个简单的XML留言簿,所以取名SXGB(Simple XML GuestBook)。

留言本演示,管理密码为test:http://home.goofar.com/hotheart/gbook/gbook.asp

首先定义留言簿的XML文档的格式。作为一个留言簿,不需要太复杂的内容,于是我就给留言内容分为3个部分:留言者姓名、留言者主页和留言内容。另外,一个留言簿还需要有使用者的一些信息,包括用户名和用户主页。再有,在留言比较多时还需要分页信息。大致结构完成后就可以开始写XML文档模板了。

XML文档根元素定义为gbook
XML文档模板gbook.xml

CODE:
xml version="1.0" encoding="utf-8"?>
<!-- DTD file -->
<!DOCTYPE gbook SYSTEM "sxgb.dtd">
<!-- XSL file -->
<?xml-stylesheet type="text/xsl" href="gbook.xsl"?>
<gbook>
<!-- 留言簿相关信息 -->
<info>
<!-- 用户名 -->
<user>HotHeart</user>
<!-- 用户主页 -->
<home>http://www.xujiwei.cn</home>
<!-- 分页信息,分别为目前所在页,总页数,上一页,下一页 -->
<pagenow>1</pagenow>
<pagetotal>1</pagetotal>
<pageprev>1</pageprev>
<pagenext>2</pagenext>
<!-- 是否已经登陆,用来处理是否显示登陆框 -->
<logined>NO</logined>
</info>
<!-- 留言列表 -->
<messages>
<!-- 一个留言 -->
<message>
<!-- 留言ID -->
<id>1</id>
<!-- 留言者姓名 -->
<username>Admin</username>
<!-- 留言时间 -->
<time>2005-08-09 12:00</time>
<!-- 留言者主页 -->
<homepage>http://www.xujiwei.cn/</homepage>
<!-- 留言内容 -->
<content><![CDATA[ 留言内容 ]]></content>
</message>
</messages>
</gbook>

要注意在引用XSL时不能用
<?xml:stylesheet type="text/xsl" href="gbook.xsl"?>
xml和stylesheet之间应该用一杠(-)而不能用冒号(:),在Firefox里是不支持用冒号的。

一个好的XML文档,除了要有结构性,还应该要有有效性,所以在XML文档的一开头就定义了文档类型定义(DTD) sxgb.dtd,下面就来把这个文档类型定义给完成。因为已经设计好留言簿XML文档的结构,所以写出DTD是很方便的。

文档类型定义sxgb.dtd

CODE:
<?xml version="1.0" encoding="utf-8"?>
<!ELEMENT gbook (info,messages)>
<!ELEMENT info (user,home,msgtotal,pagenow,pagetotal,pageprev,pagenext,logined)>
<!ELEMENT messages (message+)>
<!ELEMENT message (id,username,time,homepage,content)>
<!ELEMENT user (#PCDATA)>
<!ELEMENT home (#PCDATA)>
<!ELEMENT msgtotal (#PCDATA)>
<!ELEMENT pagenow (#PCDATA)>
<!ELEMENT pagetotal (#PCDATA)>
<!ELEMENT pageprev (#PCDATA)>
<!ELEMENT pagenext (#PCDATA)>
<!ELEMENT logined (#PCDATA)>
<!ELEMENT id (#PCDATA)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT username (#PCDATA)>
<!ELEMENT time (#PCDATA)>
<!ELEMENT homepage (#PCDATA)>
<!ELEMENT content (#PCDATA)>

&

1
学网·特别声明:
本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。本站所有文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题,请联系编辑人员Xababy#Gmail.com,我们尽快予以更正。
设为首页 - 收藏学网 - 关于学网 - RSS订阅 - 版权申明 - 友情链接 - 联系学网 - 网站地图 - 投稿学网
学网·2004-2008版权所有
© CopyRight 2004-2008 WwW.Xue5.CoM.Inc All Rights Reserved
合作、建议、联系::cainiaoo.cn#live.cn QQ:329700200,1103290

学网_致力于提供优质免费的电脑学习教程
陕ICP备05000834号