婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

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

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

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

前段時間無意間看到一個博客的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)>

!ELEMENT messages (message+)>中+號表示留言列表中至少有一條留言,但實際應用可能會出現沒有留言的情況,為了應對這種情況,我在輸出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中的表達示結果,如果為真則處理包含的內容,假則忽略。要注意是,如果是判斷小于,就不能用“”,而應該用“lt;”,因為“”是標簽起始標志,如果不進行轉換則在瀏覽器中會出現錯誤。

然后就是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 之亂搞

標簽:天津 懷化 麗江 重慶 成都 臺灣 公主嶺 內江

巨人網絡通訊聲明:本文標題《XML+XSL+CSS+ASP打造留言簿》,本文關鍵詞  XML+XSL+CSS+ASP,打造,留言簿,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《XML+XSL+CSS+ASP打造留言簿》相關的同類信息!
  • 本頁收集關于XML+XSL+CSS+ASP打造留言簿的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产精品欧美久久久久一区二区 | 久久国产麻豆精品| 国产在线精品一区二区不卡了| 欧美视频一区二区三区在线观看| 1024国产精品| 欧美喷潮久久久xxxxx| 国产毛片精品视频| 日韩高清在线不卡| 亚洲欧洲日韩一区二区三区| 91精品国产入口| 国产精品影视网| 亚洲午夜久久久久中文字幕久| 精品少妇一区二区三区日产乱码| 成人综合婷婷国产精品久久免费| 午夜欧美一区二区三区在线播放| 国产欧美日韩在线观看| 欧美老肥妇做.爰bbww视频| 成人动漫中文字幕| 九九**精品视频免费播放| 亚洲国产色一区| 国产精品第13页| 一本一道综合狠狠老| 国产一区久久久| 亚洲激情图片qvod| 国产亚洲综合在线| 欧美午夜精品免费| 国产成人精品在线看| 亚洲成av人片在www色猫咪| 久久久久久久久久久久久久久99| 91麻豆精品国产91久久久资源速度 | 欧美丰满嫩嫩电影| 奇米精品一区二区三区四区| 亚洲午夜影视影院在线观看| 欧美日韩国产一级片| 色婷婷亚洲精品| 91麻豆.com| 精品综合免费视频观看| 国产精品久久久久久久裸模| 欧美日韩国产一二三| 中文字幕一区三区| 欧美日韩国产大片| 一本久久综合亚洲鲁鲁五月天| 一区二区三区四区不卡在线| 久久综合一区二区| 在线播放日韩导航| 欧美日韩国产在线观看| 欧美日韩中文一区| 欧美一二三四区在线| 欧美一区二区啪啪| 91婷婷韩国欧美一区二区| 日本精品一区二区三区四区的功能| 91亚洲精品久久久蜜桃| 成人久久久精品乱码一区二区三区| 国产一区二区三区国产| 在线中文字幕一区| 91搞黄在线观看| 99re热这里只有精品免费视频| 国产精品欧美久久久久一区二区| 91久色porny | 中文一区二区在线观看| 亚洲色图清纯唯美| 日本高清不卡在线观看| 欧美日韩激情一区| 亚洲成av人片在线| 亚洲一区二区三区三| 日韩免费看的电影| 日韩一区二区三区观看| 日韩视频免费直播| 日产精品久久久久久久性色| 国产一区二区三区免费看| 不卡影院免费观看| 欧美成人一区二区三区| 在线观看成人免费视频| 久久精品免费在线观看| 国产在线一区二区| 欧美一区二区三区人| 亚洲欧美另类久久久精品2019| 国产成人亚洲综合a∨猫咪| 欧美一区二视频| 日日欢夜夜爽一区| 欧美成人bangbros| 人人精品人人爱| 日韩手机在线导航| 亚洲综合一区二区精品导航| 国产91丝袜在线观看| 中文字幕欧美三区| 处破女av一区二区| 国产精品久久久久久久久果冻传媒 | 国产白丝网站精品污在线入口| 国内精品国产三级国产a久久| 91精品国产一区二区人妖| 日本vs亚洲vs韩国一区三区二区| 欧美精品亚洲一区二区在线播放| 午夜视频在线观看一区二区三区| 在线亚洲免费视频| 亚洲线精品一区二区三区 | 国产日韩一级二级三级| 不卡欧美aaaaa| 天堂va蜜桃一区二区三区漫画版| 久久久久久久久久久99999| 国产成人综合自拍| 中文字幕亚洲区| 欧美日韩一区二区三区在线| 中文一区二区在线观看| 韩国一区二区视频| 欧美高清精品3d| 成人性生交大片免费| 日韩极品在线观看| 亚洲色图在线视频| 精品少妇一区二区三区在线视频| 在线精品观看国产| 久久精品噜噜噜成人av农村| 亚洲人成在线播放网站岛国| 26uuu成人网一区二区三区| 欧美日韩一级视频| 日韩av中文字幕一区二区三区| 亚洲一区电影777| 91在线看国产| 国产综合久久久久久鬼色| 7777精品伊人久久久大香线蕉经典版下载| 日本欧美久久久久免费播放网| 91精品国产综合久久久久| 国产成都精品91一区二区三| 丝袜美腿亚洲一区二区图片| 91精品国产高清一区二区三区蜜臀 | 欧美一区二区三区视频免费| 91麻豆123| 日av在线不卡| 久久精品免费观看| 欧美久久久一区| 91原创在线视频| 国产精品综合一区二区| 久久综合中文字幕| 精品一区二区国语对白| 91毛片在线观看| 成人动漫在线一区| 精品1区2区在线观看| 亚洲福利视频一区| 91福利精品视频| 91国产成人在线| 中文字幕一区二区5566日韩| 亚洲大片免费看| 国产精品久久久一本精品| 岛国精品在线播放| 欧美日韩激情在线| 欧美剧在线免费观看网站| 亚洲一级二级三级| 成人aa视频在线观看| 亚洲va欧美va天堂v国产综合| 亚洲国产精品久久人人爱| 高清国产午夜精品久久久久久| 国产精品1区2区3区| 国产河南妇女毛片精品久久久| 日韩免费在线观看| 麻豆91免费观看| 国产成人aaaa| 午夜精品一区在线观看| 天天影视涩香欲综合网| 精品伊人久久久久7777人| 极品尤物av久久免费看| 成人理论电影网| 国产91精品在线观看| 亚洲激情校园春色| 日韩精品一卡二卡三卡四卡无卡| 成人深夜视频在线观看| 91精品在线一区二区| 精品久久久影院| 狠狠色2019综合网| 制服丝袜激情欧洲亚洲| 2020日本不卡一区二区视频| 亚洲自拍偷拍网站| 97久久精品人人做人人爽50路| 成人深夜福利app| 日韩视频免费观看高清在线视频| 中文字幕精品三区| www成人在线观看| 精品动漫一区二区三区在线观看| 久久综合中文字幕| 2欧美一区二区三区在线观看视频| 欧美日韩国产三级| 一区二区三区免费在线观看| 亚洲精品一区二区三区四区高清| 久久先锋影音av鲁色资源网| 欧洲色大大久久| 2024国产精品| 欧洲视频一区二区| 欧美国产日产图区| 亚洲欧美一区二区三区久本道91 | 久久黄色级2电影| 国产xxx精品视频大全| 亚洲第一成年网| 国产成人亚洲精品狼色在线 | 久久色视频免费观看| 亚洲永久免费av| 国产成人av电影| 国产一区二区三区最好精华液| 欧美日韩一级视频| 综合电影一区二区三区| 91黄视频在线| 国产曰批免费观看久久久|