武汉轻工大学数学与计算机学院《XML》实验报告专业:信息管理与信息系统班级:1202班学号:1205020204姓名:黄鑫指导老师:林菁2014年12月10日实验四层叠样式表CSS一、实验目的(1)了解并掌握CSS的基本语法及创作步骤(2)了解并掌握XML文档中使用CSS的引入式方法(3)了解并掌握XML文档中使用CSS的嵌入式方法二、实验条件包配置有windows记事本、写字板或XMLSpy开发环境的计算机设备。三、实验原理及相关知识CSS的基本语法以及在XML文档中引用CSS的方法。四、实验内容对以下XML进行CSS定义:?xmlversion=1.0encoding=utf-8standalone=no??xml-stylesheettype=text/csshref=person-comm.css?personslistpersonname李明/nameage20/ageaddressprovince湖北省/provincecity武汉市/citystreet常青花园一路/street/addresstele83969020/telee-mail123@sina.com/e-mail/personpersonname林琳/nameage21/ageaddressprovince湖北省/provincecity武汉市/citystreet金银湖马池路/street/addresstele88888888/telee-mail54310858@qq.com/e-mail/person/personslist利用CSS属性和相关使用规则,根据以上XML文件编写一个CSS文件,使其转换成一个HTML文件。该HTML文件通过浏览器打开的显示效果如图所示:其CSS文件如下图:五、思考题及其它(1)CSS的基本作用是什么?CSS(CascadingStyleSheet,可译为“层叠样式表”或“级联样式表”)是一组格式设置规则,用于控制Web页面的外观。通过使用CSS样式设置页面的格式,可将页面的内容与表现形式分离。页面内容存放在HTML文档中,而用于定义表现形式的CSS规则则存放在另一个文件中或HTML文档的某一部分,通常为文件头部分。将内容与表现形式分离,不仅可使维护站点的外观更加容易,而且还可以使HTML文档代码更加简练,缩短浏览器的加载时间。(2)CSS中元素显示定义之间有嵌套关系吗?实验五可扩展样式单语言XSL一、实验目的掌握使用XSL显示XML文件的基本方法二、实验条件配置有windows记事本、写字板或XMLSpy开发环境的计算机设备。三、实验原理及相关知识(1)XSL实际包含三方面的内容:XSLT,XPath以及XSL格式化对象(2)XSLT中模板的定义(3)XPath对XML文件片段进行查找、定位(4)格式化对象将XSL转换结果进行显示四、实验内容及步骤1、对以下“booklist.xml”进行XSL定义(设XSL文件名为“booklist.xsl”)?xmlversion=1.0encoding=GB2312?BooklistBookBookID000001/BookIDBookType计算机/BookTypeBookName算法与数据结构/BookNameAuth严蔚敏陈文博/AuthPublisher清华大学出版社/PublisherPrice24/PricePubDate2002-1-1/PubDateQuantity10/Quantity/BookBookBookID000002/BookIDBookType计算机/BookTypeBookName软件工程导轮/BookNameAuth张海藩/AuthPublisher清华大学出版社/PublisherPrice5.4/PricePubDate1987-6-1/PubDateQuantity5/Quantity/BookBookBookID000003/BookIDBookType计算机/BookTypeBookNameXML/JSP网页编程教材/BookNameAuth吴艾/AuthPublisher北京希望电子出版社/PublisherPrice46/PricePubDate2001-7-1/PubDateQuantity15/Quantity/BookBookBookID000012/BookIDBookType工具/BookTypeBookName汉语成语字典/BookNameAuth李一华吕德申/AuthPublisher四川辞书出版社/PublisherPrice12/PricePubDate1992-1-1/PubDateQuantity10/Quantity/BookBookBookID000016/BookIDBookType机械/BookTypeBookName机电控制工程/BookNameAuth高钟毓王永梁/AuthPublisher清华大学出版社/PublisherPrice19.8/PricePubDate1994-9-1/PubDateQuantity19/Quantity/BookBookBookID000018/BookIDBookType工具/BookTypeBookName英华大字典/BookNameAuth郑易里/AuthPublisher商务印书馆/PublisherPrice18.5/PricePubDate1984-11-1/PubDateQuantity2/Quantity/Book/Booklist(1)书写XSL定义头部?xmlversion=1.0encoding=GB2312?(3)编写根节点匹配模板(注意xsl:stylesheet元素是必须要的)xsl:stylesheetversion=1.0xmlns:xsl=:templatematch=/htmlbodytableborder=2style=position:absolute;top:30px;left:30px;font:15pxtrtdstyle=text-align:centerBookID/tdtdstyle=text-align:centerBookType/tdtdstyle=text-align:centerBookName/tdtdstyle=text-align:centerAuth/tdtdstyle=text-align:centerPublisher/tdtdstyle=text-align:centerPrice/tdtdstyle=text-align:centerPubDate/tdtdstyle=text-align:centerQuantity/td/tr[…………]/table/body/html/xsl:template/xsl:stylesheet如下图:(4)编写XPath节点booklist/book的匹配模板(添加在[…………]处)xsl:for-eachselect=Booklist/Booktrtdstyle=text-align:centerxsl:value-ofselect=BookID//tdtdstyle=text-align:centerxsl:value-ofselect=BookType//tdtdstyle=text-align:centerxsl:value-ofselect=BookName//tdtdstyle=text-align:centerxsl:value-ofselect=Auth//tdtdstyle=text-align:centerxsl:value-ofselect=Publisher//tdtdstyle=text-align:centerxsl:value-ofselect=Price//tdtdstyle=text-align:centerxsl:value-ofselect=PubDate//tdtdstyle=text-align:centerxsl:value-ofselect=Quantity//td/tr/xsl:for-each(5)在IE中打开带有XSL定义的“booklist.xml”,观察文件显示结果(带XSL定义的XML文件头部如下所示)。?xmlversion=1.0encoding=GB2312??xml-stylesheettype=text/xslhref=booklist.xsl?(6)修改上述代码,不用xsl:for-each语句实现相同的显示结果。(7)根据“booklist.xml”,编写“bookinfoquery.xsl”,要求能够以表格方式输出BookName的值是以“算法”开头的图书的所有信息。提示:判断BookName元素的值是否以算法开头可以用starts-with函数,如下:starts-with(BookName,'算法')2、教材P121习题7.?xmlversion=1.0encoding=UTF-8?xsl:stylesheetversion=1.0xmlns:xsl=:fo=:templatematch=/htmlbodycenterh2个人简历/h2tableborder=2trthcolspan=2求职目标/ththcolspan=7个人信息/ththcolspan=2特长/th/trtrth职位/thth公司/thth姓名/thth性别/thth年龄/thth专业/thth毕业学校/thth学历/thth电话/thth变成语言/thth英语等级/th/trtrxsl:for-eachselect=//求职目标tdxsl:value-ofselect=职位//tdtdxsl:value-ofselect=公司//td/xsl:for-eachxsl:for-eachselect=//个人信息tdxsl:value-ofselect=姓名//tdtdxsl:value-ofselect=性别//tdtdxsl:value-ofselect=年龄//tdtdxsl:value-ofselect=专业//tdtdxsl:value-ofselect=毕业学校//tdtdxsl:value-ofselect=学历//tdtdxsl:value-ofselect=电话//td/xsl:for-eachxsl:for-eachsele