




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
內容5.1XML簡介5.2XML語法與結構5.3命名空間5.4文檔類型定義與校驗5.5XML文檔樣式轉換5.6XML文檔的解析5.7思考題5.1XML簡介為了使異構系統間的數據交換更加容易實現,W3C于1998年正式推出了可擴展標記語言(ExtensibleMarkupLanguage,簡稱為XML)。作為標準通用標記語言(SGML)經過優化后的一個子集,XML具有簡明的結構、良好的可擴展性、通用性和開放性,因而逐步成為信息交換和共享的重要手段。目前,XML已被廣泛地應用于網站開發中的許多環節,包括服務器配置、業務流程描述、程序代碼編寫和數據庫接口設計等方面。5.1XML簡介XML的產生與HTML在應用過程中產生的瓶頸問題直接相關。雖然,HTML是Web的“數據類型”,但同時還具有如下不足:HTML是專門為描述主頁的表現形式而設計的,它疏于對信息語義及其內部結構的描述,不能適應日益增多的信息檢索要求和存儲要求。HTML對形式的描述能力實際也還是非常不夠的,它無法描述矢量圖形、科技符號和一些其他的特殊顯示效果。HTML的元素日益臃腫,文件結構混亂而缺乏條理,導致瀏覽器的設計越來越復雜。HTML源自于SGML,但SGML并非為Internet應用而設計,它的體系也太過復雜和龐大,很難被Internet應用所廣泛使用。XML去除了SGML中繁雜而保持其優點,使其可以方便地應用于各種基于Internet的系統中。5.1XML簡介XML文檔的層次結構容易被軟件所解析,同時,它還非常易于人的閱讀。5.1XML簡介XML繼承了SGML具有的可擴展性、結構性及可校驗性,這也是HTML的主要區別:(1)可擴展性方面:HTML不允許用戶自定義標識或屬性,而在XML中,用戶能夠根據需要,自行定義新的標識和屬性名,以便更好地從語義上修飾數據。(2)結構性方面:HTML不支持深層的結構描述,XML的文件結構嵌套可以復雜到任意程度。(3)可校驗性方面:傳統的HTML沒有提供規范文件以支持應用軟件對HTML文件進行結構校驗;而XML文件可以包括一個語法描述,使應用程序可以對此文件進行結構確認。5.1XML簡介XML技術標準體系5.2XML語法與結構XML的處理指令是用來給處理XML文檔的應用程序提供信息的。處理指令遵循下面的格式:<?指令名指令信息?>例如:<?xmlversion="1.0"encoding="GB2312“standalone="yes"?><?xml-stylesheettype="text/xsl"href="mystyle.xsl"?>例子中的第一個處理指令是由<?xml>標簽描述的XML聲明,其中的信息為:該文檔遵守的XML版本1.0;文檔所使用的編碼方式為GB2312(默認為UTF-8);Standalone屬性說明文檔不需要從外部導入文件;例子中的第二個處理指令指定了與XML文件配套使用XSL文件mystyle.xsl。5.2XML語法與結構XML文檔的基本單位是元素。元素是一個信息塊,它由一個元素名和一個元素內容構成。元素的名稱還應遵守如下規則:(1)元素名稱中可以包含字母、數字以及其它字符;(2)元素名稱不能以數字或“_”(下劃線)開頭;(3)元素名稱不能以“xml”(包括其各種大小寫形式)開頭;(4)元素名稱中不能包含空格;(5)元素名稱中間不能包含“:”(冒號)。5.2XML語法與結構<?xmlversion=“1.0”?><Sections><ado><code>SourceCodeSectionofC-SharpCorner</code><articles>SourceCodeSectionofC-SharpCorner</articles></ado><Graphics><code>GDI+sourceCodeSectionofC-SharpCorner</code><articles>SourceCodeSectionofC-SharpCorner</articles></Graphics></Sections>5.2XML語法與結構按照XML元素所包含的內容,可以將將XML元素分為以下四種形式:(1)包含數據內容的元素:這些元素中只包含數據。例如<x>abc</x>。(2)包含子元素內容的元素:元素包含一個或多個子元素。例如<x><y></y></x>。(3)空元素:元素中既不包含數據內容又不包含子元素。例如<x></x>,可以簡寫為<x/>。(4)包含混合內容的元素:元素既包含數據內容又包含子元素。例如<x>abc<y></y></x>。5.2XML語法與結構XML與HTML有很多相似性,但在語法上XML比HTML更為嚴格。所以在編寫XML文檔時需要注意下列細節:(1)XML是大小寫敏感的,例如<table>和<TABLE>是不同的元素;(2)XML的每一個元素都必須有對應的結束標簽,即使是空元素也必須要寫一對標簽;(3)XML中的元素之間可以嵌套而形成子元素,但不能交叉。例如<b><i>Thistextisboldanditalic</b></i>在XML的語法中是錯誤的;(4)空格也可以是XML文檔的數據內容。5.2XML語法與結構XML屬性提供一種定義復雜元素的解決方案。屬性由屬性名和屬性值組成。元素的屬性說明只能在元素起始標簽或空元素標簽中出現,屬性值必須放置在一對雙引號中,例如:<codelanguage="C#">SourceCodeSectionofC-SharpCorner</code>與元素名一樣,屬性名也是大小寫敏感的。如果屬性名為“ID”,則說明該屬性可以作為元素的索引。對于XML元素來說,屬性并不是必須的。有時我們也可以將相同的信息放到一個子元素中,但對于比較簡單的上下文信息,使用屬性比使用子元素更方便,而且表達的意思也更清晰。5.3命名空間命名空間(Namespaces)是XML規范的重要組成部分,它可以對XML元素或屬性的命名進行擴展:采用命名空間方式后,XML的元素名稱將由一個前綴名稱和一個本地名稱組成,它們用冒號分隔。前綴名稱采用統一資源標識符(URI)的格式,相當于整個名稱中的“姓”;本地名稱則是一個普通的字符串,相對于整個名稱中的“名”,但要求在同一個前綴名稱中不能重復。在互聯網中,由于不同公司或組織的統一資源標識符(URI)不同,加上在同一公司或組織內部的本地名稱保持唯一,則前綴名稱和本地名稱的命名組合可以生成互聯網中的唯一名稱。有兩種類型的URI——統一資源定位器(URL)和統一資源名稱(URN)都可以用作命名空間標識符,其中URL的方式更為常用。命名空間標識符僅僅是字符串,并不代表在互聯網中可以訪問到相應的資源。5.3命名空間命名空間的語法如下:xmlns:[prefix]="[urlofname]"其中“xmlns:”是必須的屬性。“prefix”是命名空間的別名。例如:<samplexmlns:ins=".ac"><ins:batch-list><ins:batch>EveningBatch</ins:batch></ins:batch-list></sample>上述代碼中,batch-list,batch等元素都是在.ac命名空間中定義的,而該命名空間的別名為ins。5.4文檔類型定義與校驗對文檔的格式和數據有效性驗證可以對應用程序之間的數據交換提供保障。XML標準先后推薦了兩種XML文檔驗證方式,包括:文檔類型定義(DTD)和XML架構(XMLSchema)。文檔類型定義(DocumentTypeDefinition,簡稱為DTD)是一套語法規則,它可以作為XML文檔的模板,同時也是XML文檔的有效性(valid)校驗標準。在DTD中可以定義一系列文檔規則,包括文檔中的元素及其順序、屬性等。XML架構(XMLSchema)是一種文檔類型定義方式,與DTD的最大區別在于:XML架構本身也是XML文檔。XML架構文檔之于XML實例文檔如同面向對象系統中對象類之于實例對象。因此,一個XML架構文檔往往對應了多個XML實例文檔。5.4文檔類型定義與校驗DTD文檔描述了XML文檔的結構:<!--employee.dtd--><!ELEMENTemployee(name,hiredate,salary)><!ATTLISTemployeeidCDATA#REQUIRED><!ELEMENTname(#PCDATA)><!ELEMENThiredate(#PCDATA)><!ELEMENTsalary(#PCDATA)>假定要使用以下XML詞匯描述員工信息:<employeeid="555-12-3434"><name>Mike</name><hiredate>2007-12-02</hiredate><salary>42000.00</salary></employee>5.5XML文檔樣式轉換在XML中使用CSSHTML將數據內容與表現融為一體,而XML主要用于數據內容的描述。但當用戶希望以一定方式(比如網頁方式)觀看數據時,就需要將XML的表現方式與其內容進行結合。使用CSS可以為XML文檔提供樣式描述。<?xmlversion="1.0"encoding="iso-8859-1"?><CATALOG><CD><TITLE>EmpireBurlesque</TITLE><ARTIST>BobDylan</ARTIST><COUNTRY>USA</COUNTRY><COMPANY>Columbia</COMPANY><PRICE>10.90</PRICE><YEAR>1985</YEAR></CD><CD><TITLE>Hideyourheart</TITLE><ARTIST>BonnieTyler</ARTIST><COUNTRY>UK</COUNTRY><COMPANY>CBSRecords</COMPANY><PRICE>9.90</PRICE><YEAR>1988</YEAR></CD></CATALOG>5.5XML文檔樣式轉換CATALOG{background-color:#ffffff;width:100%;}CD{display:block;margin-bottom:30pt;margin-left:0;}TITLE{color:#FF0000;font-size:20pt;}ARTIST{color:#0000FF;font-size:20pt;}COUNTRY,PRICE,YEAR,COMPANY{display:block;color:#000000;
margin-left:20pt;}在cd_catalog.xml文件中添加CSS說明指令,形成以下文件:<?xmlversion="1.0"encoding="ISO-8859-1"?><?xml-stylesheettype="text/css"href="cd_catalog.css"?><CATALOG>……</CATALOG>5.5XML文檔樣式轉換可擴展樣式語言(XMLStyleLanguage,簡稱為XSL)可以將XML文件作為原料,使用選擇、測試和匹配等方式,將XML轉換為目標文檔,比如HTML。要從XML里提取相關的數據進行樣式轉換,就要用到XSL提供的模式查詢語言。所謂模式查詢語言,就是通過相關的模式匹配規則表達式從XML里提取數據的特定語句。模式查詢語言可分為三種:選擇模式:<xsl:for-each>、<xsl:value-of>和<xsl:apply-templates>測試模式:<xsl:if>和<xsl:when>匹配模式:<xsl:template>選擇模式語句將數據從XML中提取出來,是一種簡單獲得數據的方法。選擇模式語句的元素中都有select屬性,它設定了選擇的條件。應用XSL選擇模式語句找出文檔中滿足設定條件的元素或元素的集合進行樣式轉換。5.6XML文檔的解析文檔對象模型(DocumentObjectModel,簡稱為DOM)為編程語言提供了一個讀寫XML文檔的接口,通過這一接口可以訪問到XML文檔內容、結構以及樣式數據。DOM是以樹形結構的視角看待XML文檔,XML文檔中的每個成分都是樹中的一個節點,也是對應的一個DOM對象。應用程序通過存取這些對象就能夠存取XML文檔的內容。以下是XML文檔中各成分與樹形結構節點之間的對應關系:(1)整個XML文檔是一個文檔節點;(2)每個XML元素是一個節點;(3)包含在XML元素中的數據內容是文本節點;(4)每一個XML屬性是一個屬性節點;(5)注釋屬于注釋節點。5.6XML文檔的解析
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年對外漢語教師資格證考試漢語教學評價方法研究研究研究試題
- 2025年會計職稱考試《初級會計實務》高頻考點串聯精準解析試卷
- 2025年公務員錄用考試證監會計類專業試卷(財務報表分析)
- 2025年膠槍熱熔膠項目立項申請報告
- 2025年安全評價師(初級)職業技能鑒定安全法規試題
- 我最喜歡的老師肖像描寫9篇
- 2025年澳門特別行政區事業單位招聘考試綜合類專業能力測試試卷(法律類)案例分析
- 2025年春季煙花爆竹安全作業特種操作證考試試卷詳解與模擬試題集解析
- 2025年一建《機電工程管理與實務》考試易錯知識點梳理與解題策略試卷
- 2025年電梯安裝維修工(中級)操作技能試題
- 2024年天津市南開區初中學業考查模擬地理試卷
- 第四屆福建省水產技術推廣職業技能競賽-水生物病害防治員備賽題庫(含答案)
- 數字供應鏈對營運資金周轉效率的影響分析
- 輕型卒中臨床診療中國專家共識要點(2024年)解讀課件
- 2022聯合國電子政務調查報告(中文版)
- 國家開放大學《管理英語4》期末機考題庫
- DeepSeek在銀行業務場景的應用
- 居家適老化改造指導手冊(2025年版)
- 炊事員培訓試題及答案
- 2024年山西杏花村汾酒集團有限責任公司招聘真題
- 模板包清工合同協議
評論
0/150
提交評論