成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > XML+XSL+CSS+ASP打造留言簿

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

熱門標(biāo)簽:電話機器人銷售公司嗎 客服外呼系統(tǒng)呼叫中心 成都銷售外呼系統(tǒng)公司 土地證宗地圖標(biāo)注符號 保定電銷機器人軟件 vue 地圖標(biāo)注拖拽 自動外呼系統(tǒng)怎么防止封卡 電話機器人案例 鎮(zhèn)江云外呼系統(tǒng)怎么樣

前段時間無意間看到一個博客的RSS可以用XSL格式輸出并且能在Firefox里瀏覽,想到自己以前寫的一個XML留言簿因為不兼容Firefox所不了了之了,現(xiàn)在看到他的能在Firefox瀏覽就覺得很好奇,看了一下代碼,一句一句的比對,最后終于找到了原因,也就把這個留言簿給完成了。因為是一個簡單的XML留言簿,所以取名SXGB(Simple XML GuestBook)。

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

首先定義留言簿的XML文檔的格式。作為一個留言簿,不需要太復(fù)雜的內(nèi)容,于是我就給留言內(nèi)容分為3個部分:留言者姓名、留言者主頁和留言內(nèi)容。另外,一個留言簿還需要有使用者的一些信息,包括用戶名和用戶主頁。再有,在留言比較多時還需要分頁信息。大致結(jié)構(gòu)完成后就可以開始寫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>
!-- 留言簿相關(guān)信息 -->
info>
!-- 用戶名 -->
user>HotHeart/user>
!-- 用戶主頁 -->
home>http://www.xujiwei.cn/home>
!-- 分頁信息,分別為目前所在頁,總頁數(shù),上一頁,下一頁 -->
pagenow>1/pagenow>
pagetotal>1/pagetotal>
pageprev>1/pageprev>
pagenext>2/pagenext>
!-- 是否已經(jīng)登陸,用來處理是否顯示登陸框 -->
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>
!-- 留言內(nèi)容 -->
content>![CDATA[ 留言內(nèi)容 ]]>/content>
/message>
/messages>
/gbook>

要注意在引用XSL時不能用
?xml:stylesheet type="text/xsl" href="gbook.xsl"?>
xml和stylesheet之間應(yīng)該用一杠(-)而不能用冒號(:),在Firefox里是不支持用冒號的。

一個好的XML文檔,除了要有結(jié)構(gòu)性,還應(yīng)該要有有效性,所以在XML文檔的一開頭就定義了文檔類型定義(DTD) sxgb.dtd,下面就來把這個文檔類型定義給完成。因為已經(jīng)設(shè)計好留言簿XML文檔的結(jié)構(gòu),所以寫出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)>

!ELEMENT messages (message+)>中+號表示留言列表中至少有一條留言,但實際應(yīng)用可能會出現(xiàn)沒有留言的情況,為了應(yīng)對這種情況,我在輸出XML文檔的ASP程序輸出一條系統(tǒng)產(chǎn)生的留言,提示目前還沒有留言。

接下來是很重要的部分,XSL的編寫了。

XSL文檔gbook.xsl
點擊這里查看XSL文檔gbook.xsl

