文章編號:11854時間:2024-10-01人氣:
萬維網(wǎng)聯(lián)盟 (W3C) 是制定 Web 標準的國際組織。W3C 已經(jīng)開發(fā)了許多工具和資源,以幫助 Web 開發(fā)人員創(chuàng)建更具可訪問性、用戶友好性的網(wǎng)站。這些資源包括:
有關(guān)更多信息,請訪問 W3C 網(wǎng)站:
所謂的xml,就是eXtensible Markup Language, 翻譯成中文就是“可擴展標識語言“,在國內(nèi)很多人理解xml為html的簡單擴展,這實際上是一種誤解。 盡管xml同html關(guān)系非常密切。 XML與SGML、HTML的關(guān)系。 SGML、HTML是XML的先驅(qū)。 SGML是指“通用標識語言標準”(Standard Generalized Markup Language), 它是國際上定義電子文件結(jié)構(gòu)和內(nèi)容描述的標準,是一種非常復雜的文檔的結(jié)構(gòu),主要用于大量高度結(jié)構(gòu)化數(shù)據(jù)的防衛(wèi)區(qū)和其他各種工業(yè)領(lǐng)域,利于分類和索引。 同XML相比,定義的功能很強大,缺點是它不適用于Web數(shù)據(jù)描述,而且SGML軟件價格非常價格昂貴。 HTML相信大家都比較熟悉,即“HyperText Markup Language” (超文本標識語言),它的優(yōu)點是比較適合web 頁面的開發(fā)。 但它有一個缺點是標記相對少,只有固定的標記集如
.等。
缺少sgml 的柔性和適應性。
不能支持特定領(lǐng)域的標記語言,如對數(shù)學、化學、音樂等領(lǐng)域的表示支持較少。
舉個例子來說,開發(fā)者很難在web pape 上表示數(shù)學公式、化學分子式和樂譜。
Xml 結(jié)合了sgml 和html的優(yōu)點并消除其缺點。
Xml 仍然被認為是一種sgml語言。
比sgml要簡單,但能實現(xiàn)sgml的大部分的功能。
1996年的夏天,Sun Microssystem的John Bosak開始開發(fā)W3C SGML工作組(現(xiàn)在稱為xml工作組)。
他們的目標是創(chuàng)建一種sgml,使其在Web中,既能利用Sgml的長處,又保留html的簡單性。
現(xiàn)在目標基本達到。
二、Xml 的發(fā)展。
在專業(yè)領(lǐng)域中,出現(xiàn)了Web標記語言的許多項目,著名的有CML—化學標記語言,由Peter Murray_Rust 開發(fā),同時開發(fā)了第一個通用xml 瀏覽器Jumbo . 在數(shù)學方面,包括IBM公司再內(nèi)都在致力開發(fā)MathML 1997年四月,出版了xll的第一個版本。
當xll完整實現(xiàn)時,將比html 和當前瀏覽器所達到的鏈接水平更復雜,更強大。
1997年8月,Microsoft公司和Inso公司引入xsl.由于xml是純結(jié)構(gòu)和語義的,需要描述單個元素格式方法。
可以使用html的CSS;另一種方案是xsl. 1998年1月,microsoft 公司出版發(fā)行了msxsl程序。
可以利用xsl表和xml文檔創(chuàng)建能被IE4 識別的html頁面。
1998年2月,W3C發(fā)布了xml1.0的正式版本。
最近一年多來,由于網(wǎng)絡(luò)應用的飛速發(fā)展,xml的發(fā)展非常迅猛。
出現(xiàn)了DOM(Document Object Model),XSLT(XSL Transformation)等新名詞,xml的應用軟件也有了飛速的發(fā)展,Microsoft、IBM、Breeze、Stilo等公司紛紛推出了自己的或解析器,或開發(fā)平臺。
在MicrosoftIBM、HP等大公司的推動下,目前有兩個著名的xml的研究組織,分別是和,由他們向W3C提出標準的建議。
其中biztalk是有Microsoft牽頭組織的,有趣的是Microsoft公司同時參加了oaisis,不過不同于IBM、HP等著名大公司,他的年費只交10萬美元,用Microsoft發(fā)言人的話就是“一切視oasis的發(fā)展而定!“,言下之意就是如果oasis制定的標準抵觸Microsoft的應用,一場標準大戰(zhàn)不可避免。
什么是XML 首先XML是一種元標記語言,所謂“元標記”就是開發(fā)者可以根據(jù)自己的需要定義自己的標記,比如開發(fā)者可以定義如下標記 等已經(jīng)定義的標記,對于用戶自己定義的標記是不認識的。
第二xml是一種語義/結(jié)構(gòu)化語言。
它描述了文檔的結(jié)構(gòu)和語義。
舉個例子,在和html中,要描述一本書,可以如下表示:
在xml中,同樣的數(shù)據(jù)表示為
haha 至于CSS,在HTML文件中就已經(jīng)有它的影子了,例如 H1 { font-size: 12pt; font-weight: bold; } 這就是一段簡單的CSS的文本。
XML Schema 盡管DTD給標記的使用加了限制,但是對于XML的自動處理卻還需要更加嚴格更全面的工具。
比如DTD不能保證一個標記的某個屬性的值必須不為負值,于是出現(xiàn)了XML Schema,由于XML Schema(不同于DTD)本身也是一個正規(guī)的XML文檔,因此開發(fā)者可以使用相同的工具處理其同其他的XML的信息交換。
最初XML Schema由Microsoft提出,W3C 的專家們經(jīng)過充分討論和論證,在1999年的2月,發(fā)布了一個需求定義,說明Schema必須符合的要求,5月,W3C完成并發(fā)布了Schema的定義。
目前,IE5中的XML解析器能夠根據(jù)文檔類型定義(DTD)或XML Schema解析XML 關(guān)于DOM DOM即Document Object Model, 它把XML文檔的內(nèi)容實現(xiàn)為一個對象模型,簡單的說就是應用程序如何訪問XML文檔,W3C的DOM Level 1 定義了如何實現(xiàn)屬性、方法、事件等。
關(guān)于XSLT XSLT即XML Stylesheet Language Transformation. 在寫本文時正式標準還沒有正式形成,在1999年的11月通過了《XSLT》。
XSLT是一種用來進行XML文檔間相互轉(zhuǎn)化的語言。
簡單的說,我們知道不同的開發(fā)者對于各自的應用會用不同的XML文檔,利用XSLT我們可以從一個已經(jīng)定義的XML文檔抽取我們需要的數(shù)據(jù),組成不同的形式,可以是XML, HTML和各種不同的SCRIPT。
關(guān)于Xpointer和Xlinks 類似于HTML中的Hyper Link. Xpointer 和Xlink用于聯(lián)結(jié)其他的XML文檔和其他XML文檔中的部分,其中Xpointer相當于HTML中用于定位HTML文檔子內(nèi)容的錨!不過其聯(lián)結(jié)水平更強大。
比如,在Bookstore中,可以定位到有一個作者叫金庸,書中有四大惡人的那本書,在HTML中,這是不可能實現(xiàn)的。
當然,XML的發(fā)展促使了許多的新技術(shù)的出現(xiàn),其他的還有RDF、Xfrom等等,其中的大部分W3C只是給出了建議,還沒有形成正式的標準,有些內(nèi)容甚至還處于討論階段。
我們將密切注視著方面內(nèi)容的變化。
XML 框架 所謂框架即Framework。
XML是一個通用的標準。
它不屬于個人,認證它的也不是一家公司,而是W3C。
那么為什么那么多的大公司紛紛趨指如鶩呢?各家公司互相競爭的是它的framework, 是它的Schema. XML framework是駕馭XML文件的結(jié)構(gòu),是一種高層次的結(jié)構(gòu)控制。
利用XML framework,可以把商業(yè)邏輯(business logic)分離出來,實現(xiàn)數(shù)據(jù)與計算的分離。
目前著名的framework有Microsoft的Biztalk 以及聯(lián)合國(UN/CEFACT)和OASIS聯(lián)合于99年底推出了EBXML動議。
相信在不久的將來會有許多的Framwork. 其中的一個問題就是在W3C中關(guān)于XML的很多東西還處于建議的時候,就推出framework,是不是一種冒險。
不過,互聯(lián)網(wǎng)的發(fā)展似乎就是這樣,關(guān)于framwwork的發(fā)展,我們將拭目以待
作為一個身處 2008 年末的 Web 設(shè)計師,你是否好意思承認自己的代碼中使用了 Table,如果是,你是一個有勇氣的人,Web 設(shè)計是個奇怪的行業(yè),你可以將自己的網(wǎng)站設(shè)計得像晚報的分類廣告,或者樓道里的開鎖廣告,但千萬別讓人知道你使用了 Table,在你的源代碼中發(fā)現(xiàn) Table 就像一個銷售被人掀起褲腳發(fā)現(xiàn)穿了白襪子一樣。 Table 是如此丑陋,臃腫,哪怕只顯示一段簡單的內(nèi)容,你也需要
| 這三個基本的標簽,每個標簽里面還要加上一堆亂七八糟的屬性,不像 ,既簡單,又整潔,又時尚,它和 CSS 珠聯(lián)璧合,琴瑟和諧,它們構(gòu)成最完美的 Box 模型,他們象現(xiàn)實中的箱子,你把東西放進去,然后,很自由地對他們進行排列,厭煩了一種布局,沒關(guān)系,簡單地改動一下 CSS 定義,一種全新的布局便誕生了;不象 Table,Table 像食堂里的餐具柜,一排排,一列列,土里土氣,油膩膩的,象我們的父輩,邋遢,什么都往家里拿,胡亂堆在角落里,如果 Div 是小資,Table 就是老三屆,他們不屬于這個時代。
也就是近幾年的事,至多不過三五年,W3C是一個人人都認為重要但人人都不喜歡的組織,他們的官方網(wǎng)站十分丑陋,我敢說平生沒見過這么丑陋的網(wǎng)站,但他們的網(wǎng)站是為數(shù)不多的可以通過全部W3C標準驗證的網(wǎng)站,這意味著,他們的網(wǎng)站在語法上,在結(jié)構(gòu)上,在可訪問性上是完美的,雖然依舊十分丑陋。
不過這是笑談,W3C非常重要,否則微軟會把全體 Web 開發(fā)工程師帶到萬劫不復的境地,還好,Netscape 死后,涅磐出 Firefox,而 Opera 在 Firefox 橫空出世之后雖然沒得到任何好處,至少得到了精神上的支持,看到?jīng)],終于有大哥出來收拾你。
喬布斯復出后,蘋果重返昔日的光芒,這時人們才知道世界上還有一個叫做 Safari 的瀏覽器,所有這一切加在一起,讓 W3C 真正有了存在的必要。
W3C 說,Table 可以用來容納文字,格式文字,圖片,鏈接,表單,以及其它 Table ... 但是,Table 不應該單純用來做網(wǎng)頁布局(Tables should not be used purely as a means to layout document content),理由是,當 Web 被非可視化設(shè)備渲染的時候,Table 會出現(xiàn)問題,他們指定是屏幕閱讀器以及盲文瀏覽器,另外,Table 在大型顯示設(shè)備上會強迫用戶左右滾動,因此,Web 設(shè)計者應該使用 CSS 而不是 Table。
參見 W3C HTML 4.01 關(guān)于 Table 的定義。
W3C 說這段話的時候,是1999年12月24日,那時盡管 CSS 早已誕生,但并沒有多少人使用,最初的 Web 像一個在線版的文檔,并沒有成為現(xiàn)在這樣的平臺,不需要過多過多地考慮布局問題,隨著互聯(lián)網(wǎng)第一次泡沫的形成,涌現(xiàn)出大量的門戶網(wǎng)站,門戶網(wǎng)站是 Table 布局的始作俑者,因為他們的首頁比一整份報紙的所有版面拼接在一起還復雜,Table 在這方面十分順手,結(jié)合 COLSPAN 和 rolspan,你幾乎能夠?qū)崿F(xiàn)任何復雜的版面。
這種布局風格在2000年代初,一直到中期仍然十分流行,尤其國內(nèi),在大為美的潛意識下,人們把所有能塞到一個頁面的東西都塞進了首頁,Table 就像一個舊時代的管家,把所有東西雖不能井井有序,但至少是一樣不少地編排起來。
然而這樣的 Web 終于到了讓人厭惡的地步,隨著搜索,RSS 訂閱,以及以博客為代表的個性化 Web 的出現(xiàn),人們有更多渠道獲得信息,而不必去訪問那幾個讓人幾乎要暈過去的門戶的首頁,于是出現(xiàn)了一種清新的,輕量的 Web 風,使用更簡單的布局,更明快的配色,大圖標,大 Banner,以及更容易閱讀的大字體,同時,在這個時候,CSS 已經(jīng)非常成熟,而 Firefox, Opera, Safari 為代表的瀏覽器,在遵守 W3C 標準方面要遠遠好過 IE,人們終于認識到 CSS 的威力。
因為 CSS 在布局上,其核心是一個 Box 模型,人們必須為 CSS 找一個可以依附的容器對象。
Div 成為幸運者一方面因為它天生就是 Box 的最佳原型,在語義上,Div 代表頁面的一個區(qū)域,在外形上,它四四方方,更重要的是,它不像
|