国产毛片午夜福利,国产黄网,国产亚洲天堂,97国产精品

  •  
    xml常見(jiàn)問(wèn)題
    發(fā)布時(shí)間:2005-03-16   瀏覽次數(shù):1184192
    A.概述性問(wèn)題   A.1 什么是XML?    XML 全稱是“可擴(kuò)展標(biāo)識(shí)語(yǔ)言“(Extensible Markup Language)。之所以稱之為可擴(kuò)展,是因?yàn)樗幌馠TML 那樣只有固定的形式。它是被用來(lái)使SGML 能在萬(wàn)維網(wǎng)上能應(yīng)用自如!  XML并不是一個(gè)獨(dú)立的,預(yù)定義的標(biāo)識(shí)語(yǔ)言。它是一種元語(yǔ)言。它是用來(lái)描述其他語(yǔ)言的語(yǔ)言。它允許你自己設(shè)計(jì)你的標(biāo)識(shí)。(HTML 是一種預(yù)定義的標(biāo)識(shí)語(yǔ)言。HTML 只是在一類(lèi)特定的文件中定義了一種描述信息的方法。而XML 能允許你在不同的文件中定義你自己設(shè)計(jì)的標(biāo)識(shí)語(yǔ)言。)這是因?yàn)閄ML 是用SGML (“通用標(biāo)識(shí)語(yǔ)言標(biāo)準(zhǔn)”國(guó)際標(biāo)準(zhǔn)的標(biāo)識(shí)元語(yǔ)言)書(shū)寫(xiě)的!   A.2 XML的目的是什么?   XML是被設(shè)計(jì)用來(lái)使SGML 能在萬(wàn)維網(wǎng)上能自如應(yīng)用的:方便地定義文件類(lèi)型,方便地制作和管理用SGML定義的文件,在網(wǎng)上方便地傳輸和共享這些文件。    A.3 什么是SGML?   SGML的全稱是“Standard Generalized Markup Language“(通用標(biāo)識(shí)語(yǔ)言標(biāo)準(zhǔn))。它是國(guó)際上定義電子文件結(jié)構(gòu)和內(nèi)容描述的標(biāo)準(zhǔn)。在往上有以下相關(guān)資源:   SGML FAQ: http://www.infosys.utas.edu.au/info/sgmlfaq.txt    SGML 主頁(yè): http://www.oasis-open.org/cover/sgml-xml.html    A.4 什么是HTML?   HTML的全稱是“HyperText Markup Language “(超文本標(biāo)識(shí)語(yǔ)言)。它是SGML在網(wǎng)絡(luò)上的一個(gè)特殊應(yīng)用!  A.5 XML,SGML,HTML是不是一回事?   不竟然。SGML是XML和HTML的母語(yǔ)言。SGML的覆蓋面很廣。它幾乎涉及人們生活的每一個(gè)領(lǐng)域。它被用來(lái)描述成千上萬(wàn)中文件。HTML只是其中一種文件類(lèi)型,是一種在網(wǎng)上最常用的類(lèi)型。它定義了一種簡(jiǎn)單而固定且含標(biāo)識(shí)的文件類(lèi)型!  XML是SGML的簡(jiǎn)化版。為了實(shí)現(xiàn)更加方便地編寫(xiě)和理解應(yīng)用程序,更加方便地在網(wǎng)絡(luò)上傳輸信息,更加方便地實(shí)現(xiàn)互操作性,XML申略了一些SGML中復(fù)雜和不常用的部分。但XML還能和SGML一樣通過(guò)解析。   A.6 SGML/XML 和C/ C++?什么不同?   C和C++和Fortran, Pascal, Basic, 或是Java一樣都是編程語(yǔ)言。是用來(lái)制定運(yùn)算和操作的!  而SGML和XML標(biāo)是說(shuō)明性的語(yǔ)言。它們是用來(lái)表現(xiàn)信息的。它們使得信息能被程序正常地存儲(chǔ)傳輸和處理。它們本身而言,并不能產(chǎn)生什么操作。操作要由應(yīng)用程序來(lái)實(shí)現(xiàn)!   A.7 是由誰(shuí)負(fù)責(zé)XML?   XML是W3C(World Wide Web Consortium 萬(wàn)維網(wǎng)絡(luò)聯(lián)盟)的一個(gè)項(xiàng)目。XML不是任何一家公司的私有財(cái)產(chǎn)。    A.8 為什么XML是一項(xiàng)重要的技術(shù)?   應(yīng)為它解決了兩個(gè)制約網(wǎng)絡(luò)發(fā)展的問(wèn)題:   1.基礎(chǔ)是單一固定的文件類(lèi)型。(HTML);   2.完整的SGML過(guò)于復(fù)雜。    A.9 為什么不只是擴(kuò)展HTML?   不同的廠家在開(kāi)發(fā)HTML時(shí)產(chǎn)生了許多有趣但卻不兼容的發(fā)明。這已使HTML不堪重負(fù)。因?yàn)檫@使得你只能用一種方法表現(xiàn)你的信息。XML卻允許許許多多的個(gè)人與組織來(lái)創(chuàng)造他們自己的標(biāo)識(shí)語(yǔ)言。應(yīng)用這些標(biāo)識(shí)語(yǔ)言他們可以在自己的領(lǐng)域內(nèi)自由地交換信息。HTML在表現(xiàn)信息方面是有缺陷的。當(dāng)然我們必須承認(rèn)它現(xiàn)在仍然扮演著重要的角色。但許多新的應(yīng)用領(lǐng)域需要更加強(qiáng)大和靈活的工具!   B.SGML的使用(包括HTML的各種瀏覽器)    B.1 為什么我們要推薦XML而不主張HTML?   1.我們可以用XML設(shè)計(jì)自己的文件類(lèi)型!  2.信息的內(nèi)容將更加豐富,更加方便使用。在XML中超文本鏈接的能力比HTML更強(qiáng)。   3. XML能使得瀏覽器的表現(xiàn)形式更加豐富!  4.處理XML文件比.處理SGML文件來(lái)得簡(jiǎn)單。信息的開(kāi)放性和重復(fù)使用的性能斗將提高!  5.合法(Valid 參見(jiàn)D中Valid與-formed)的XML文件在SGML中也是合法的!  B.2 我是不是必須由SGML或是HTML轉(zhuǎn)向XML?   不是的,F(xiàn)存的SGML和HTML的應(yīng)用軟件仍能正常處理現(xiàn)有的文件!   C. SGML 和HTML的編寫(xiě)   C.1 XML是否已取代了HTML?   沒(méi)有。XML并沒(méi)有取代HTML。它只是給了你一種新的選擇。HTML將仍在一段時(shí)間內(nèi)廣泛地被使用。HTML的DTD(參見(jiàn)C中DTD)將既有XML版本,又有SGML版本。但XML版本更加簡(jiǎn)單。    C.2 XML文件是怎樣的?   它的基本結(jié)構(gòu)和SGML和HTML差不多。XML文件可以非常簡(jiǎn)單。它可以不需要文件類(lèi)型說(shuō)明,而直接是你自己設(shè)計(jì)的內(nèi)嵌式標(biāo)識(shí)。如下面一段代碼:         Hello, world!    Stop the planet, I want to get off!       當(dāng)然它也可以更加復(fù)雜些。如DTD聲明,內(nèi)嵌子集,等等:               Hello, world!                Vitam capias        C.3 是不是HTML有一個(gè)XML版本?   已經(jīng)有好幾個(gè)HTML的XML版本,但都只是在準(zhǔn)備階段,并未完成!   C.4 既然說(shuō)XML是SGML的子集,我能不能用SGML的工具直接處理XML文件?   是的.而且非常簡(jiǎn)單。一個(gè)結(jié)構(gòu)完整的XML文件和HTML文件非常相像。當(dāng)然也有一些小的而且是重要的不同。在實(shí)際操作當(dāng)中的不同是XML文件必須搖遵守一定的法則。HTML的瀏覽器可以允許一些小的錯(cuò)誤。而如果是XML行不通了!  C.5 什么是DTD?我能在哪兒找到?   DTD的全稱是“Document Type Definition“(文件類(lèi)型定義)。具體地說(shuō),DTD是一個(gè)或是一些用XML書(shū)寫(xiě)的文件。它包含了對(duì)一種文件的正式定義。它定義了文件中的元素能用什么名字,能放在什么位置,應(yīng)該怎樣組合。在這里舉一個(gè)簡(jiǎn)單的例子。比如說(shuō)你想要你的文件可以描述一組,其中每個(gè)由可以包含若干個(gè)。那么你的DTD中應(yīng)該有以下語(yǔ)句:       這樣一個(gè)框架定義了一個(gè)表(list),它可以包含若干個(gè)項(xiàng)(items)。每一個(gè)項(xiàng)只能包括文本的內(nèi)容。當(dāng)處理器處理XML文件時(shí)將自動(dòng)檢查DTD,以此確定文件中元素從哪而來(lái),以及它們之間是什么關(guān)系。上面的框架允許你生成下面的一個(gè)表:   ChocolateMusicSurfing    而這樣一個(gè)表在屏幕上是怎樣一個(gè)表象,取決于你的樣式表(Stylesheet)。在HTML中你要在文件中指定應(yīng)是怎樣的形式。使用DTD表明你能夠確定一類(lèi)文章的結(jié)構(gòu)和格式!  要想找一個(gè)DTD看看嗎?實(shí)際上,各個(gè)領(lǐng)域里的SGML DTD由成千上萬(wàn)。你可以參看SGML 的網(wǎng)頁(yè)!   C.6 我總是聽(tīng)說(shuō)DTD的替代者Schema,它到底是什么?   有許多XML的開(kāi)發(fā)者并不滿意XML的規(guī)范。原因有兩點(diǎn):   1.既然XML在說(shuō)明結(jié)構(gòu)信息是有很多好處,那么用來(lái)描述文件類(lèi)型的結(jié)構(gòu)的文件(這是Schema)為什么不是也用XML書(shū)寫(xiě)的呢?這樣做的好處不光是統(tǒng)一,而且便于用正規(guī)的文件工具編輯管理Schema。   2.過(guò)去的DTD對(duì)數(shù)據(jù)的限制不夠。比如說(shuō)你想要一個(gè)元素只取負(fù)值,或是必須有一個(gè)值,DTD很難做到!   C.7 我能用XML作算術(shù)運(yùn)算嗎?   只要你的文件類(lèi)型提供算術(shù)類(lèi)型,知識(shí)可以的。W3C已經(jīng)有了一個(gè)MathML(Mathematical Markup Language數(shù)學(xué)標(biāo)識(shí)語(yǔ)言)的計(jì)劃。清參看W3C(1999年7月)發(fā)布的MathML規(guī)范!  C.8 在XML中,我能使用Java, ActiveX嗎?    這取決于瀏覽器制造者運(yùn)用的工具. XML是用來(lái)描述信息的; 描述性語(yǔ)言和用來(lái)描述內(nèi)嵌函數(shù)功能的語(yǔ)言的目的是使得信息能在客戶端被操作.. XML本身提供了一種定義標(biāo)識(shí)的方法,而這些標(biāo)識(shí)是描述性語(yǔ)言所必需的. XML是一個(gè)中立的標(biāo)準(zhǔn).他不支持或是反對(duì)任何一種描述性語(yǔ)言.所以說(shuō)它是一個(gè)開(kāi)放的領(lǐng)域. 描述性語(yǔ)言是在”Extensible Style Language”XSL (可擴(kuò)展類(lèi)型語(yǔ)言).計(jì)劃中提出的.    C.9 我能用Java編寫(xiě)或是管理XML文件嗎?    可以.我們可以用任何一種編程語(yǔ)言從任何一種XML格式的信息中提取數(shù)據(jù).    D.高級(jí)開(kāi)發(fā)者和應(yīng)用者(包括網(wǎng)絡(luò)管理員和服務(wù)器操作人員)    D.1哪兒可以找到XML的規(guī)范?    請(qǐng)參見(jiàn): http://www.w3.org/TR/REC-xml    D.2 "DTDless" ,"valid",和"well-formed"這些術(shù)語(yǔ)是什么意思?    在完整的SGML中,我們用DTD描述特定文件中的各種標(biāo)識(shí).但DTD的生成是一件極其復(fù)雜的工作.所以XML被設(shè)計(jì)成可以缺省DTD. DTDless表示您可以創(chuàng)造一個(gè)標(biāo)識(shí)而不需正式的定義.當(dāng)然這也要付出代價(jià).您不能在其他的文件中對(duì)同樣的形式采用自動(dòng)的處理. DTDless的文件是以一種非正式的方式定義它的標(biāo)識(shí)的.標(biāo)識(shí)是在哪兒出現(xiàn)的在哪兒定義它.但當(dāng)一個(gè)比方說(shuō)是瀏覽器的XML應(yīng)用程序打開(kāi)了一個(gè)DTDless的文件,它必須要有辦法來(lái)理解文件的結(jié)構(gòu).但它又沒(méi)有DTD,所以規(guī)則上有了一些改變. 舉一個(gè)例子:   HTML中的 是被定義為”EMPTY”(空)的.它并不需要”end-tag”(結(jié)尾標(biāo)簽). DTD 的XML應(yīng)用程序在打開(kāi)一個(gè)缺省DTD. 的文件,讀到時(shí)不知道是否需要一個(gè)”end-tag”.所以”well-formed”(結(jié)構(gòu)良好)的定義也變得重要了. ”well-formed”可以使得一般元素和”EMPTY”元素區(qū)分開(kāi)來(lái).    D.2.1 ”well-formed”(結(jié)構(gòu)良好的)文件   1.如果一個(gè)文件沒(méi)有DTD,它必須在開(kāi)頭處有一個(gè)"Standalone Document Declaration"(獨(dú)立文件聲明):          . ......       2.除了空素以外, 標(biāo)記必須前后匹配.    3.所有的”attribute”值都要用引號(hào)括起來(lái).    4. ”EMPTY”元素的tag要么用”/>”結(jié)尾,要么要補(bǔ)成”non-EMPTY”(非空)的元素. 比如說(shuō): 要么寫(xiě)為 或是    5.文件中必須不能出現(xiàn)”markup-start “(標(biāo)識(shí)開(kāi)始符), 比如”
    立即預(yù)約