XML期末考試試題復(fù)習(xí)題_第1頁(yè)
XML期末考試試題復(fù)習(xí)題_第2頁(yè)
XML期末考試試題復(fù)習(xí)題_第3頁(yè)
XML期末考試試題復(fù)習(xí)題_第4頁(yè)
XML期末考試試題復(fù)習(xí)題_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

6、XML文檔中語(yǔ)句<!DOCTYPEdlibSYSTEM“mydtd.dtd">中SYSTEM的作用是(C)關(guān)鍵字System關(guān)鍵字System用于引用一種作者或組織所編寫(xiě)的眾多xml文檔中通用的dtd A、指定運(yùn)行的操作系統(tǒng)B、打開(kāi)系統(tǒng)文獻(xiàn)C、連接外部DTD文獻(xiàn)四、根據(jù)下面內(nèi)部DTD文檔,完畢后繼的xml文檔。(15分)通配符:?(0次或1次);+(至少出現(xiàn)1次);*(次數(shù)不限)通配符:?(0次或1次);+(至少出現(xiàn)1次);*(次數(shù)不限)1.什么是XML?XML的特點(diǎn)有哪些?答案:XML(eXtensibleMarkupLanguage,可擴(kuò)展標(biāo)識(shí)語(yǔ)言),是由萬(wàn)維網(wǎng)聯(lián)盟(WorldWideWebConsortium,W3C)定義的一種數(shù)據(jù)互換的規(guī)范,是Web上的數(shù)據(jù)通用語(yǔ)言,使用一系列簡(jiǎn)樸的標(biāo)識(shí)描述數(shù)據(jù)。XML的特點(diǎn)有:(1)XML是一種簡(jiǎn)樸、與平臺(tái)無(wú)關(guān)并被廣泛采用的原則,可用于Internet上的多種應(yīng)用。(2)XML兼容SGML,因此多數(shù)SGML應(yīng)用可轉(zhuǎn)化為XML。(3)XML文獻(xiàn)同HTML文獻(xiàn)同樣易于創(chuàng)立。(4)XML文獻(xiàn)內(nèi)容、構(gòu)造簡(jiǎn)樸,可以愈加靈活地進(jìn)行編程,減少了服務(wù)器的工作量。(5)XML文獻(xiàn)構(gòu)造嚴(yán)謹(jǐn),可以輕松被計(jì)算機(jī)程序解析。(6)XML相對(duì)于HTML的長(zhǎng)處是它將顧客界面與構(gòu)造化數(shù)據(jù)分隔開(kāi)來(lái)。這種數(shù)據(jù)與顯示的分離使得集成來(lái)自不一樣源的數(shù)據(jù)成為也許。2.簡(jiǎn)述XML與HTML的區(qū)別。答案:(1)HTML語(yǔ)言是用來(lái)格式化web數(shù)據(jù)的語(yǔ)言,有固定的標(biāo)識(shí),每一種標(biāo)識(shí)均有其固定的使用方法。XML容許自定義標(biāo)識(shí),顧客可以自己定義標(biāo)識(shí)來(lái)描述自己領(lǐng)域的信息。(2)HTML的語(yǔ)法也相稱寬松,標(biāo)識(shí)不一定要配對(duì)使用,名稱不辨別大小寫(xiě)。XML語(yǔ)言有其嚴(yán)格的語(yǔ)法規(guī)則,標(biāo)識(shí)必須成對(duì)使用,嚴(yán)格辨別名稱的大小寫(xiě)。(3)不可以很好的描述數(shù)據(jù)的構(gòu)造,本質(zhì)上是一種格式顯示語(yǔ)言。XML語(yǔ)言的特點(diǎn)就是將信息的內(nèi)容和它們的顯示樣式辨別開(kāi)來(lái),焦點(diǎn)是數(shù)據(jù)的內(nèi)容。3.簡(jiǎn)述XML解析器的種類及解析環(huán)節(jié)。答案: XML的解析器提成兩大類:綜合的解析器和專用的解析器。綜合的解析器又分為:基于DOM的解析器和基于事件的解析器?;贒OM的解析器解析XML文獻(xiàn)的一般環(huán)節(jié)如下: (1)掃描命令行得到XML文獻(xiàn)名; (2)創(chuàng)立一種解析器對(duì)象; (3)告訴解析器解析命令行中給定的XML文獻(xiàn); (4)遍歷DOM成果樹(shù)向原則輸出打??; 基于SAX的解析器解析XML文獻(xiàn)的一般環(huán)節(jié)如下: (1)創(chuàng)立一種事件處理程序。 (2)創(chuàng)立SAX解析器。 (3)向解析器分派事件處理程序。 (4)解析文檔,同步向事件處理程序發(fā)送每個(gè)事件。1.什么是有效的XML文獻(xiàn)?IE能否檢查一種XML文獻(xiàn)的有效性?答案:符合XML語(yǔ)法規(guī)則的XML文獻(xiàn)稱為規(guī)范的XML文獻(xiàn),規(guī)范的XML文獻(xiàn)再滿足其關(guān)聯(lián)的DTD或Schema文獻(xiàn)中的約束,這樣的XML文獻(xiàn)就稱為有效的XML文獻(xiàn)。IE不能檢查一種XML文獻(xiàn)與否是有效的,只能檢查XML文獻(xiàn)的規(guī)范性。要檢查一種XML文獻(xiàn)的有效性,需通過(guò)DOM或SAX解析器。2.怎樣將DTD關(guān)聯(lián)到XML文獻(xiàn)?答案:通過(guò)文檔類型申明來(lái)關(guān)聯(lián)DTD和XML。格式為:<!DOCTYPE根標(biāo)識(shí)名稱SYSTEM“DTD的URI”><!DOCTYPE根標(biāo)識(shí)名稱PUBLIC“正式公用標(biāo)識(shí)符”“DTD的URI”>SYSTEM用于非原則化的外部DTD,PUBLIC用于原則化的外部DTD。XML文獻(xiàn)怎樣調(diào)用CSS樣式?答案:XML文獻(xiàn)調(diào)用CSS有3中形式:引用一種外部CSS文獻(xiàn)、將CSS語(yǔ)句嵌入到XML文獻(xiàn)、同步應(yīng)用內(nèi)部CSS和外部CSS。XML文獻(xiàn)調(diào)用獨(dú)立的CSS文獻(xiàn)的措施是在XML文獻(xiàn)中加入下面一條處理指令:<?xml-stylesheettype=”text/css”href=”CSS文獻(xiàn)的URI”?>調(diào)用內(nèi)部的CSS通過(guò)名稱空間的措施引入HTML的style標(biāo)識(shí): <persionsxmlns:HTML=””> <HTML:style> CSS代碼 </HTML:style> 在XML文獻(xiàn)中同步加入上面兩段代碼就是同步應(yīng)用內(nèi)部CSS和外部CSS。1.XSL與CSS有哪些不一樣之處?答案:XSL和CSS都可以格式化XML。它們之間重要有如下不一樣之處:(1)CSS有局限性。CSS沒(méi)有措施讓XML文獻(xiàn)中的同一種數(shù)據(jù)多次在頁(yè)面上顯示出來(lái),而XSL卻能做到這一點(diǎn)。這是由于它們的需找數(shù)據(jù)的機(jī)理是不一樣的,CSS技術(shù)的顯示機(jī)理是從頭到尾一次掃描XML文獻(xiàn),碰到匹配的標(biāo)識(shí),就以目前的樣式顯示。XSL則是通過(guò)途徑的方式來(lái)定位數(shù)據(jù),從而可以輕易地提取出特定的數(shù)據(jù)。(2)CSS語(yǔ)法簡(jiǎn)樸。CSS只是通過(guò)選擇符和屬性列表來(lái)定義數(shù)據(jù)的樣式,XSL則提供了循環(huán)、條件、選擇等控制語(yǔ)句。從這方面講,XSL更靠近于程序設(shè)計(jì)語(yǔ)言,可以和其他語(yǔ)言進(jìn)行數(shù)據(jù)交互,較CSS有本質(zhì)上的區(qū)別。(3)從語(yǔ)法上講,XSL是一種特殊的XML文獻(xiàn)。因此,XSl必須滿足XML規(guī)范。CSS則是具有其自身語(yǔ)法的語(yǔ)言。2.一種XSL文獻(xiàn)的基本構(gòu)造是什么?答案:XSL文獻(xiàn)是一種特殊的XML文獻(xiàn),因此,XSL的文獻(xiàn)構(gòu)造必須滿足XML規(guī)范,一種XSL樣式文獻(xiàn)也必須有XML申明。編碼必須和其關(guān)聯(lián)的XML文獻(xiàn)編碼一致。XSL樣式文獻(xiàn)的根標(biāo)識(shí)必須是“stylesheet”,必須包括版本申明。使用的名稱空間是。還應(yīng)當(dāng)包括根模板。一種XSL樣式文獻(xiàn)的最基本的構(gòu)造應(yīng)當(dāng)如下代碼所示: <?xmlversion="1.0"?> <xsl:stylesheetversion="1.0"xmlns:xsl=""> <xsl:templatemath="/"> 內(nèi)容描述 </xsl:template> </xsl:stylesheet>1.什么是數(shù)據(jù)島?為何要引用數(shù)據(jù)島?怎樣申明一種數(shù)據(jù)島?答案: 數(shù)據(jù)島是指存在于HTML頁(yè)面中的XML代碼,作為HTML頁(yè)面數(shù)據(jù)的來(lái)源。 通過(guò)數(shù)據(jù)島這種技術(shù),實(shí)現(xiàn)了頁(yè)面范圍內(nèi)數(shù)據(jù)和顯示的分離??梢蕴岣邤?shù)據(jù)的共享性,以便數(shù)據(jù)的維護(hù);可以提高程序的擴(kuò)展性和代碼的重用性。 申明數(shù)據(jù)島通過(guò)標(biāo)識(shí)<xml>實(shí)現(xiàn),申明內(nèi)部數(shù)據(jù)島時(shí),把XML代碼段寫(xiě)在標(biāo)識(shí)<xml>之間。申明外部數(shù)據(jù)島時(shí),通過(guò)標(biāo)識(shí)<xml>的src屬性指明外部的XML文獻(xiàn)。在申明數(shù)據(jù)島時(shí),需要通過(guò)標(biāo)識(shí)<xml>的id屬性為數(shù)據(jù)島命名,用于標(biāo)識(shí)這個(gè)數(shù)據(jù)島。2.怎樣實(shí)現(xiàn)HTML對(duì)象和數(shù)據(jù)島的綁定并取出需要的數(shù)據(jù)?答案:在HTML中實(shí)現(xiàn)對(duì)象和數(shù)據(jù)島綁定通過(guò)對(duì)象的“datasrc”屬性實(shí)現(xiàn),屬性的值為“#”加上數(shù)據(jù)島的名稱。從數(shù)據(jù)島中取數(shù)據(jù)的措施是通過(guò)HTML對(duì)象的“datafld”屬性實(shí)現(xiàn),吧需要的數(shù)據(jù)的標(biāo)識(shí)名稱做為“datafld”屬性的值。DOM接口中的Document節(jié)點(diǎn)有哪兩個(gè)子節(jié)點(diǎn)?分別代表什么意義?答案:Document類型節(jié)點(diǎn)的兩個(gè)子節(jié)類型點(diǎn)是DocumentType類型和Element類型。DocumentType類型節(jié)點(diǎn)對(duì)應(yīng)XML文獻(xiàn)所關(guān)聯(lián)的DTD文獻(xiàn),通過(guò)DocumentType節(jié)點(diǎn)的子孫關(guān)系可以分析并獲得XML文獻(xiàn)所關(guān)聯(lián)的DTD文獻(xiàn)中的數(shù)據(jù)。Element類型節(jié)點(diǎn)對(duì)應(yīng)XML文獻(xiàn)的標(biāo)識(shí)節(jié)點(diǎn),通過(guò)Element節(jié)點(diǎn)的子孫關(guān)系可以獲得XML文獻(xiàn)中的數(shù)據(jù),Element節(jié)點(diǎn)的子節(jié)點(diǎn)有Element節(jié)點(diǎn)、Text節(jié)點(diǎn)和CDATASection節(jié)點(diǎn)。2.Attr節(jié)點(diǎn)是Element節(jié)點(diǎn)的子節(jié)點(diǎn)嗎?答案:不是。在XML文獻(xiàn)中,屬性是標(biāo)識(shí)信息的補(bǔ)充描述,不是標(biāo)識(shí)的子標(biāo)識(shí)。因此,在DOM中Attr對(duì)象是包括在Element對(duì)象中的,不是Element節(jié)點(diǎn)的子節(jié)點(diǎn)。要獲得Element節(jié)點(diǎn)的Attr節(jié)點(diǎn)需要Element節(jié)點(diǎn)調(diào)用getAttribute()措施,該措施返回一種NamedNodeMap對(duì)象,NamedNodeMap對(duì)象由節(jié)點(diǎn)構(gòu)成,這些節(jié)點(diǎn)可以轉(zhuǎn)換為Attr節(jié)點(diǎn)。3.有如下XML代碼段: <element>text</element> 可以通過(guò)哪些措施獲得標(biāo)識(shí)<element>中的數(shù)據(jù)“text”? 答案: 第一種措施:獲得Element節(jié)點(diǎn)“element”,通過(guò)Node接口的getTextContent()措施獲得“element”節(jié)點(diǎn)的文本數(shù)據(jù)。 第二種措施:獲得Element節(jié)點(diǎn)“element”的子節(jié)點(diǎn),即Text類型節(jié)點(diǎn),通過(guò)Text節(jié)點(diǎn)的getWholeText()措施獲得文本數(shù)據(jù)。4.編寫(xiě)Java程序,解析如下的XML文獻(xiàn),規(guī)定輸出的成果如圖8-12所示。 <?xmlversion=”1.0”encoding=”gb2312”?> <score> <name> 小李 <math>89</math> <english>90</english> </name> <name> 小張 <math>92</math> <english>87</english> </name> <name> 小趙 <math>95</math> <english>90</english> </name> </score>圖8-12程序運(yùn)行成果答案: importorg.w3c.dom.*; importjavax.xml.parsers.*; publicclassxiti4{ publicstaticvoidmain(String[]args){ intn=0; floatmathscore=0; floatenglishscore=0; floattotalmath=0; floattotaleng=0; try{ DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance(); DocumentBuilderbuilder=factory.newDocumentBuilder(); Documentdocument=builder.parse("xiti4.xml"); System.out.println("=====成績(jī)單====="); NodeListnodeList=document.getElementsByTagName("name"); for(inti=0;i<nodeList.getLength();i++){ Nodenode=nodeList.item(i); NodeListcNodeList=node.getChildNodes(); System.out.print(cNodeList.item(0).getTextContent()); for(intj=0;j<cNodeList.getLength();j++){ NodecNode=cNodeList.item(j); if(cNode.getNodeType()==Node.ELEMENT_NODE){ StringnodeName=cNode.getNodeName(); if(nodeName=="math"){ System.out.print(nodeName+":"); mathscore=Float.parseFloat(cNode.getTextContent()); totalmath+=mathscore; System.out.println(mathscore); } if(nodeName=="english"){ System.out.print(nodeName+":"); englishscore=Float.parseFloat(cNode.getTextContent()); totaleng+=englishscore; System.out.println(englishscore); n++; System.out.pri

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論