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