《XML》
实验指导书
数计学院
实验一XML基本结构和语法
实验学时:2
实验类型:验证
一、实验目的
(1)通过本实验,使学生能够熟悉XML文档编辑、解析、浏览工具。
(2)掌握XML文档的基本结构和基本语法。
(3)能够得到格式良好的XML文档。
二、实验条件
配置有windows记事本、写字板或XMLSpy开发环境的计算机设备。
三、实验原理及相关知识
(1)XML文档的基本结构
(2)XML元素定义不能交叉,必须完全嵌套或不完全不嵌套
四、实验内容及步骤
1、熟悉XMLSpy;
2、创建一个不需要DTD验证的XMLDocument,验证其是否正确:
(2)在XMLSpy中输入上述“图书信息”XML文件,然后验证其是否正确。
方法1:从记事本中将上述内容拷贝入XMLSpy中.
方法2:逐步输入,注意XMLSpy中对XML元素标记的补全功能(即开始标记输入完毕后,XMLSpy会自动将结束标记补在输入点之后)。(4)在浏览器(如IE)中打开“book.xml”文件,观察其显示,并反复进行元素的打开、折叠操作,理解XML元素嵌套的含义。
3. 在XMLSpy中编写“person.xml”文件并进行验证,要求该文件中包括五个人(Person)的相关信息,相关信息包括:性别(作为Person的属性)、姓名、年龄、地址(含有省、市、街道和邮编4个子元素)、电话号码、e-mail地址。
4. XML文档改错:
(1)
本书共分四部分,展示了Java Web开发中各种技术的应用。<配套光盘包括"教学视频"&'本书示例';>
]]>
本书是高等院校参考教材。
]]>
(2)
<书架>
<书名>How to Purse Happiness
<作者>
<名>Adair<名>
<姓>Lana<姓>
作者>
< price >8.99
<书名>The Confidence Man
<作者>
<名>Herman<名>
<姓>Melville<姓>
作者>
书架>
(3)
<路标>
<标记1>&你好&标记1>
<标记2>"注意观察"标记2>
<标记3>限高30米标记3>
路标>
五、思考题及其它
(1)XML文件中的名字空间有什么用处?
(2)XML的标记与关系数据库中的列名有什么区别?
实验二在XML文档中使用DTD
实验学时:2
实验类型:设计
一、实验目的
通过本实验,使学生能够了解并掌握XML DTD的定义方法及其用途(1)了解并掌握DTD元素声明的基本语法
(2)了解并掌握DTD属性声明的基本语法
(3)了解并掌握DTD实体声明的基本语法
二、实验条件
配置有windows记事本、写字板或XMLSpy开发环境的计算机设备。
三、实验原理及相关知识
XML DTD的声明和与XML文档的关联
四、实验内容及步骤
(1)书写XML DTD定义头部
(2)书写XML DTD元素定义
(3)添加XML DTD属性定义(添加在book元素定义之后)
(4)创建带有DTD验证的XML文档“book-ondtd”,并在IE中打开该文档,观察符合DTD定义的XML文件显示。
2、为一个XML文档创建外部DTD,并根据创建的DTD编写对应的XML文档,进行有效性验证。该XML文档的根元素名为“班级学生花名册”;“班级学生花名册”元素必须包含两个元素:“学生名单”和“班级信息”;“学生名单”包含若干“学生”元素;“学生”元素包含“姓名”、“学号”、“性别”三个子元素;“班级
信息”又包含“班主任姓名”和“班主任联系电话”两个子元素。
3、根据实验一中的“person.xml”文件,编写对应的“person.dtd”文件,并使用XMLSpy 对“person.dtd”和“person.xml”进行有效性性验证,若有错误,按照提示进行修改。
五、思考题及其它
(1)为什么要定义DTD?
(2)DTD不符合XML语法有什么缺点?
实验三在XML文档中使用Schema
实验学时:2
实验类型:设计
一、实验目的
通过本实验,使学生能够了解并掌握XML Schema的定义方法及其用途(1)了解并掌握Schema的基本结构
(2)了解并掌握Schema的数据类型
(3)了解并掌握Schema的元素声明
(4)了解并掌握Schema的属性声明
二、实验条件
配置有windows记事本、写字板或XMLSpy开发环境的计算机设备。
三、实验原理及相关知识
XML Schema的语法规范
四、实验内容及步骤
(1)在XMLSpy中新建XML Schema文档“bookinfo.xsd”,其内容如下:XML Schema定义头部:
[…………]
(2)定义bookcase元素(添加在[…………]处)
(3)定义bookType类型(里面引用定义authorType, pub-houseType,添加在bookcase 元素定义之后)
(4)定义authorType及pub-houseType元素类型(添加在bookType类型定义之后)
(5)在XMLSpy中创建一个基于“bookinfo.xsd”的XML文件“book-onschema.xml”。(6)在IE中打开XML Schema文件“bookinfo.xsd”和带有Schema定义的“book-onschema.xml”,观察带有Schema的XML文件显示。
2、XML文档如下:
xsi:noNamespaceSchemaLocation="e3-2.xsd">
请为以上XML文档编写合适的XML Schema,并根据创建的XML Schema文档对XML进行有效性验证。其中,元素id的取值格式为:
1位数字-4位数字-4位数字-1位数字
3、根据实验一中的“person.xml”文件,编写对应的“person.xsd”文件,并使用XMLSpy 对“person.xsd”和“person.xml”进行有效性性验证,若有错误,按照提示进行修改。
五、思考题及其它
(1)Schema与DTD的共同点和区别是什么?
(2)Schema符合XML语法有什么优点?
实验四层叠样式表CSS
实验学时:2
实验类型:设计
一、实验目的
(1)了解并掌握CSS的基本语法及创作步骤
(2)了解并掌握XML文档中使用CSS的引入式方法
(3)了解并掌握XML文档中使用CSS的嵌入式方法
二、实验条件
包配置有windows记事本、写字板或XMLSpy开发环境的计算机设备。
三、实验原理及相关知识
CSS的基本语法以及在XML文档中引用CSS的方法。
四、实验内容
1、对以下XML进行CSS定义:
利用CSS属性和相关使用规则,根据以上XML文件编写一个CSS文件,使其转换成一个HTML文件。该HTML文件通过浏览器打开的显示效果如图所示:
2、以下XML文档:
对以上XML文档编写样式文件,对其呈现样式进行控制:
(1)每个元素默认占据一行,字体缺省为微软雅黑、海军蓝色navy,下部外边距
为5px,左侧内边距为5px;
(2)元素title的字体大小为24pt,下部外边距为20px,颜色为橙色orange;
(3)隐藏price、pages和cover元素;
(4)元素description的上侧内边距为5px,上边框为1个像素宽的灰色(gray)虚线。
在浏览器中的呈现效果如下:
五、思考题及其它
(1)CSS的基本作用是什么?
(2)CSS中元素显示定义之间有嵌套关系吗?
实验五可扩展样式单语言XSL
实验学时:2
实验类型:设计
一、实验目的
掌握使用XSL显示XML文件的基本方法
二、实验条件
配置有windows记事本、写字板或XMLSpy 开发环境的计算机设备。
三、实验原理及相关知识
(1)XSL实际包含三方面的内容:XSLT,XPath以及XSL格式化对象(2)XSLT中模板的定义
(3)XPath对XML文件片段进行查找、定位
(4)格式化对象将XSL转换结果进行显示
四、实验内容及步骤
(1)书写XSL定义头部
(3)编写根节点匹配模板(注意xsl:stylesheet元素是必须要的)
BookID | BookType | BookName | Auth | Publisher | Price | PubDate | Quantity |
(4)编写XPath节点booklist/book的匹配模板(添加在[…………]处)
(5)在IE中打开带有XSL定义的“booklist.xml”,观察文件显示结果(带XSL 定义的XML文件头部如下所示)。
(6)修改上述代码,不用
(7)根据“booklist.xml”,编写“bookinfoquery.xsl”,要求能够以表格方式输出BookName的值是以“算法”开头的图书的所有信息。
提示:判断BookName元素的值是否以算法开头可以用starts-with函数,如下:starts-with(BookName,'算法')
2、下面是一个关于个人简历的XML文档resume.xml,请编写XSLT文档将其转换成HTML格式,以表格的方式显示相关数据,要求HTML页面设计尽量合理美观。
<个人简历>
<求职目标>
<职位>软件开发工程师职位>
<公司>伟豪软件工程公司>
求职目标>
<个人信息>
<姓名>张三姓名>
<性别>男性别>
<年龄>22年龄>
<专业>计算机应用专业>
<毕业院校>武汉大学毕业院校>
<学历>本科学历>
<电话>87653005电话>
个人信息>
<特长>
<编程语言>Java编程语言>
<英语等级>CET-6英语等级>
特长>
个人简历>
五、思考题及其它
针对“booklist.xsl”,简述XSLT的执行过程。