




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
習題1答案1.XML參考答案:<xmlversion=”1.0”encoding=”gb2312”><poem><title>靜夜思</title><author>李白</author><content><line>床前明月光</line><line>疑是地上霜</line><line>舉頭望明月</line><line>低頭思故鄉(xiāng)</line></content></poem>2.判斷下列元素的內容是否合法<data>&</data> 錯<data>/</data> 對<data>/></data> 對<data><</data> 錯<data>]]></data>錯//錯誤元素中不允許使用]]><xmlversion="1.0"encoding="UTF-8"><teams> <team> <teamid>1</teamid> <teamname>北京xx</teamname> </team> <team> <teamid>2</teamid> <teamname>大連yy</teamname> </team> <team> <teamid>3</teamid> <teamname>上海zz</teamname> </team></teams>XML文件的分類:無效的XML文檔、格式良好的XML文檔、有效的XML文檔XML文件的邏輯構成,并簡述各部分內容邏輯構成包括:(1)XML必要聲明(2)DTD聲明(3)PI(處理指令)(4)元素(5)注釋 1)XML必要聲明 語法:<> 位置:必須位于第一行 可以包含的屬性及含義 version必須的XML版本1.0|1.1 encoding可選的編碼方式 standalone可選的XML文檔是否獨立yes|no2)DTD聲明 語法:<!DOCTYPE....> 內置的DTD聲明PI 語法:<> 位置:通常位于第一個元素之前 如果需要使用的時候給出,否則不寫PIvsxml必要聲明的相同點和不同點? (1)位置 (2)出現(xiàn)次數(shù) (3)作用4)注釋 語法:<!----> 需要注意的問題: 1)不能位于必要聲明之前 2)不能嵌套在標記中 3)本身不能嵌套 4)中間內容不能出現(xiàn)-- 5)不能以--->5)元素 分類:空元素、帶屬性的、帶內容的、帶內容且?guī)傩缘?/p>
習題2答案1.分為3種方式:1)內部DTD<!DOCTYPE根元素名稱[ 元素描述]>2)外部DTD:外部DTD的引用須事先已有一個dtd文件,將DTD的約束寫到文件中,然后在XML文檔中按以下語法格式添加:<!DOCTYPE(根元素名稱)SYSTEM“外部DTD的URL地址”> SYSTEM關鍵字表示文檔使用的是私有DTD文件,“外部DTD文件的URI”可以是相對URI或者絕對URI,相對URI是相對于文檔類型聲明所在文檔的位置?!巴獠緿TD文件的URI”這部分也被稱為系統(tǒng)標識符(systemidentifier)。3)公用DTD:公用DTD與外部DTD類似,但是該DTD引用公用的DTD的語法格式如下:<!DOCTYPE(根元素名稱)PUBLIC“DTD的標識名”“公用DTD的URL地址”>2.DTD劃分的元素類型及其含義元素類型含義EMPTY空元素,即該元素不包括任何內容(#PCDATA)字符串類型,即該元素內容中可以為任意字符串ANY任意類型,即該元素內容任意無限制子元素子元素類型,即該元素嵌套子元素混合類型混合內容類型,即該元素內部即包含字符串又包含子元素3.屬性類型及其含義屬性類型說明CDATA單純的字符數(shù)據,大部分屬性都設置為該類型ID具有唯一性的屬性值,需要注意的是該屬性值必須以字母開頭IDREF引用其它ID屬性的值,該值必須在其它ID屬性中存在IDREFS引用多個其它ID屬性的值,中間使用空格間隔ENTITY未解析的外部實體類型,ENTITIES多個未解析的外部實體類型,中間使用空格間隔NMTOKEN是NameToken,就是關鍵字的名字。可以包含字母、數(shù)字、[.]、[-]、[_]、[:]組合的名字NMTOKENS多個NMTOKEN,中間使用空格間隔NOTATION標記名稱Enumerated枚舉類型的屬性,只能從已有的屬性中選取,不能填入新項目<!ENTITYmedium"中等">&big;5.<xmlversion="1.0"encoding="UTF-8"><!DOCTYPETVSCHEDULE[<!ELEMENTTVSCHEDULE(CHANNEL*)><!ELEMENTCHANNEL(BANNER,DAY+)><!ELEMENTBANNER(#PCDATA)><!ELEMENTDAY(DATE,HOLIDAY,PROGRAMSLOT)><!ELEMENTDATE(#PCDATA)><!ELEMENTHOLIDAY(#PCDATA)><!ELEMENTPROGRAMSLOT(TIME,TITLE,DESCRIPTION)><!ELEMENTTIME(#PCDATA)><!ELEMENTTITLE(#PCDATA)><!ELEMENTDESCRIPTION(#PCDATA)><!ATTLISTTVSCHEDULENAMECDATA#IMPLIED><!ATTLISTCHANNELCHANCDATA#REQUIRED><!ATTLISTPROGRAMSLOTVTRCDATA#IMPLIED><!ATTLISTTITLERATINGCDATA#IMPLIEDLANGUAGECDATA#IMPLIED><!ENTITYcopyright"XXXXXXX">]><TVSCHEDULENAME="name"> <CHANNELCHAN="01"> <BANNER>BANNERContent</BANNER> <DAY><DATE>1990-10-10</DATE><HOLIDAY>11</HOLIDAY></DAY> </CHANNEL> <CHANNELCHAN="02"> <BANNER>111</BANNER> <DAY><DATE>1990-10-10</DATE> <PROGRAMSLOTVTR="net"> <TIME>12:00</TIME> <TITLERATING="rat"LANGUAGE="zh">titlename</TITLE> </PROGRAMSLOT></DAY> <DAY><DATE>1990-10-10</DATE> <HOLIDAY>11</HOLIDAY> <PROGRAMSLOT> <TIME>12:00</TIME> <TITLE>titlename</TITLE> <DESCRIPTION>©right;</DESCRIPTION> </PROGRAMSLOT></DAY> </CHANNEL></TVSCHEDULE>6.答案<xmlversion="1.0"encoding="UTF-8"><!DOCTYPECATALOG[<!ENTITYAUTHOR"JohnDoe"><!ENTITYCOMPANY"JDPowerTools,Inc."><!ELEMENTCATALOG(PRODUCT+)><!ELEMENTPRODUCT(SPECIFICATIONS+,OPTIONS,PRICE+,NOTES)><!ATTLISTPRODUCTNAMECDATA#IMPLIEDCATEGORY(HandTool|Table|Shop-Professional)"HandTool"PARTNUMCDATA#IMPLIEDPLANT(Pittsburgh|Milwaukee|Chicago)"Chicago"INVENTORY(InStock|Backordered|Discontinued)"InStock"><!ELEMENTSPECIFICATIONS(#PCDATA)><!ATTLISTSPECIFICATIONSWEIGHTCDATA#IMPLIEDPOWERCDATA#IMPLIED><!ELEMENTOPTIONS(#PCDATA)><!ATTLISTOPTIONSFINISH(Metal|Polished|Matte)"Matte"ADAPTER(Included|Optional|NotApplicable)"Included"CASE(HardShell|Soft|NotApplicable)"HardShell"><!ELEMENTPRICE(#PCDATA)><!ATTLISTPRICEMSRPCDATA#IMPLIEDWHOLESALECDATA#IMPLIEDSTREETCDATA#IMPLIEDSHIPPINGCDATA#IMPLIED><!ELEMENTNOTES(#PCDATA)>]><CATALOG> <PRODUCTNAME="sss"CATEGORY="Table"PARTNUM="xxx"PLANT="Milwaukee"INVENTORY="Backordered"> <SPECIFICATIONSWEIGHT="100"POWER="eee">&COMPANY;</SPECIFICATIONS> <OPTIONS>ddd</OPTIONS> <PRICEMSRP="ss"SHIPPING="ss"STREET="ss"WHOLESALE="eee">ddd</PRICE> <NOTES></NOTES> </PRODUCT> <PRODUCT> <SPECIFICATIONS></SPECIFICATIONS> <PRICE></PRICE> </PRODUCT></CATALOG>習題3答案1.<xmlversion="1.0"encoding="UTF-8"><!DOCTYPEclass[<!ELEMENTclass(aa:major,students)*><!ELEMENTaa:major(aa:name)*><!ELEMENTaa:name(#PCDATA)><!ELEMENTstudents(bb:student)*><!ELEMENTbb:student(bb:name+,bb:age+)><!ELEMENTbb:name(#PCDATA)><!ELEMENTbb:age(#PCDATA)><!ATTLISTclassxmlns:aaCDATA#REQUIREDxmlns:bbCDATA#REQUIREDxmlnsCDATA#REQUIRED><!ATTLISTbb:studentsnCDATA#REQUIRED>]><aa:major> <aa:name>軟件工程</aa:name></aa:major><students> <bb:studentsn="01"> <bb:name>張三</bb:name> <bb:age>18</bb:age> </bb:student> <bb:studentsn="02"> <bb:name>李四</bb:name> <bb:age>120</bb:age> </bb:student></students></class>2.<xmlversion="1.0"encoding="UTF-8"><!DOCTYPElibrary[<!ELEMENTlibrary(books,records)*><!ELEMENTbooks(book*)><!ELEMENTbook(#PCDATA)><!ATTLISTbookaa:bookidCDATA#REQUIRED><!ELEMENTrecords(item*)><!ELEMENTitem(date+,person+)><!ELEMENTdate(#PCDATA)><!ELEMENTperson(#PCDATA)><!ATTLISTpersonbb:nameCDATA#REQUIRED><!ATTLISTpersonborrowedCDATA#REQUIRED><!ATTLISTlibraryxmlns:aaCDATA#REQUIREDxmlns:bbCDATA#REQUIRED>]> <books> <bookaa:bookid="b-1-1">XML詳解</book> <bookaa:bookid="b-1-2">Servlet從入門到精通</book> <bookaa:bookid="b-1-3">JSP實例編程</book> </books> <records> <item> <date>2012-08-01</date> <personbb:name="張三"borrowed="b-1-1b-1-2"/> </item> <item> <date>2012-08-02</date> <personbb:name="李四"borrowed="b-1-1b-1-3"/> </item> </records></library>
習題4答案1.<xmlversion="1.0"encoding="UTF-8"> <xs:elementname="學生名冊"> <xs:complexType> <xs:sequenceminOccurs="1"maxOccurs="unbounded"> <xs:elementname="學生"type="studenttype"/> </xs:sequence> </xs:complexType> </xs:element> <xs:complexTypename="studenttype"> <xs:sequence> <xs:elementname="姓名"type="xs:string"/> <xs:elementname="性別"> <xs:simpleType> <xs:restrictionbase="xs:string"> <xs:enumerationvalue="男"/> <xs:enumerationvalue="女"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:elementname="年齡"> <xs:simpleType> <xs:restrictionbase="xs:integer"> <xs:minExclusivevalue="0"/> <xs:maxExclusivevalue="100"/> </xs:restriction> </xs:simpleType> </xs:element> </xs:sequence> <xs:attributename="學號"type="xs:integer"/> </xs:complexType></xs:schema>2.<xmlversion="1.0"encoding="UTF-8"> <xs:simpleTypename="bookIDType"> <xs:restrictionbase="xs:string"> <xs:patternvalue="b-\d{1}-\d{1}"/> </xs:restriction> </xs:simpleType> <xs:elementname="book"> <xs:complexType> <xs:simpleContent> <xs:extensionbase="xs:string"> <xs:attributename="bookid"type="bookIDType"> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:elementname="books"> <xs:complexType> <xs:sequencemaxOccurs="unbounded"> <xs:elementref="book"></xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:elementname="person"nillable="true"> <xs:complexType> <xs:simpleContent> <xs:extensionbase="xs:string"> <xs:attributename="name"type="xs:string"> </xs:attribute> <xs:attributename="borrowed"> <xs:simpleType> <xs:listitemType="bookIDType"> </xs:list> </xs:simpleType> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:elementname="item"> <xs:complexType> <xs:sequence> <xs:elementname="date"type="xs:date"></xs:element> <xs:elementref="person"></xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:elementname="records"> <xs:complexType> <xs:sequencemaxOccurs="unbounded"> <xs:elementref="item"></xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:elementname="library"> <xs:complexType> <xs:sequence> <xs:elementref="books"> </xs:element> <xs:elementref="records"></xs:element> </xs:sequence> </xs:complexType> </xs:element></xs:schema>
習題5答案1.<xmlversion="1.0"encoding="UTF-8"> <xs:elementname="welcome-file-list"> <xs:complexType> <xs:sequence> <xs:elementname="welcome-file"minOccurs="1"maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:elementname="servlet"> <xs:complexType> <xs:sequence> <xs:elementname="description"type="xs:string"minOccurs="0"maxOccurs="1"></xs:element> <xs:elementname="display-name"type="xs:string"minOccurs="0"maxOccurs="1"></xs:element> <xs:elementname="servlet-name"type="xs:string"minOccurs="1"maxOccurs="1"></xs:element> <xs:elementname="servlet-class"type="xs:string"minOccurs="1"maxOccurs="1"></xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:elementname="servlet-mapping"> <xs:complexType> <xs:sequence> <xs:elementname="servlet-name"type="xs:string"minOccurs="1"maxOccurs="1"></xs:element> <xs:elementname="url-pattern"minOccurs="1"maxOccurs="1"> <xs:simpleType> <xs:restrictionbase="xs:string"> <xs:patternvalue="/[a-zA-Z/.]+"/> </xs:restriction> </xs:simpleType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:elementname="listener"> <xs:complexType> <xs:sequence> <xs:elementname="listener-class"type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> <xs:elementname="web-app"> <xs:complexType> <xs:sequence> <xs:elementname="display-name"type="xs:string"minOccurs="0"maxOccurs="1"></xs:element> <xs:elementref="welcome-file-list"/> <xs:choiceminOccurs="1"maxOccurs="unbounded"> <xs:elementref="servlet"/> <xs:elementref="servlet-mapping"/> <xs:elementref="listener"/> </xs:choice> </xs:sequence> <xs:attributename="id"type="xs:string"/> <xs:attributename="version"> <xs:simpleType> <xs:restrictionbase="xs:float"> <xs:enumerationvalue="2.5"></xs:enumeration> <xs:enumerationvalue="2.4"></xs:enumeration> <xs:enumerationvalue="2.3"></xs:enumeration> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element></xs:schema>
習題6答案css:級聯(lián)式樣式表、XSL:可擴展樣式單語言。引入外部CSS樣式表:<xml-stylesheettype="text/css"href="文件名.css">
習題7答案如何區(qū)分XPath的根路徑與相對路徑?是否以“/”開頭Xpath的軸有哪些selfchildparentdescendantdescendant-or-selfancestorancestor-or-selffollowingfollowing-siblingprecedingpreceding-siblingattributenamespace請寫出如下路徑所對應的簡化路徑:child::rootrootself::node()/root./rootdescendant-or-self::id//id//id[position()=1]//id[1]現(xiàn)有XML文檔<students> <studentid=””> <name>小王</name> </student> <studentid=””> <name>小張</name> </student></students>/students/student[1]/@id讀?。盒堖@個元素的內容/students/student[2]/name/text()獲得sutdents元素下子元素<student>的個數(shù)count(/students//student)
習題8答案D2.C3.B4.<xmlversion="1.0"encoding="UTF-8"><xsl:outputmethod="html"encoding="GB2312"indent="yes"doctype-system="-//W3C//DTDHTML4.0.1Transitional//EN"<xsl:templatematch="/"> <html> <head> <title>成績統(tǒng)計表</title> </head> <body> <tableborder="1"> <tbody> <tr> <th>姓名</th> <th>Java成績</th> <th>Oracle成績</th> <th>UML成績</th> </tr> <xsl:apply-templates/> </tbody> </table> </body> </html> </xsl:template> <xsl:templatematch="students"> <xsl:for-eachselect="student"> <xsl:sortselect="sum(.//*[position()>1])"order="descending"/> <tr> <td><xsl:value-ofselect="name"></xsl:value-of></td> <td><xsl:apply-templatesselect="java"/></td> <td><xsl:apply-templatesselect="oracle"/></td> <td><xsl:value-ofselect="uml"></xsl:value-of></td> </tr> </xsl:for-each> </xsl:template></xsl:stylesheet>
習題9答案1.Documant、Node、Nodelist、NameNodeMap2.packagedom;importjava.io.*;publicclassTypeDoc{ publicstaticvoidmain(Stringargs[]){ DocumentBuilderFactorybdf=DocumentBuilderFactory.newInstance(); try{ DocumentBuilderdb=bdf.newDocumentBuilder(); Documentdoc=db.newDocument(); ElementeltStu=doc.createElement("student"); ElementeltName=doc.createElement("name"); ElementeltAge=doc.createElement("age"); TexttxtName=doc.createTextNode("Tina"); TexttxtAge=doc.createTextNode("12"); eltName.appendChild(txtName); eltAge.appendChild(txtAge); eltStu.appendChild(eltName); eltStu.appendChild(eltAge); eltStu.setAttribute("sn","2"); doc.appendChild(eltStu); TransformerFactorytff=TransformerFactory.newInstance(); Transformertf=tff.newTransformer(); tf.setOutputProperty("encoding","utf-8"); DOMSourcesource=newDOMSource(doc); StreamResultresult=newStreamResult(newFile("test.xml")); tf.transform(source,result); }catch(ParserConfigurationExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); }catch(TransformerConfigurationExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); }catch(TransformerExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } }}
習題10答案CABDefaultReader.java代碼packageexe;publicclassDefaultReaderextendsDefaultHandler{ privateArrayList<Double>java=newArrayList<Double>(); privateArrayList<Double>xml=newArrayList<Double>(); privateStack<String>stack=newStack<String>(); @Override publicvoidendDocument()throwsSAXException{ doublealljava=0; doubleallxml=0; for(Doubletemp:java){ alljava+=temp; } for(Doubletemp:xml){ allxml+=temp; } doubleavgjava=alljava/java.size(); doubleavgxml=allxml/xml.size(); } @Override publicvoidstartElement(Stringuri,StringlocalName,StringqName, Attributesattributes)throwsSAXException{ stack.push(qName); } @Override publicvoidendElement(Stringuri,StringlocalName,StringqName) throwsSAXException{ stack.pop(); } @Override publicvoidcharacters(char[]ch,intstart,intlength) throwsSAXException{ Stringtag=stack.peek(); if("java".equals(tag)){ java.add(Double.parseDouble(newString(ch,start,length))); }elseif("xml".equals(tag)){ xml.add(Double.parseDouble(newString(ch,start,length))); } }}Test.java代碼packageexe;publicclassTest{ publicstaticvoidmain(String[]args){ try{ XMLReaderreader=XMLReaderFactory.createXMLReader(); reader.setContentHandler(newDefaultReader()); reader.parse(newInputSource("students.xml")); }catch(SAXExceptione){ }catch(IOExceptione){ } }}
習題11答案使用JDOM實現(xiàn)文件的修改publicclassJDOMExe{ publicstaticvoidmain(String[]args){ //讀取XML文檔 SAXBuildersaxBuilder=newSAXBuilder(); try{ Documentdoc=saxBuilder.build(newFile("exebefore.xml")); Elementroot=doc.getRootElement(); //修改XML文檔 //增加元素 Elementeltdescription=newElement("description"); eltdescription.setText("一款復古又時尚的新概念皮鞋"); root.addContent(eltdescription); //修改學生信息 Elementeltprice=root.getChild("price"); eltprice.setText("300"); //輸出XML文檔 XMLOutputterout=newXMLOutputter(); //格式化輸出 Formatfmt=Format.getPrettyFormat(); fmt.setEncoding("gb2312"); fmt.setIndent(""); out.setFormat(fmt); try{ out.output(doc,newFileOutputStream("exeafter.xml")); }catch(IOExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } }catch(JDOMException|IOExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } }}使用DOM4J實現(xiàn)文件的修改publicclassDom4jExe{ publicstaticvoidmain(String[]args){ SAXReadersr=newSAXReader(); //忽略標簽與標簽之間的空白 sr.setStripWhitespaceText(true); //將相鄰元素的內容合并處理 sr.setMergeAdjacentText(true); //讀取XML文檔 try{ Documentdoc=sr.read(newFile("exebefore.xml")); Elementroot=doc.getRootElement(); Iteratorits=root.nodeIterator(); while(its.hasNe
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- JJG 878-2025熔體流動速率儀檢定規(guī)程
- LS/T 6144-2023糧油檢驗糧食中鎘的測定膠體金快速定量法
- 2025至2030年中國奧運毛絨玩具數(shù)據監(jiān)測研究報告
- 2025至2030年中國臺式真空充氣包裝機數(shù)據監(jiān)測研究報告
- 新疆維吾爾自治區(qū)喀什地區(qū)莎車縣2024-2025學年高二上學期1月期末考試物理試題(含答案)
- 2024-2025學年重慶市酉陽縣八年級(上)期末歷史試卷(含答案)
- 2019-2025年消防設施操作員之消防設備中級技能考前沖刺模擬試卷B卷含答案
- 2020年中考生物試題(含答案)
- 遺產繼承遺囑代辦合同(2篇)
- 采購與供應鏈分包合同(2篇)
- 2023年考研考博-考博英語-煤炭科學研究總院考試歷年高頻考點真題薈萃帶答案
- 吳階平醫(yī)學基金-廣東省生殖道感染的流行病學調查-王加義-2013-3-22
- 中藥制劑檢驗的依據和程序
- 理性與感性議論文900字(通用范文3篇)
- 【小學語文 】魯濱遜漂流記導讀課(課件)六年級下冊語文部編版
- GB/T 7999-2007鋁及鋁合金光電直讀發(fā)射光譜分析方法
- 收支管理內部控制流程圖
- 《企業(yè)員工培訓國內外文獻綜述》4800字
- 華中科技大學復變函數(shù)試題(一)
- 三年級下冊數(shù)學教案-速度、時間和路程 滬教版
- 徽派建筑PPT江西婺源
評論
0/150
提交評論