標籤

2011年5月30日 星期一

Lab37

Lab36

XML 與 HTML 一樣都是純本文格式的文件,文件中的資料包含在“標籤”(tag)和“屬性”(attribut)之間。HTML 中的每個標籤,都被詳盡的定義其意義(不過是屬於如何“顯示”的定義),但是 XML 的文件中,標籤只用來限定資料的層級,至於他的意義,是由使用者或是程式來決定 (Davidson,2000)。
例如在 HTML 中,只要看到<H1></H1>,不管這個標籤是在文件的哪裡出現,標籤中的文字,就會使用“標題1”的格式來顯示,而在前面的 XML 例子中,<課程名稱></課程名稱>這一組標籤,代表的就是<課程列表><課程>裡面的<課程名稱>,而不是<課程列表>裡面的<課程名稱>,也就是說在 XML 的文件中,<課程名稱>這個標籤,並沒有被定義其意義,它出現的地方不同,意義就不同。所以如果教育界之間大家講好,以後各校的課程列表,就以之前示範的形式來置放,那麼以後各校就可以很容易的將各校的開課資訊互相流通, 這也是為什麼 XML 稱為“形而上語言”( meta-language ),也就是說是用來定義語言的語言。
XSLT的英文標准名稱爲eXtensible Stylesheet Language Transformation。根據W3C的規範說明書(http://www.w3.org/TR/xslt),最早設計XSLT的用意是幫助XML文檔(document)轉換爲其它文檔。但是隨著發展,XSLT已不僅僅用于將XML轉換爲HTML或其它文本格式,更全面的定義應該是:
XSLT是一種用來轉換XML文檔結構的語言

XML和XSLT
轉成HTML和結果

2011年5月16日 星期一

LAB33


通用網關介面

通用網關介面Common Gateway Interface/CGI)是一種重要的網際網路技術,可以讓一個客戶端
,從網頁瀏覽器向執行在 Web 伺服器 上的程序,請求數據。
CGI 描述了客戶端和這個程序之間傳輸數據的一種標準。
最初,CGI 是在 1993 年由美國國家超級電腦應用中心NCSA)為 NCSA HTTPd web 伺服器開發的。
這個 Web 伺服器使用了 UNIX shell 環境變數 來保存從 Web 伺服器傳遞出去的參數,
然後生成一個運行 CGI 的獨立的進程
程式語言 Perl 是一個廣泛被用來編寫 CGI 程式的語言,但 CGI 的一個目的是要獨立於任何語言的。
Web 伺服器無須在這個問題上對語言有任何了解。 事實上,
CGI 程序可以用任何腳本語言或者是完全獨立程式語言實現
,只要這個語言可以在這個系統上運行。 除 Perl 外,像 Unix shell script, PythonRubyPHPTcl,C/C++
, 和 Visual Basic 都可以用來編寫 CGI 程序。
實現 Wikipedia 的 CGI 程序的一個例子:
首先用戶代理程序向這個 CGI 程序請求某個名稱的條目,
如果該條目頁面存在
,CGI 程序就會去獲取那個條目頁面的原始數據,
然後把它轉換成 HTML 並把結果輸出給瀏覽器;
如果該條目頁面不存在
,CGI 程序則會提示用戶新建一個頁面。
所有的 Wikipedia 操作都是通過這個 CGI 程序來處理的。
CGI 的工作方式,從 Web 伺服器的角度看,是在特定的位置
(比如:http://www.example.com/wiki.cgi)
定義了可以運行 CGI 程序。當收到一個匹配URL的請求,
相應的程序就會被調用,
並將客戶端發送的數據作為輸入。
程序的輸出會由 Web 伺服器收集,並加上合適的檔頭,
再發送回客戶端。
一般每次的 CGI 請求都需要新生成一個程序的副本來運行,
這樣大的工作量會很快將伺服器壓垮,
因此一些更有效的技術像 mod_perl
可以讓腳本解釋器直接作為模塊集
成在 Web 伺服器(例如:Apache)中,
這樣就能避免重複載入和初始化解釋器。
不過這只是就那些需要解釋器的高級語言(即解釋語言)
而言的,使用諸如 C 一類的編譯語言則可以避
免這種額外負荷。
由於 C 及其他編譯語言的程序與解釋語言程序相比
,前者的運行速度更快、對作業系統的負荷更小,
使用編譯語言程序是可能達到更高效率的。
資料來源:维基百科,自由的百科全书


LAB32


2011年5月2日 星期一