在定義XSL名稱空間時,應(yīng)該用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里,一個很重要的概念就是模板。一個模板就對應(yīng)一塊內(nèi)容的格式化輸出,在構(gòu)建模板時,可以從大到小,即先構(gòu)建全局的模板,然后再處理每一塊細分的內(nèi)容,也可以從小到大,先構(gòu)建好細分內(nèi)容的模板,然后將它們組合起來形成整體的模板。在XSL里,創(chuàng)建一個模板使用下面的標(biāo)記:
[code[xsl:template match="/gbook">
!-- 模板內(nèi)容 -->
/xsl:template>[/code]
其中match表示的是這個模板對應(yīng)那個標(biāo)記。

使用模板有兩種方法:

第一種是直接應(yīng)用:

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

這種方法是選擇當(dāng)前標(biāo)記下的info標(biāo)記并使用match為info的模板進行處理

第二種是循環(huán)選擇:

CODE:
xsl:for-each select="message">
!-- 模板內(nèi)容 -->
/xsl:for-eace>

在循環(huán)選擇中,模板直接寫在for-each之中,但是當(dāng)前上下文已經(jīng)轉(zhuǎn)到message。

至于在select中使用的表達式,屬于XPath部分,可以參考W3C的XPath文檔(XML Path Language) 。在gbook.xsl中還使用到的標(biāo)記有:

xsl:value-of select="content"/>
這是在XSL中常用的標(biāo)記之一,輸出結(jié)果是選擇節(jié)點的值,通過用它來輸出節(jié)點的值,在這個留言本中,它用來輸出用戶名、留言者姓名、留言內(nèi)容等。

xsl:attribute name="href">gbook.asp?page=1/xsl:attribute>
用來給當(dāng)前標(biāo)簽添加一個屬性,在留言簿中用來給分頁導(dǎo)航添加網(wǎng)址。其中name]屬性表示要添加屬性的名字,標(biāo)記包含的內(nèi)容為要添加屬性的值。

xsl:if test="id!=''">!-- 處理內(nèi)容 -->/xsl:if>
判斷test中的表達示結(jié)果,如果為真則處理包含的內(nèi)容,假則忽略。要注意是,如果是判斷小于,就不能用“”,而應(yīng)該用“l(fā)t;”,因為“”是標(biāo)簽起始標(biāo)志,如果不進行轉(zhuǎn)換則在瀏覽器中會出現(xiàn)錯誤。

然后就是ASP輸出留言簿需要的XML文檔了,這個只要按照前面定義的格式,從數(shù)據(jù)庫中讀取記錄按照模板輸出即可,不過需要在輸出之前定義MIME類型:
Response.ContentType="application/xml"
指明這是一個XML文檔。另外,因為整個留言簿都使用的UTF-8編碼,需要在ASP中指定編碼:
CodePage="65001"
這句應(yīng)該放在ASP文件的開頭。

最后還有CSS,這個屬于定義留言簿的顯示效果了,具體可以查看CSS的內(nèi)容。另外,為了防止用戶誤操作提交了空表單,我在客戶端加了一段JS代碼來檢查留言姓名和留言內(nèi)容是否為空,如果為空則提示用戶并停止提交表單,具體內(nèi)容可以查看JS腳本文件。

完整留言簿系統(tǒng)SXGB打包下載

參考資料:
1. XML及WAP開發(fā)手冊(李建國等編著)
2. xml ,xsl,css 之亂搞

標(biāo)簽:天津 懷化 麗江 重慶 成都 臺灣 公主嶺 內(nèi)江

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《XML+XSL+CSS+ASP打造留言簿》,本文關(guān)鍵詞  XML+XSL+CSS+ASP,打造,留言簿,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《XML+XSL+CSS+ASP打造留言簿》相關(guān)的同類信息!
  • 本頁收集關(guān)于XML+XSL+CSS+ASP打造留言簿的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    福利视频在线| 青青草原综合久久大伊人精品优势| 久久青青草原一区二区| 日韩大胆成人| 免费国产在线观看| 亚洲国产精品高清久久久| 丰满人妻一区二区三区53视频| 国产精品麻豆网站| 黑人精品无码一区二区三区AV| 99ri日韩精品视频| 亚洲成人男人天堂| 亚洲图片欧洲图片日韩av| 成人黄色免费网站在线观看| 精品一区免费观看| 国产91亚洲精品一区二区三区| 亚洲欧美韩国综合色| 怡红院红怡院欧美aⅴ怡春院| 国产欧美日韩综合一区在线观看| 国产精品视频播放| 四虎国产精品永久免费观看视频| 成人黄色三级视频| 欧美一区二区性| 免费av网址在线| 少妇久久久久久久久久| 午夜免费入口| 精品樱空桃一区二区三区| 日韩在线电影| 在线视频一区观看| 亚洲精品一线二线三线| 999大胆视频| 久久噜噜色综合一区二区| 青青青国产精品| 在线电影国产精品| 精品国产一区二区三区麻豆免费观看完整版| 一本一道久久综合狠狠老精东影业| 99re这里只有| 国内精品久久久久国产盗摄免费观看完整版| avtt在线播放| 国产精品一区二区三区观看| 9797在线看片亚洲精品| 日韩欧美一区三区| 91精品国产欧美一区二区18| 色乱码一区二区三区88| 91视频.com| 激情欧美一区二区三区黑长吊| 午夜精品久久久内射近拍高清| 成人av网站免费观看| 99九九电视剧免费观看| 日本大片免费看| 伊人青青综合网站| 北条麻妃在线一区| 亚洲AV成人无码精电影在线| 久久伊人蜜桃av一区二区| 97精品人妻一区二区三区在线| 国产伦精品一区二区三区免| 视频一区在线播放| 国产私拍一区| 久久精品亚洲国产| 中文字幕欧美激情一区| 毛片电影在线| 欧洲成人免费视频| 精品一区二区三区毛片| 亚洲精品乱码久久久久久蜜桃91| 狠狠色狠狠色综合网| 精品国产乱码| 91精品国产综合久| 午夜大尺度福利视频| 精品日韩欧美一区| 国产超碰人人爽人人做人人爱| 欧美日韩一区二区三区四区五区| 桃色av一区二区| 欧美亚洲动漫另类| 欧美极品xxx| 麻豆一区在线| 国产精品一区在线观看你懂的| 黑人无套内谢中国美女| 日韩av大片站长工具| 四虎国产精品成人免费入口| 精品日韩美女的视频高清| 国产女人aaa级久久久级| 亚洲夫妻av| 精品国产乱码久久久久久免费| 午夜久久tv| 成人欧美在线| 天天在线免费视频| 少妇又紧又色又爽又刺激视频| 国产97免费视频| 国产精品毛片a∨一区二区三区|国| 亚洲国产欧美在线| 亚洲成人二区| 亚洲精品欧洲精品| 国产精品夜夜夜爽阿娇| 欧美午夜一区二区福利视频| 日韩 中文字幕| 欧美性猛交7777777| 国产成人高清激情视频在线观看| 日本二区在线观看| 成年人免费在线视频网站| 久久国产精品 国产精品| 99亚洲精品视频| 婷婷激情5月天| 高清一区二区三区视频| 久久久久久久综合狠狠综合| 国产日韩综合| 校园春色另类视频| 亚洲精品国产一区黑色丝袜| 韩国欧美一区二区| 国产精品夜夜夜爽张柏芝| 污网站在线观看视频| 久久久123| 制服国产精品| 波多野结衣不卡| 五月精品在线| 午夜电影网亚洲视频| 国产日韩欧美自拍| 午夜久久久久久久久久| 亚洲天堂av在线免费| 极品在线视频| 欧美成人黄色网址| 欧美成人精品免费| 亚洲国产裸拍裸体视频在线观看乱了中文| 亚洲人成电影网站| 一区二区日韩精品| 人人妻人人做人人爽| 久久全国免费久久青青小草| 欧美成在线观看| 久久久久99精品成人片试看| 日本在线观看视频网站| 一级黄色免费网站| 91精品久久久久久久久| 国产揄拍国内精品对白| 网红女主播少妇精品视频| 韩国视频一区二区三区| 亚洲少妇中出一区| 91亚洲人成网污www| 精品福利视频导航| 国产伦精品一区二区三区| jlzzjlzz欧美| 国产精品久久久久久在线观看| 麻豆国产精品一区二区三区| 亚洲天堂av一区| 成年男女免费视频网站不卡| 中文字幕中文字幕一区| 在线看片不卡| 91免费视频网| 小说区图片区图片区另类灬| 一区二区高清在线| 久久这里只有精品国产| 亚欧美在线观看| 粉嫩av一区二区三区四区五区| 亚洲1区在线| 国产在线观看无码免费视频| www.99re.av| 日韩精品网站| 91女人视频在线观看| 在线宅男视频| 欧美日韩电影一区二区三区| 亚洲欧美中文日韩在线| 久久久精品久久久久特色影视| 99精品在线| 黑人玩弄人妻一区二区三区| 少妇人妻大乳在线视频| 国产又大又黄又粗的视频| 天堂在线视频中文网| 男人在线视频资源| 中文有码在线观看| 欧美日韩第一| 国产一区二区av在线| 欧美国产日韩a欧美在线观看| 日韩亚洲欧美精品| 97久久久免费福利网址| 亚洲免费观看高清完整版在线观看熊| 国内偷自视频区视频综合| 成人app下载| 91亚洲永久免费精品| 欧美日韩在线精品成人综合网| 可骚可骚的黄视频网站| 欧美国产禁国产网站cc| 先锋影音男人| 国产精品免费一区二区三区都可以| 日韩亚洲国产欧美| 卡一精品卡二卡三网站乱码| 国产精品成人69xxx免费视频| 亚洲欧美日韩天堂一区二区| 狂野欧美性猛交xxxx| 99久久99久久免费精品蜜臀| 国产精品欧美综合| 好看的中文字幕在线播放| 国产精品va在线播放我和闺蜜| 国产精品无码电影在线观看| 色偷偷亚洲女人天堂观看欧| 欧州一区二区| 污视频网站免费观看| 色先锋av资源中文字幕| 欧美精美视频| 香蕉久久久久久| 51成人做爰www免费看网站| 欧洲午夜精品久久久| 亚洲伦理电影| 日韩一区二区中文字幕| 亚洲一区自拍偷拍| 国产精品一区二区av| 久久精品免费观看| 99视频一区二区| 男操女视频网站| 麻豆视频在线观看免费网站| 日本特黄特色aaa大片免费| 色综合天天狠天天透天天伊人| 91九色蝌蚪porny| 欧美日韩第二页| 亚洲香蕉在线视频| 天天综合天天操| 大陆极品少妇内射aaaaa| 日本视频在线观看| 精品99在线视频| 男女爱爱视频网站| 精品国产午夜肉伦伦影院| 精品无码国产一区二区三区51安| 日韩一区在线免费观看| 91精品国产乱码在线观看| 日韩美脚连裤袜丝袜在线| 亚洲欧美日韩网站| 国产成人久久婷婷精品流白浆| 国内免费精品永久在线视频| 手机在线电影一区| 亚洲精品美女久久久久| 天堂网视频在线| 三区在线视频| 久久99蜜桃精品| 久久久久看片| 精品国产亚洲在线| 丁香花在线高清完整版视频| 99久久精品免费精品国产| 又粗又大的机巴好爽欧美| 91综合精品国产丝袜长腿久久| 亚洲美女久久久| 99精品视频在线免费播放| 国产一级做a爰片在线看免费| free性m.freesex欧美| 欧洲视频一区二区三区| 国产精品成人一区二区三区电影毛片| 在这里有精品| 免费av片风间由美在线| 69精品国产久热在线观看| 成年人在线免费| 国产中文字幕亚洲| 精品欧美一区二区久久| 色94色欧美sute亚洲线路一ni| 日韩大胆成人| 亚洲专区视频| 欧美精品一二| 亚洲高潮无码久久| 欧美日韩日本国产| 午夜精品福利一区二区三区av| 亚洲18私人小影院| 91青青草免费在线看| 亚洲成人生活片| 国产一区啦啦啦在线观看| 美女视频网站久久| 中文字幕在线观看视频免费| 午夜精品久久久久久久男人的天堂| 亚洲精品v天堂中文字幕| 中文视频一区视频二区视频三区| 亚洲精品国产精品国自产| 欧美不卡一区| 久久久久久77777| 亚洲一区二区三区在线| 国产视频亚洲色图| 午放福利视频在线播放| 日韩专区第三页| 五月天丁香花婷婷| ww亚洲ww在线观看国产| 亚洲欧洲国产精品久久| 无人在线观看的免费高清视频| 蜜桃久久av一区| 亚洲无限乱码一二三四麻| 中文字幕一区二区三区人妻不卡| 四虎成人精品在永久在线观看| 国产精品自在线| 色大师av一区二区三区| 国产99视频在线观看| 亚洲成av人片一区二区密柚| 久久激情综合网| 北条麻妃国产九九精品视频| 精品一区二区三区五区六区| 天堂av免费看| 日韩中文字幕在线视频观看| 日本最黄一级片免费在线| 亚洲高潮无码久久| 日本aⅴ精品一区二区三区| 在线黄色免费网站| 成人中文字幕视频| 波多野结衣一本| 最好看的2019的中文字幕视频| 无码人妻精品一区二区50| 91高清视频免费| 九九精品在线| 中文字幕在线视频精品| 欧美一区二粉嫩精品国产一线天| 久久综合免费视频| 亚洲男同性恋视频| 亚洲女则毛耸耸bbw| 欧美日韩中文| 人与牲动交xxxxbbb| 91成人在线网站| 国产欧美一区二区精品性| 韩国av一区二区| 免费中文字幕在线| 黄色成人av| 久久永久免费视频| 狠狠网亚洲精品| 91最新在线免费观看| 德国一级在线视频| 亚洲成色777777在线观看影院| 亚洲最大av在线| 永久免费av在线| 色男人天堂av| 91精品国产高清| 色噜噜狠狠成人中文综合| 九色|91porny| 久久精品国产亚洲AV无码麻豆| 亚洲一卡久久| 久久久91精品国产一区不卡| 一区视频在线看| 中文字幕第一区二区| 免费一区二区三区在线视频| 91系列在线播放| 老牛嫩草一区二区三区日本|