实验三在XML文档中使用Schema

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验三在XML文档中使用Schema一、实验目的通过本实验,使学生能够了解并掌握XMLSchema的定义方法及其用途(1)了解并掌握Schema的基本结构(2)了解并掌握Schema的数据类型(3)了解并掌握Schema的元素声明(4)了解并掌握Schema的属性声明二、实验条件配置有windows记事本、写字板或XMLSpy开发环境的计算机设备。三、实验原理及相关知识XMLSchema的语法规范四、实验内容及步骤1、对以下“book.xml”进行Schema定义(设Schema文件名为“bookinfo.xsd”)?xmlversion=1.0encoding=UTF-8?!--这是一个用XML描述的例子--bookcasebooktype=教育b-nameXML实用培训教程/b-nameauthorname张健飞/nameE-mailzjf@163.com/E-mail/authorprice27元/pricepublishing-housep-name科学出版社/p-nameaddress北京东皇城根北街16号/addresszipcode100717/zipcodeE-mailyanmc@bhp.com.cn/E-mail/publishing-house/bookbooktype=科技b-nameXML网页制作彻底研究/b-nameauthorname陈会安/nameE-mailcha@163.com/E-mail/authorprice47元/pricepublishing-housep-name中国铁道出版社/p-nameaddress北京市宣武区右安门西街8号/addresszipcode100054/zipcodeE-mailbjb@tqbooks.com.cn/E-mail/publishing-house/book/bookcase(1)在XMLSpy中新建XMLSchema文档“bookinfo.xsd”,其内容如下:XMLSchema定义头部:?xmlversion=1.0encoding=UTF-8?xs:schemaxmlns:xs=[…………]/xs:schema(2)定义bookcase元素(添加在[…………]处)xs:elementname=bookcasexs:complexTypexs:sequenceminOccurs=1maxOccurs=unboundedxs:elementname=booktype=bookType//xs:sequence/xs:complexType/xs:element(3)定义bookType类型(里面引用定义authorType,pub-houseType,添加在bookcase元素定义之后)xs:complexTypename=bookTypexs:sequencexs:elementname=b-nametype=xs:string/xs:elementname=authortype=authorType/xs:elementname=pricetype=xs:string/xs:elementname=publishing-housetype=pub-houseType//xs:sequencexs:attributename=typexs:simpleTypexs:restrictionbase=xs:stringxs:enumerationvalue=科技/xs:enumerationvalue=教育//xs:restriction/xs:simpleType/xs:attribute/xs:complexType(4)定义authorType及pub-houseType元素类型(添加在bookType类型定义之后)xs:complexTypename=authorTypexs:sequencexs:elementname=nametype=xs:string/xs:elementname=E-mailtype=xs:string//xs:sequence/xs:complexTypexs:complexTypename=pub-houseTypexs:sequencexs:elementname=p-nametype=xs:string/xs:elementname=addresstype=xs:string/xs:elementname=zipcodetype=xs:string/xs:elementname=E-mailtype=xs:string//xs:sequence/xs:complexType(5)在XMLSpy中创建一个基于“bookinfo.xsd”的XML文件“book-onschema.xml”。(6)在IE中打开XMLSchema文件“bookinfo.xsd”和带有Schema定义的“book-onschema.xml”,观察带有Schema的XML文件显示。2、教材P91习题6,并根据创建的XMLSchema文档对XML进行有效性验证。Schema文档?xmlversion=1.0encoding=UTF-8?xs:schemaxmlns:xs==qualifiedattributeFormDefault=unqualifiedxs:elementname=orderxs:complexTypexs:sequencexs:elementname=orderItemminOccurs=0maxOccurs=unboundedxs:complexTypexs:sequencexs:elementname=idxs:simpleTypexs:restrictionbase=xs:stringxs:patternvalue=\d{1}-\d{4}-\d{4}-\d{1}//xs:restriction/xs:simpleType/xs:elementxs:elementname=customertype=xs:stringminOccurs=0maxOccurs=unbounded/xs:elementname=quantitytype=xs:string//xs:sequence/xs:complexType/xs:element/xs:sequence/xs:complexType/xs:element/xs:schema运行结果:XML文档?xmlversion=1.0encoding=UTF-8?orderxmlns:xsi=:noNamespaceSchemaLocation=file:///C:/Users/Administrator/Desktop/order.xsdorderItemid7-5005-6450-1/idquantity3/quantity/orderItemorderItemid7-5005-6450-2/idcustomerxyz/customerquantity5/quantity/orderItemorderItemid7-5005-6450-3/idquantity7/quantity/orderItem/order运行结果:XML文档在IE中打开:3、根据实验一中的“person.xml”文件,编写对应的“person.xsd”文件,并使用XMLSpy对“person.xsd”和“person.xml”进行有效性性验证,若有错误,按照提示进行修改。Schema文档?xmlversion=1.0encoding=UTF-8?xs:schemaxmlns:xs==qualifiedattributeFormDefault=unqualifiedxs:elementname=personcasexs:complexTypexs:sequencexs:elementname=personminOccurs=1maxOccurs=unboundedxs:complexTypexs:sequencexs:elementname=nametype=xs:string/xs:elementname=agetype=xs:string/xs:elementname=addressxs:complexTypexs:sequencexs:elementname=provincetype=xs:string/xs:elementname=citytype=xs:string/xs:elementname=streettype=xs:string/xs:elementname=postcodetype=xs:string//xs:sequence/xs:complexType/xs:elementxs:elementname=phonetype=xs:string/xs:elementname=e-mailtype=xs:string//xs:sequencexs:attributename=sextype=xs:string//xs:complexType/xs:element/xs:sequence/xs:complexType/xs:element/xs:schema运行结果:XML文档在IE在打开:五、思考题及其它(1)Schema与DTD的共同点和区别是什么?答:XML从SGML中继承了DTD,并用它来定义内容的模型,验证和组织元素,但它存在一定的局限性。而Schema完全克服了这些弱点,使得基于Web的应用系统交换XML数据更为容易。①DTD不遵守XML语法,而Schema完全基于XML语法,不需要再学习特殊的语法。②DTD不可扩展;③DTD不支持命名空间的应用;④DTD没有提供强大的数据类型支持,只能表示很简单的数据类型,而Schema大大扩充了数据类型,支持booleans、numbers、datesandtimes、integers、decimalnumbers和realnumbers等;⑤Schema能用处理XML文档的工具处理,而不需要特殊的工具;⑥Schema支持原型,也就是元素的继承。⑦Schema支持属性组。我们一般声明一些公共属性,然后可以应用于所有的元素,属性组允许把元素、属性关系放于外部定义、组合;⑧开放性。原来的DTD只能有一个DTD应用于一个XML文档,现在可以有多个Schema运用于一个XML文档。(2)Schema符合XML语法有什么优点?答:①XMLSchema直接借助XML本身的特性,用XML语法来定义文档的模式,使得XML文档及其模式定义实现了从内到外的统一。而且,XMLSchema本身是一种XML文档,可被现有的XML编辑制作工具所编辑,被XML语法分析器所解析,被XML应用系统所利用。②XMLSchema不仅支持规范中定义的数据类型,而且可以利

1 / 10
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功