版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
XML技術(shù)應(yīng)用徐兵第一章XML概述目標(biāo):了解標(biāo)記語言的開展和現(xiàn)狀,掌握XML的特點(diǎn),理解XML的應(yīng)用前景,掌握XML文檔的數(shù)據(jù)結(jié)構(gòu)和根本語法,了解常用的XML開發(fā)工具。本章結(jié)構(gòu)內(nèi)容:XML簡介XML的應(yīng)用概述XML的相關(guān)技術(shù)本章小節(jié)1.1XML簡介XML(eXtensibleMarkupLanguage)可擴(kuò)展的標(biāo)記語言標(biāo)記語言使用某種“記號”來表示某種特殊信息的語言。如HTML<html><head><title>這是一個(gè)歡送的例子</title></head><body>你好!歡送你!<br><fontsize=6color=#ff0011>對文字顏色和大小的設(shè)置</font></body></html>兩個(gè)概念相關(guān)概念標(biāo)記
為了處理的目的,在數(shù)據(jù)中加入附加信息,這種附加信息稱為標(biāo)記。標(biāo)記語言運(yùn)用標(biāo)記的方法描述的形式語言,這里要求所定義的標(biāo)記不能有二義性。標(biāo)記的作用標(biāo)記可以給數(shù)據(jù)增加語義標(biāo)記可以區(qū)分?jǐn)?shù)據(jù)標(biāo)記可以定義數(shù)據(jù)的作用標(biāo)記可以定義包含關(guān)系標(biāo)記可以定義關(guān)系格式化標(biāo)記<B>HelloWorld</B>結(jié)構(gòu)化標(biāo)記<H1>HelloWorld</H1>語義標(biāo)記<STRONG>HelloWorld</STRONG>標(biāo)記種類HTML標(biāo)記顯示<html><head><title>Myfirstexample</title></head><body><ul>第一個(gè)職工
<li>張曉迪</li><li>女</li><li>銷售部</li></ul></body></html>第一個(gè)職工張曉迪女銷售部MyfirstexampleHTML缺乏語法檢查HTML缺乏結(jié)構(gòu)HTML對內(nèi)容不敏感HTML不是面向?qū)ο蟮腍TML缺乏健壯的鏈接機(jī)制HTML是不可重用的HTML是不可擴(kuò)展的HTML局限性XML的起源SGMLXMLHTMLSGML實(shí)際上是一種通用的文檔結(jié)構(gòu)描述符號化語言,主要用來定義文獻(xiàn)模型的邏輯和物理類結(jié)構(gòu)。
子集實(shí)例SGML的優(yōu)點(diǎn)優(yōu)點(diǎn)它支持用戶定義的、用來滿足文件特殊要求的標(biāo)記和體系結(jié)構(gòu)。因?yàn)樗?986年后被確定為ISO的標(biāo)準(zhǔn),所以具有長期的適用性。它是人類共有的、獨(dú)立于操作平臺的,其壽命將超過現(xiàn)有的大局部應(yīng)用軟件。SGML的缺乏與HTML相比,SGML的工具相當(dāng)昂貴。它的安裝耗資不菲,而且需要很特殊的技術(shù)。用SGML創(chuàng)立文檔類型定義的本錢很高,特別是用人工來做。缺乏SGML學(xué)起來比較困難。XML與HTML的比較兩者同根——SGML,均基于文本HTML僅定義數(shù)據(jù)的外觀—它是一種純粹的顯示語言。HTML文檔主要包含顯示格式、主要是為了瀏覽,而不是為計(jì)算機(jī)所使用是顯示格式描述語言HTML包含預(yù)定義的標(biāo)記〔Tag)集,易學(xué)易于訪問,但難以數(shù)據(jù)重用,可擴(kuò)展性差XML以數(shù)據(jù)可重用為切入點(diǎn),可定義自己的標(biāo)記集,且能讓其它人或程序知道和理解這些標(biāo)記集,可擴(kuò)展性強(qiáng)XML比HTML易于擴(kuò)展,XML標(biāo)記表示了數(shù)據(jù)的邏輯結(jié)構(gòu),可為不同應(yīng)用以不同方式加以分析,同時(shí)進(jìn)行嚴(yán)格的語法和語義檢查XML文檔將數(shù)據(jù)與顯示格式別離,是數(shù)據(jù)格式描述語言,為信息開放、共享和交互提供根底XMLHTML關(guān)系要點(diǎn)XML不是要替換HTML;實(shí)際上XML可以視作對HTML的補(bǔ)充。XML和HTML的目標(biāo)不同:HTML的設(shè)計(jì)目標(biāo)是顯示數(shù)據(jù)并集中于數(shù)據(jù)外觀,而XML的設(shè)計(jì)目標(biāo)是描述數(shù)據(jù)并集中于數(shù)據(jù)的內(nèi)容。與HTML相似,XML不進(jìn)行任何操作。雖然XML標(biāo)記可用于描述訂單之類的項(xiàng)的結(jié)構(gòu),但它不包含可用于發(fā)送或處理該訂單以及確保按該訂單交貨的任何代碼。其他人必須編寫代碼來實(shí)際對XML格式的數(shù)據(jù)執(zhí)行這些操作。與HTML不同,XML標(biāo)記由架構(gòu)或文檔的作者定義,并且是無限制的。HTML標(biāo)記那么是預(yù)定義的;HTML作者只能使用當(dāng)前HTML標(biāo)準(zhǔn)所支持的標(biāo)記。比較內(nèi)容HTMLXML可擴(kuò)展性不具有擴(kuò)展性是元標(biāo)識語言,可用于定義新的標(biāo)識語言側(cè)重點(diǎn)側(cè)重于如何表現(xiàn)信息側(cè)重于如何結(jié)構(gòu)化地描述信息語法要求不要求標(biāo)記的嵌套,配對等,不要求標(biāo)識之間具有一定的順序嚴(yán)格要求嵌套,配對,并遵循DTD的樹形結(jié)構(gòu)可讀性及可維護(hù)性難于閱讀,維護(hù)結(jié)構(gòu)清晰,便于閱讀,維護(hù)數(shù)據(jù)和顯示的關(guān)系內(nèi)容描述與顯示方式整合為一體內(nèi)容描述與顯示方式相分離保值性不具有保值性具有保值性編輯及瀏覽工具已有大量的編輯,瀏覽工具編輯,瀏覽工具尚不成熟結(jié)構(gòu)描述不支持深層的結(jié)構(gòu)描述文件結(jié)構(gòu)嵌套可以復(fù)雜到任何程度與數(shù)據(jù)庫的關(guān)系沒有直接聯(lián)系與關(guān)系型和層狀數(shù)據(jù)庫均可對應(yīng)和轉(zhuǎn)換超級鏈接單文件、書簽鏈接可以定義雙向鏈接、多目標(biāo)鏈接、擴(kuò)展聯(lián)結(jié)大小寫敏感性大小寫不區(qū)分大小寫區(qū)分XML與SGML、HTML的關(guān)系
應(yīng)用簡化HTMLXMLSGML16/51XML的誕生GML(1969)SGML(1985)XML(1998)HTML(1993)XHTML(1999)XML各項(xiàng)技術(shù)
XML和HTML都屬于SGML的子集XML是一種元符號化語言,即可以像SGML那樣作為元語言來定義其它文件系統(tǒng)XML文檔結(jié)構(gòu)樹<?xmlversion="1.0"?><職工列表> <職工> <姓名>張曉迪</姓名> <性別>女</性別> <部門>銷售部</部門> </職工> <……><職工列表>職工列表職工……姓名性別部門XML文檔<?xmlversion="1.0"encoding="GB2312"?><!--Writenbyyangling--><?xml-stylesheettype="text/xsl"href="employee.xsl"?><職工列表><職工><姓名>張曉迪</姓名><性別>女</性別><部門>銷售部</部門></職工></職工列表>聲明注釋處理指令XML序文<?xmlversion="1.0"encoding="GB2312"?><?xml-stylesheettype="text/xsl"href="employee.xsl"?><!--Writenbyyangling-->開始結(jié)束處理指令名XML版本使用的字符集開始結(jié)束處理指令名樣式單類型樣式單地址開始結(jié)束注釋內(nèi)容XML格式的特點(diǎn)XML格式是基于文本的,這使得它們更容易讀、更便于記錄,有時(shí)也更便于調(diào)試。XML文檔可使用已為HTML建立的很多根底結(jié)構(gòu),包括HTTP協(xié)議和某些瀏覽器。HTTP允許穿過防火墻傳輸XML。XML分析已有完善的定義,且已廣泛應(yīng)用,使得在各種環(huán)境中從XML文檔檢索信息成為可能。應(yīng)用程序可依賴XML分析器進(jìn)行某些結(jié)構(gòu)驗(yàn)證以及數(shù)據(jù)類型檢查〔當(dāng)使用架構(gòu)時(shí)〕。XML建立在Unicode根底上,使得創(chuàng)立國際化文檔更容易。不過,XML分析可能比分析高度優(yōu)化的二進(jìn)制格式慢,并且可能需要更多內(nèi)存。然而,精心的應(yīng)用程序設(shè)計(jì)能夠防止一些問題。什么是XML?XML—可擴(kuò)展標(biāo)記語言eXtensibleMarkupLanguageXML不是語言,該把XML理解為元語言或元標(biāo)記語言。元語言是用來描述其他語言的語言。XML是一種使用標(biāo)記描述其他標(biāo)記語言的語法。XML描述的是結(jié)構(gòu)和語義,而不是格式化。W3C發(fā)布的XML1.0推薦標(biāo)準(zhǔn)沒有定義任何一種標(biāo)識符集或語言關(guān)鍵字。XML1.0推薦標(biāo)準(zhǔn)僅僅定義了一種語法和句法。XML的特性XML的核心是數(shù)據(jù)〔數(shù)據(jù)和表示別離〕XML數(shù)據(jù)的自我描述性〔可擴(kuò)展性〕XML可以實(shí)現(xiàn)異構(gòu)數(shù)據(jù)之間的數(shù)據(jù)轉(zhuǎn)換XML支持Unicode字符集XML良好特性XML易于理解和閱讀XML可通用于當(dāng)今的各種開放標(biāo)準(zhǔn)XML是與平臺、工具、數(shù)據(jù)庫、協(xié)議、編程語言無關(guān)的XML允許開發(fā)人員創(chuàng)立自己的數(shù)據(jù)定義和表示模型支持國際化1.2XML處理過程編輯器根本的文本編輯器如Notepad〔記事本〕、UltraEditXMLSpy語法分析和處理程序讀取XML文檔,并且檢查文檔的結(jié)構(gòu)完整性,同時(shí)它還要檢測文檔是否正確,一旦文檔通過了程序的語法分析,就由處理程序轉(zhuǎn)化為元素的樹狀結(jié)構(gòu),并傳送給用戶端的應(yīng)用程序用戶端應(yīng)用程序接收到語法分析和處理程序傳送過來的元素樹狀結(jié)構(gòu)后,對其進(jìn)行相應(yīng)的處理,如果應(yīng)用程序是瀏覽器如IE的話,那么就將數(shù)據(jù)顯示給用戶。25/51XML元素的樹結(jié)構(gòu)poemtitleauthorcontentlinelinelinelineXML文檔的數(shù)據(jù)結(jié)構(gòu)是樹狀結(jié)構(gòu),相當(dāng)于原來的層次型數(shù)據(jù)庫系統(tǒng)XML解析器什么是XML解析器?XML處理程序通常也稱為XML解析器,因?yàn)樗鼈儗ML文檔進(jìn)行解析。XML解析器是讀取XML文檔并提供對文檔內(nèi)容的訪問的軟件模塊。XML解析器處理XML文件需要XML解析器〔XMLparser〕,或稱為XML處理器〔XMLprocessor〕的程序。解析器負(fù)責(zé)檢查XML文件的語法,并使XML文件包含的數(shù)據(jù)能被應(yīng)用程序使用。類型:無驗(yàn)證的解釋器和驗(yàn)證的解釋器常用的解析器有,微軟的MSXML、Apache軟件基金會(huì)的Xerces和IBM的XML4J,以及OracleXMLParser。1.3XML的應(yīng)用概述數(shù)據(jù)交換內(nèi)容管理電子商務(wù)配置文件大數(shù)據(jù)---云計(jì)算—物聯(lián)網(wǎng)XML技術(shù)應(yīng)用背景“可擴(kuò)展標(biāo)記語言”(XML)提供一種描述結(jié)構(gòu)化數(shù)據(jù)的方法。與主要用于控制數(shù)據(jù)的顯示和外觀的HTML標(biāo)記不同,XML標(biāo)記用于定義數(shù)據(jù)本身的結(jié)構(gòu)和數(shù)據(jù)類型。XML使用一組標(biāo)記來描繪數(shù)據(jù)元素。每個(gè)元素封裝可能十分簡單也可能十分復(fù)雜的數(shù)據(jù)。您可以定義一組無限制的XML標(biāo)記。例如,可以定義一些XML標(biāo)記來聲明訂單中的數(shù)據(jù),如價(jià)格、稅收、發(fā)貨地址、帳單地址等等由于XML標(biāo)記在整個(gè)單位中以及跨單位采用,因此來自各種不同數(shù)據(jù)存儲區(qū)的數(shù)據(jù)將更容易交換和操作。XML是一種簡單、與平臺無關(guān)并被廣泛采用的標(biāo)準(zhǔn)。XML相對于HTML的優(yōu)點(diǎn)是它將用戶界面與結(jié)構(gòu)化數(shù)據(jù)分隔開來。這種數(shù)據(jù)與顯示的別離使得集成來自不同源的數(shù)據(jù)成為可能??蛻粜畔ⅰ⒂唵?、研究結(jié)果、帳單付款、病歷、目錄數(shù)據(jù)及其他信息都可以轉(zhuǎn)換為XML。1.4XML的相關(guān)技術(shù)文檔類型定義DTD文檔對象模型DOM級聯(lián)樣式表CSS可擴(kuò)展的樣式語言XSL可擴(kuò)展的鏈接語言XLL文檔類型定義〔DTD〕XML是元標(biāo)記語言,任何人都可以自由地創(chuàng)立自己的標(biāo)記集,如果每個(gè)人都試圖用自己定義的標(biāo)記發(fā)布XML文檔,結(jié)果是誰也無法有效的獲得信息。所以需要使用DTD來定義文檔的格式規(guī)那么,明確文檔的格式。文檔對象模型〔DOM〕XML文檔與其它應(yīng)用程序之間存在著通信和交互,在一些Web應(yīng)用程序的結(jié)構(gòu)中,應(yīng)用程序必須處理XML文檔以及文檔的各個(gè)局部。開發(fā)人員可以通過DOMAPI對XML文檔進(jìn)行讀取、搜索、修改、添加和刪除等操作。級聯(lián)樣式表〔CSS〕對于XML而言,由于允許在文檔中使用任意的標(biāo)記,所以對于瀏覽器來說,沒有方法事先識別如何顯示各個(gè)元素。因此當(dāng)XML文檔送給用戶的時(shí)候,必須給用戶發(fā)送樣式單,通過樣式單來告訴瀏覽器如何按照指定的格式顯示文檔的每個(gè)元素,這樣的一種樣式單就是CSS〔CascadingStyleSheet級聯(lián)樣式表〕??蓴U(kuò)展的樣式語言〔XSL〕XSL中的重點(diǎn)是XSLT(XSLTransformatinXSL轉(zhuǎn)換〕,它將一個(gè)沒有形式表現(xiàn)的XML文檔作為源樹,將其轉(zhuǎn)換成一個(gè)有樣式信息的結(jié)果樹。例如:可以將一個(gè)XML文檔轉(zhuǎn)換成另一個(gè)邏輯機(jī)構(gòu)的XML文檔,或者HTML文檔??蓴U(kuò)展的鏈接語言〔XLL〕XML引入了專門的XLL來進(jìn)行文檔的鏈接和定位,分為XLink、XPointer。XLink使得XML文檔中的任意元素成為鏈接,而不僅僅是A元素。進(jìn)一步來說,XLink的鏈接可以使雙向的、多向的或者是指向多個(gè)鏡像的站點(diǎn),選擇這些站點(diǎn)中最近的一個(gè)。XPointer能使鏈接不僅指向特定位置處的特定文檔,而且還可以指向特定文檔的特定局部,如某個(gè)元素。XPointer提供了文檔之間連接非常強(qiáng)大的功能。XML開展前景XML需要強(qiáng)大的新工具用于在文檔中顯示豐富復(fù)雜的數(shù)據(jù)XML會(huì)改革終端用戶在網(wǎng)上的行為,這有助于許多商業(yè)應(yīng)用的實(shí)現(xiàn)XML作為一個(gè)數(shù)據(jù)標(biāo)準(zhǔn),會(huì)開創(chuàng)互聯(lián)網(wǎng)上眾多新用途。XML商務(wù)應(yīng)用舉例XML商務(wù)應(yīng)用舉例數(shù)據(jù)庫交換數(shù)據(jù)庫交換技術(shù)是XML的重要應(yīng)用當(dāng)今計(jì)算機(jī)世界存在許多操作系統(tǒng)平臺及數(shù)據(jù)庫系統(tǒng);常常需要在不同的平臺和系統(tǒng)之間傳輸信息;XML可以被不同的平臺和系統(tǒng)采用作為交流的媒介。數(shù)據(jù)交換應(yīng)用舉例美國家庭健康醫(yī)療機(jī)構(gòu)信息跟蹤系統(tǒng)政府文檔司法出版保險(xiǎn)機(jī)構(gòu)中介組織信息交換分布式處理即將大局部負(fù)載,從Web效勞器轉(zhuǎn)到Web客戶端的應(yīng)用如遠(yuǎn)程教育的應(yīng)用;公司和企業(yè)為不同的客戶創(chuàng)立和分發(fā)大量有價(jià)值的文檔信息;設(shè)計(jì)應(yīng)用上述基于Web的新興領(lǐng)域應(yīng)用使用HTML難于實(shí)現(xiàn)信息發(fā)布采用XML描述的數(shù)據(jù),可以以不同的方式顯示在不同用戶的瀏覽器中;也就是說,效勞器只需發(fā)出一份XML文件,客戶可根據(jù)需要選擇不同的程序來處理數(shù)據(jù)。這對于提高企業(yè)的競爭能力非常重要。智能化的Web應(yīng)用程序和數(shù)據(jù)集成Web應(yīng)用將出現(xiàn)呈現(xiàn)出智能化XML能準(zhǔn)確表達(dá)信息的真實(shí)內(nèi)容,其嚴(yán)格的語法降低了應(yīng)用程序負(fù)擔(dān),使智能工具的開發(fā)更為便捷來自不同應(yīng)用程序的數(shù)據(jù)能轉(zhuǎn)化到XML這個(gè)統(tǒng)一框架中,進(jìn)行交互、轉(zhuǎn)化和進(jìn)一步加工XML與電子商務(wù)電子商務(wù)的定義:利用電子化方式開展的商務(wù)活動(dòng)電子商務(wù)開展經(jīng)歷了幾個(gè)階段:早期的EDI階段伴隨Internet開展而基于Web的電子商務(wù)以XML為根底和核心的集成電子商務(wù)〔B2Bi〕XML加速電子商務(wù)的開展XML的有利于數(shù)據(jù)交換和傳遞的特性,為電子商務(wù),尤其是B2B帶來革命性的沖擊XML可在電子商務(wù)的兩個(gè)重要方面起重要作用:內(nèi)容定義:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 北京語言大學(xué)《建筑綜合體實(shí)訓(xùn)公共設(shè)施設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年針織男女套裝項(xiàng)目可行性研究報(bào)告
- 北京郵電大學(xué)世紀(jì)學(xué)院《英語》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年超薄型直流風(fēng)扇項(xiàng)目可行性研究報(bào)告
- 北京郵電大學(xué)《數(shù)據(jù)庫與數(shù)據(jù)結(jié)構(gòu)(二)》2023-2024學(xué)年第一學(xué)期期末試卷
- 教師個(gè)人教學(xué)心得范文
- 北京信息職業(yè)技術(shù)學(xué)院《營地教育》2023-2024學(xué)年第一學(xué)期期末試卷
- 五年級數(shù)學(xué)說課稿合集八篇
- 解除建筑施工合同協(xié)議書
- 2025版砍樹承包合同附帶林業(yè)保險(xiǎn)與風(fēng)險(xiǎn)規(guī)避協(xié)議3篇
- 數(shù)據(jù)分析基礎(chǔ)與應(yīng)用指南
- 人教版(PEP)小學(xué)六年級英語上冊全冊教案
- 廣東省廣州市海珠區(qū)2023-2024學(xué)年六年級上學(xué)期月考英語試卷
- 消防水域救援個(gè)人防護(hù)裝備試驗(yàn) 大綱
- 機(jī)電樣板施工主要技術(shù)方案
- 涉稅風(fēng)險(xiǎn)管理方案
- 青島市2022-2023學(xué)年七年級上學(xué)期期末道德與法治試題
- 高空作業(yè)安全免責(zé)協(xié)議書范本
- 石油化學(xué)智慧樹知到期末考試答案章節(jié)答案2024年中國石油大學(xué)(華東)
- 手術(shù)后如何防止排尿困難
- 特種設(shè)備“日管控、周排查、月調(diào)度”表格
評論
0/150
提交評論