<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 39,  comments - 44,  trackbacks - 0
    XML是eXtensible Markup Language的縮寫。擴展標記語言XML是一種簡單的數據存儲語言,使用一系列簡單的標記描述數據,而這些標記可以用方便的方式建立,雖然XML占用的空間比二進制數據要占用更多的空間,但XML極其簡單易于掌握和使用。

    XML與Access,Oracle和SQL Server等數據庫不同,數據庫提供了更強有力的數據存儲和分析能力,例如:數據索引、排序、查找、相關一致性等,XML僅僅是展示數據。事實上XML與其他數據表現形式最大的不同是:他極其簡單。這是一個看上去有點瑣細的優點,但正是這點使XML與眾不同。

    XML的簡單使其易于在任何應用程序中讀寫數據,這使XML很快成為數據交換的唯一公共語言,雖然不同的應用軟件也支持其它的數據交換格式,但不久之后他們都將支持XML,那就意味著程序可以更容易的與Windows、Mac OS, Linux以及其他平臺下產生的信息結合,然后可以很容易加載XML數據到程序中并分析他,并以XML格式輸出結果。

    XML的前身是SGML(The Standard Generalized Markup Language),是自IBM從60年代就開始發展的GML(Generalized Markup Language)

    HTML一樣, XML (可擴展標識語言)是通用標識語言標準(SGML)的一個子集,它是描述網絡上的數據內容和結構的標準。盡管如此,XML不象HTML,HTML僅僅提供了在頁面上顯示信息的通用方法(沒有上下文相關和動態功能) ,XML則對數據賦予上下文相關功能,它繼承了SGML的大部分功能,卻使用了不太復雜的技術。.

    為了使得SGML顯得用戶友好,XML重新定義了SGML的一些內部值和參數,去掉了大量的很少用到的功能,這些繁雜的功能使得SGML在設計網站時顯得復雜化。XML保留了SGML的結構化功能,這樣就使得網站設計者可以定義自己的文檔類型,XML同時也推出一種新型文檔類型,使得開發者也可以不必定義文檔類型。

    因為XML是W3C制定的,XML的標準化工作由W3C的XML工作組負責,該小組成員由來自各個地方和行業的專家組成,他們通過email交流對XML標準的意見,并提出自己的看法 (www.w3.org/TR/WD-xml)。因為XML 是個公共格式, (它不專屬于任何一家公司),你不必擔心XML技術會成為少數公司的盈利工具,XML不是一個依附于特定瀏覽器的語言

    XML(可擴展標記語言)是從稱為SGML(標準通用標記語言)的更加古老的語言派生出來的。SGML的主要目的是定義使用標簽來表示數據的標記語言的語法。

    標簽由包圍在一個小于號(<)和一個大于號(>)之間的文本組成,例如<tag>。起始標簽(start tag)表示一個特定區域的開始,例如<start>;結束標簽(end tag)定義了一個區域的結束,除了在小于號之后緊跟著一個斜線(/)外,和起始標簽基本一樣,例如</end>。SGML還定義了標簽的特性(attribute),它們是定義在小于號和大于號之間的值,例如<img src="picture.jpg">中的src特性。如果你覺得它看起來很熟悉的話,應該知道,基于SGML的語言的最著名實現就是原始的HTML。

    SGML常用來定義針對HTML的文檔類型定義(DTD),同時它也常用于編寫XML的DTD。SGML的問題就在于,它允許出現一些奇怪的語法,這讓創建HTML的解析器成為一個大難題:

    1  某些起始標簽不允許出現結束標簽,例如HTML中<img>標簽。包含了結束標簽就會出現錯誤。

    2  某些起始標簽可以選擇性出現結束標簽或者隱含了結束標簽,例如HTML中<p>標簽,當出現另一個<p>標簽或者某些其他標簽時,便假設在這之前有一個結束標簽。

    3  某些起始標簽要求必須出現結束標簽,例如HTML中<script>標簽。

    4  標簽可以以任何順序嵌套。即使結束標簽不按照起始標簽的逆序出現也是允許的,例如,<b>This is a <i> sample </b> string</i>是正確的。

    5  某些特性要求必須包含值,例如<img src="picture.jpg">中的src特性。

    6  某些特性不要求一定有值,例如<td nowrap>中的nowrap特性。

    7  定義特性的兩邊有沒有加上雙引號都是可以的,所以<img src="picture.jpg">和<img src=picture.jpg>都是允許的。

          這些問題使建立一個SGML語言的解析器變成了一項艱巨的任務。判斷何時應用以上規則的困難導致了SGML語言的定義一直停滯不前。以這些問題作為出發點,XML逐漸步入我們的視野。

          XML去掉了之前令許多開發人員頭疼的SGML的隨意語法。在XML中,采用了如下的語法:

    8  任何的起始標簽都必須有一個結束標簽。

    9  可以采用另一種簡化語法,可以在一個標簽中同時表示起始和結束標簽。這種語法是在大于符號之前緊跟一個斜線(/),例如<tag />。XML解析器會將其翻譯成<tag></tag>。

    10  標簽必須按合適的順序進行嵌套,所以結束標簽必須按鏡像順序匹配起始標簽,例如<b>this is a <i>sample</i> string</b>。這好比是將起始和結束標簽看作是數學中的左右括號:在沒有關閉所有的內部括號之前,是不能關閉外面的括號的。

    11  所有的特性都必須有值。

    12  所有的特性都必須在值的周圍加上雙引號。

    這些規則使得開發一個XML解析器要簡便得多,而且也除去了解析SGML中花在判斷何時何地應用那些奇怪語法規則上的工作。僅僅在XML出現后的前六年就衍生出多種不同的語言,包括MathML、SVG、RDF、RSS、SOAP、XSLT、XSL-FO,而同時也將HTML改進為XHTML。

    如果需要關于SGML和XML具體技術上的對比,請查看W3C的注解,位于:http://www.w3. org/TR/NOTE-sgml-xml.html

    如今,XML已經是世界上發展最快的技術之一。它的主要目的是使用文本以結構化的方式來表示數據。在某些方面,XML文件也類似于數據庫,提供數據的結構化視圖。這里是一個XML文件的例子:


    每個XML文檔都由XML序言開始,在前面的代碼中的第一行便是XML序言,<?xml version="1.0"?>。這一行代碼會告訴解析器和瀏覽器,這個文件應該按照前面討論過的XML規則進行解析。第二行代碼,<books>,則是文檔元素(document element),它是文件中最外面的標簽(我們認為元素(element)是起始標簽和結束標簽之間的內容)。所有其他的標簽必須包含在這個標簽之內來組成一個有效的XML文件。XML文件的第二行并不一定要包含文檔元素;如果有注釋或者其他內容,文檔元素可以遲些出現。

    范例文件中的第三行代碼是注釋,你會發現它與HTML中使用的注釋風格是一樣的。這是XML從SGML中繼承的語法元素之一。

    頁面再往下的一些地方,可以發現<desc>標簽里有一些特殊的語法。<![CDATA[ ]]>代碼用于表示無需進行解析的文本,允許諸如大于號和小于號之類的特殊字符包含在文本中,而無需擔心破壞XML的語法。文本必須出現在<![CDATA[和]]>之間才能合適地避免被解析。這樣的文本稱為Character Data Section,簡稱CData Section。

    下面的一行就是在第二本書的定義之前的:

    <?page render multiple authors ?>

    雖然它看上去很像XML序言,但實際上是一種稱為處理指令(processing instruction)的不同類型的語法。處理指令(以下簡稱PI)的目的是為了給處理頁面的程序(例如XML解析器)提供額外的信息。PI通常情況下是沒有固定格式的,唯一的要求是緊隨第一個問號必須至少有一個字母。在此之后,PI可以包含除了小于號和大于號之外的任何字符串序列。

    最常見的PI是用來指定XML文件的樣式表:



    這個PI一般會直接放在XML序言之后,通常由Web瀏覽器使用,來將XML數據以特殊的樣式顯示出來。
    posted on 2008-05-06 14:09 礦礦 閱讀(273) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲成a人片在线观| 亚洲avav天堂av在线网爱情| 亚洲精品在线视频| 国产亚洲综合成人91精品 | a一级毛片免费高清在线| 成全高清在线观看免费| 日本精品人妻无码免费大全| 久久久久亚洲精品无码网址| 亚洲午夜久久久精品电影院| 国产免费人成视频在线播放播| 成人黄色免费网站| 亚洲热线99精品视频| 亚洲AV第一成肉网| 18禁黄网站禁片免费观看不卡| 免费a级黄色毛片| 亚洲人成网站在线观看播放青青| 99久热只有精品视频免费看| 亚洲一区无码精品色| 亚洲爆乳少妇无码激情| 99re这里有免费视频精品 | 国产aa免费视频| 亚洲成人免费网址| 久热中文字幕在线精品免费| 亚洲成A人片777777| 免费看一级毛片在线观看精品视频| 在线看片韩国免费人成视频| 77777午夜亚洲| 精品久久8x国产免费观看| 67194在线午夜亚洲| 日本免费中文字幕在线看| 麻豆狠色伊人亚洲综合网站| 全免费a级毛片免费看无码| 91亚洲性爱在线视频| 精品国产免费观看久久久| 特a级免费高清黄色片| 国产成人免费高清在线观看| 亚洲熟妇无码av另类vr影视| 啦啦啦中文在线观看电视剧免费版| 亚洲AV无码男人的天堂| 亚洲精品午夜无码专区| 免费三级毛片电影片|