xmlschema实验及答案
- 格式:doc
- 大小:54.50 KB
- 文档页数:11
1、利用schema验证xml文档内容的正确性
1)建立xsd文件: code4_2.xsd
2)建立一个基于schema验证的xml文件:
注:因pubdate元素在schema中定义为date型(默认格式:yyyy-mm-dd),所以提示无效。
2、在schema中自定义简单的数据类型:myinteger, 其
取值范围为:100~10000。
1)建立自定义数据类型的schema文件:
myinteger.xsd
2) 建立基于schema的xml文档,验证其有效性:
3、枚举类型:从若干选项中选择其中一个值
4、联合类型
1)建立一个用于表示学生成绩的由评定等级(gradetype)或数值范围(scoretype)的联合类型
2) 建立基于上述schema的xml文档,验证其有
效性
①对scoretype类型的验证(取值范围:0~100)
②对gradetype类型的验证(枚举类型:优,良,及
格,不及格)
5、数据绑定
1)建立HTML文档
2)建立xml文档。
《XML》实验任务书XML Schema[实验目的]1、学习如何使用XMLSPY集成开发环境完成XML Schema相关的开发工作。
2、掌握XML Schema与DTD之间的区别,能够完成两者之间的转换;掌握在XML Schema中如何定义元素和属性,如何使用限制、列表和合并派生自己的简单数据类型,如何定义复杂数据类型,全局/局部元素和数据类型之间的区别;如何将XML Schema文档关联到XML实例数据文档,并完成文档的有效性验证。
3、掌握如何准确定义数据之间的参照完整性约束,如何在模式中使用多态性支持,如何在文档中定义空值等等。
[实验内容和步骤]1、使用XMLSPY集成开发环境,新建XML Schema文档,在各种不同的编辑视图中尝试采用不同的方式完成XML Schema文档的编辑和查看;并使用XMLSPY提供的便利,建立XML、Schema两者之间的关联,进行XML文档的良构以及有效性验证。
2、严格按照下图给出的文档模型,在XML Schema编辑环境的Schema视图中完成book.xsd的编写(不要使用Text视图进行编写):在上图中,没有指定简单类型元素和属性的数据类型,请根据合理的情况,完成数据类型的创建(至少使用到限制方式中的三种以上的限制方面),请在IDE的Details视图->type 和Facets中完成上述任务。
在上图中,有三个title元素分别表示book、section和figure的标题,请定义下述类型:titleType:1-100个字符的文本;bookTitleType:titleType类型限制派生的子类型,要求取枚举值“Data On the Web”、“TCP/IP Illustrated”等;sectionTitleType:titleType类型限制派生的子类型,要求必须形如“1.xxxx”、“1-1.xxxx”等等(表示第一节、第一节下面的第一节等等,注意section是递归的形式);figureTitleType:titleType类型限制派生的子类型,要求必须形如“1-1.xxxx”、“1-1-1.xxxx”(表示第一节中的第一个图、第一节下面的第一节的第一个图等等);然后编写book.xml,并使用多态性(即所有title的类型均为titleType,而数据实例中指明具体类型),请确保通过文档有效性验证。
xml课后习题答案1.简述比较DTD和SCHEMA?XML Schema是继DTD之后,用来规范和描述XML文档的地二代标准。
XML Schema可用来详细规定XML文档的数据模式及组织结构。
2、简述XML Schema 支持的数据类型那些?1.原生数据类型和派生数据类型。
2.自定义简单数据类型。
3.自定义复杂数据类型。
3、什么是DOM?DOM是由一组代表HTML或者XML文档中不同组成部分的程序对象组成,这些对象提供了各自的属性和方法,使得应用程序开发者能够通过编写脚本操纵和显示稳当中相应的组件。
在对XML稳当处理方面,虽然DOM比DOS需要更多的额外工作,但却能获得更为强大的功能和更好的灵活性,不仅可用来编写访问本地XML稳当的程序,还可以用来编写访问服务器端XML稳当的应用程序。
4、简述解释XSLT?XSLT即数据转换语言XSL T结合了Xpath的强大功能可以根据需要把XML文档转换成任何一种基于文本文档式的文档,这种功能使其成为基于XML电子商务、电子数据交换、元数据交换、以及其他相同内容不同格式的数据之间进行转化的重要技术。
限于目前浏览器的支持能力,在大多数情况下,XSL 文档转换为一个指定格式的HTML文档,再由浏览器进行显示。
5、简述数据源对像DSO?DSO即与HTML文档绑定的XML数据源对象,DSO可以把链接到HTML网页中的一个XML文档或一段XML数据当作一个类似于数据库的记录集对象,然后使用与数据库类似的操作方法来显示和浏览被链接的XML文档的内容。
1.什么是xml?xml的特点有哪些?XML是eXtensible Markup Language的缩写。
扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。
3.写出下列缩略词对应的中文意思。
实验三在XML文档中使用XML Schema姓名:班级:学号:一、实验目的通过本实验,使学生能够〔1〕了解并掌握XML Schema的定义方法及其用途;〔2〕了解并掌握Schema的根本构造;〔3〕了解并掌握Schema的数据类型;〔4〕了解并掌握Schema的元素声明;〔5〕了解并掌握Schema的属性声明;〔6〕了解并掌握XML Spy中基于Schema的XML文件输入。
二、实验要求〔1〕能参照例如XML文件进展对应的XML Schema定义;〔2〕能利用Schema对XML文件进展验证。
三、实验原理〔1〕XML Schema是对XML构造进展定义的另一种机制;〔2〕XML Schema本身符合XML语法。
四、实验内容为实验一“旅行社信息〞设计的XML文档,编写Schema文档;使得Schema文档中包含以下技术的使用:〔1〕简单类型元素的定义与应用;〔2〕复杂类型元素的定义与应用;〔3〕属性声明的使用。
相关代码:<?xml version="1.0" encoding="UTF-8"?><xs:schema xmlns:xs="" elementFormDefault="qualified"attributeFormDefault="unqualified"><xs:complexType name="travelPreOrder"><xs:sequence><xs:element name="travelAgency"="mytravelAgency"></xs:element><xs:element name="planeCompany"type="myplaneCompany"></xs:element><xs:element name="trainCompany"="mytrainCompany"></xs:element><xs:element name="busCompany"type="mybusCompany"></xs:element></xs:sequence></xs:complexType><xs:complexType name="mytravelAgency"><xs:sequence><xs:element name="travelAgencyName" type="xs:string"></xs:element><xs:element name="travelAgencyEmail" type="xs:string"></xs:element><xs:element name="travelAgencyAddress"type="mytravelAgencyAddressType"></xs:element><xs:element name="travelAgencyPerson"type="mytravelAgencyPerson"></xs:element></xs:sequence></xs:complexType><xs:complexType name="mytravelAgencyAddressType"><xs:sequence><xs:element name="province"="xs:string"></xs:element><xs:element name="city" type="xs:string"></xs:element><xs:element name="street" type="xs:string"></xs:element><xs:element name="postalcode" type="xs:string"></xs:element> </xs:sequence></xs:complexType><xs:complexType name="mytravelAgencyPerson"><xs:sequence><xs:element name="name"="xs:string"></xs:element><xs:element name="sex" type="xs:string"></xs:element><xs:element name="IdCard" type="xs:string"></xs:element><xs:element name="address" type="xs:string"></xs:element><xs:element name="tel" type="xs:string"></xs:element></xs:sequence></xs:complexType><xs:complexType name="myplaneCompany"><xs:sequence><xs:element name="元素组" type="xs:string"></xs:element> </xs:sequence></xs:complexType><xs:complexType name="mytrainCompany"><xs:sequence><xs:element name="元素组" type="xs:string"></xs:element> </xs:sequence></xs:complexType><xs:complexType name="mybusCompany"><xs:sequence><xs:element name="元素组" type="xs:string"></xs:element> </xs:sequence></xs:complexType></xs:schema>五、思考题〔1〕Schema与DTD的共同点和区别是什么?XMLSchema和DTD都是用来定义各种文件中XML标记的使用标准.XMLSchema是标准的XML文件,而DTD那么使用自己的特殊语法,因此,只需要知道XML的语法规那么就可以编写Schema了,不需要再学习其它语法规那么. 可以使用一样的处理器来解读, XML文件与XML Schema文件. XML Schema 利用命名空间将文件中特殊的节点与Schema说明相联系,一个XML文件可以有多个对应的Schema ,假设是DTD的话,一个XML文件只能有一个相对应的DTD文件. XMLSchema的内容模型是开放的,可以随意扩大,而DTD那么无法解读扩大的内容. DTD只能把文件类型定义为一个字符串,而XML Schema 却允许把文件类型定义为整数,浮点数,字符串,布尔值或其他各各数据类型,而无须重新定义. XMLSchem 相对DTD的明显优势是XMLSchema 文件本身也是XML文件,而不是像DTD那样使用。
《XML技术解析及应⽤》课程的课后作业参考答案(第2部分)《XML技术解析及应⽤》课程的课后作业参考答案(第2部分)1.1.1第三次课程(9⽉21⽇)1、请描述Schema产⽣的技术背景,什么是Schema?答:xml⽂档有“有效性”的约束,⽽利⽤⽂档类型定义(DTD)来对XML可以加以约束,但是其存在种种弊端,其语法相当复杂且⽀持的数据类型单⼀,同时它和xml⽂档体系不符,也就是说DTD⽂档本⾝并不是⼀个良好形式的XML⽂档,还有DTD⽆法简化⼦元素基数性的规范,这时schema的出现解决了这些问题。
Schema是指:为XML⽂档中的各个标签制定⼀种模式或者规则的技术。
2、请描述Schema和DTD在应⽤⽅⾯有什么不同点?请⽤对某个具体的XML⽂件的内容进⾏语法定义的⽰例来加以说明答:(1)语法不同,DTD有⾃⼰特殊的语法,⽽Schema是xml⽂档,故遵循xml⽂档的规则。
(2)数据类型的区别,DTD只允许将内容定义为字符串类型,⽽Schema允许将内容定义为整型,浮点型,数据型,等其它简单类型,并且可以⾃定义数据类型。
(3)是否⽀持名域(命名空间),如果是使⽤DTD,⼀个XML⽂件只能有⼀个与之相对应的DTD⽂件。
⽽⼀个XML⽂件可以对应有多个不同的Schema命名空间。
除了提供⾮常丰富的⼀组内置simpleType 以外,XML 模式还允许您使⽤类似规则表达式的语法派⽣出新的simpleType 。
内置类型包括您在使⽤编程语⾔时遇到的:string 、int 、float 、unsignedLong 、byte 等等;但它们还包括⼤多数编程语⾔⽣来不具备的⼀些类型:timeInstant (即⽇期/时间)、recurringDate (年中的天)、uriReference 、language 、nonNegativeInteger 。
例如:XML⽂件如下<软件学院学⽣信息><学⽣信息性别="男"><姓名>张三<出⽣⽇期>1987/10/18<专业>软件⼯程<班级⽅向="J2EE软件开发">软件1班<学⽣信息性别="⼥"><姓名>李四<出⽣⽇期>1988/2/18<专业>软件⼯程<班级⽅向="数字媒体⽅向">软件2班如果使⽤的是DTD⽂件的定义如下:如果使⽤的是XML schemal ⽂件的定义如下:。
maxOccurs="unbounded"/></xs:sequence></xs:complexType><xs:complexType name="bookType"><xs:sequence><xs:element name="b-name"><xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="XML实用培训教程"/><xs:enumeration value="软件测试"/><xs:enumeration value="现代散文鉴赏"/><xs:enumeration value="国家地理之中国篇"/></xs:restriction></xs:simpleType></xs:element><xs:element name="author"><xs:complexType><xs:sequence><xs:element name="name"><xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="张健飞"/><xs:enumeration value="张小松"/><xs:enumeration value="林可行"/><xs:enumeration value="傅晓丽"/></xs:restriction></xs:simpleType></xs:element><xs:element name="E-mail"><xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="zjf@"/><xs:enumeration value="zxs@"/><xs:enumeration value="lkx@"/><xs:enumeration value="fxl@"/></xs:restriction></xs:simpleType></xs:element></xs:sequence></xs:complexType></xs:element><xs:element name="price" type="xs:decimal"/><xs:element name="publishing-house"><xs:complexType><xs:sequence><xs:element name="p-name"><xs:complexType mixed="true"><xs:attribute name="id" use="required"><xs:simpleType><xs:restriction base="xs:integer"><xs:minInclusive value="001"/><xs:maxExclusive value="999"/></xs:restriction></xs:simpleType></xs:attribute></xs:complexType></xs:element><xs:element name="address"><xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="北京皇城根北街16号"/><xs:enumeration value="北京市西城区百万庄大街22号"/><xs:enumeration value="呼伦贝尔市海拉区河东新春街4付3号"/><xs:enumeration value="北京市复兴路14号"/></xs:restriction></xs:simpleType></xs:element><xs:element name="zipcode"><xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="100717"/><xs:enumeration value="100037"/><xs:enumeration value="021008"/><xs:enumeration value="100843"/></xs:restriction></xs:simpleType></xs:element><xs:element name="E-mail"><xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="yanmc@"/><xs:enumeration value="jxgy@softcom"/><xs:enumeration value="nmg@"/><xs:enumeration value="lt@"/></xs:restriction></xs:simpleType></xs:element></xs:sequence></xs:complexType></xs:element>。
实验报告三XMLschema编辑环境熟悉及语法学习【实验目的】采用XML Spy编辑schema文件【实验任务】(1)任务一:参照学生手册表写出其对应的Schema文件。
学生手册学号姓名性别年龄1张三男202李四女193王五男27(2)任务二:参照下面的XML文件写出其对应的DTD文件和Schema文件。
<?xml version="1.0"encoding="UTF-8"?><library><books><book id="b-1-1">JSP实例编程</book><book id="b-1-2">XML详解</book><book id="b-1-3">servlet</book></books><records><items><date>2012-08-02</date><person name="李四"borrowwd="b-1-1b-1-3"/></items><items><date>2012-08-01</date><person name="张三"borrowwd="b-1-1b-1-2"/></items></records></library>【学生姓名】郑小川【学生学号】2015214588【学生专业】电子商务【指导老师】叶光辉【实验时间】2017.11.28【实验步骤】(1)任务一:参照学生手册表写出其对应的Schema文件。
XML实验报告(XML,DTD,SCHEMA,XPATH,XSLT,利⽤JAVA对XML进。
⽬录1).选取某⼀场景,描述该场景下的实体、实体属性以及实体之间的关系;注意选取实体最好体现出分解层次,以便于呈现XML,XML本⾝遵循层次数据模型;该部分⽂本描述要详尽,并⽤表格呈现出来。
(10分)2).采⽤XML对上述实体、实体属性及关系进⾏描述,要求体现出系统预定义实体,保证XML语法正确。
(10分)3).依据实例化XML⽂档写出组织模板⽂件DTD和SCHEMA,要求DTD与SCHEMA要保持映射,同时证明XML⽂件为有效的⽂档,同时组织模板要具有较⾼的抽象层次和较宽泛的约束能⼒。
(40分)4).提出4个查询题设,要求⾄少两个要结合XPATH标准函数,写出XPATH求解路径。
(20分)5).利⽤XSLT显⽰模板将XML⽂件展⽰为表格,与1⼀致。
(10分)6).利⽤JAVA或PYTHON等⼯具对XML⽂件节点进⾏属性值读写操作。
(10分)1).任务1-5为必做,任务6为选做;如果任务6不做,则相应分值分配给任务3和4各5分,如果做则任务6按照现有10分来评分。
请在提交课程设计开始就说明是否完成任务6。
2).每个任务评分均分为四个等级,优良中差,各任务合计之后为最终课程设计分数。
3.课程设计格式和任务之间的衔接也作为课程设计考察的⼀部分。
场景描述以学院为例,⼀个学院拥有多个专业,⼀个专业拥有多个班级和多个教师。
⼀个班级拥有多个学⽣和⼀个(唯⼀)班长,⼀个⽼师可以教授多个课程。
例如,信息管理学院有三个专业,分别是信息资源管理、电⼦商务和信息管理与信息系统。
(假设)每⼀个专业都有两个班级和两个教师,每⼀个班级都有⼀名班长和⼀名学⽣,每⼀名教师教授两门课程。
层次数据模型3.⽤表格表⽰⽂档代码<?xml version="1.0" encoding="UTF-8"?><!-- edited with XMLSpy v2014 () by () --><!-- 以下数据都是虚拟出来的数据,并不真实--><School ID="IOS001" name="信息管理学院"><Major ID="M001" name="信息资源管理"><Teacher TID="T001"><pname>陈思考</pname><sex>男</sex><professionalpost>教授</professionalpost><Course CNO="C001"><cname>⽂献信息资源检索</cname><credit>2</credit><period>32</period></Course><Course CNO="C002"><cname>管理信息系统</cname><credit>4</credit><period>48</period></Course></Teacher></Teacher><Teacher TID="T002"><pname>张简单</pname><sex>⼥</sex><professionalpost>副教授</professionalpost> <Course CNO="C003"><cname>⾼等数学B</cname><credit>2</credit><period>32</period></Course><Course CNO="C004"><cname>管理统计学</cname><credit>2</credit><period>32</period></Course></Teacher><Class CID="1901" name="信资1班"><Classpresident SID="S001"><pname>戴⼆刚</pname><sex>男</sex></Classpresident><Student SID="S002"><pname>江福</pname><sex>⼥</sex></Student></Class><Class CID="1902" name="信资2班"><Classpresident SID="S003"><pname>刘欢</pname><sex>⼥</sex></Classpresident><Student SID="S004"><pname>严⼏</pname><sex>男</sex></Student></Class></Major><Major ID="M002" name="电⼦商务"><Teacher TID="T003"><pname>王得</pname><sex>男</sex><professionalpost>教授</professionalpost> <Course CNO="C005"><cname>数据挖掘</cname><credit>3</credit><period>36</period></Course><Course CNO="C006"><cname>经济学基础</cname><credit>2</credit><period>32</period></Course></Teacher><Teacher TID="T004"><pname>王默默</pname><sex>男</sex><professionalpost>副教授</professionalpost> <Course CNO="C007"><cname>管理运筹学</cname><credit>2</credit><period>32</period></Course><Course CNO="C008"><cname>管理统计学</cname><credit>2</credit><period>32</period><period>32</period></Course></Teacher><Class CID="1903" name="电商1班"><Classpresident SID="S005"><pname>陈凡</pname><sex>男</sex></Classpresident><Student SID="S006"><pname>⽯发</pname><sex>男</sex></Student></Class><Class CID="1904" name="电商2班"><Classpresident SID="S007"><pname>吴宇</pname><sex>⼥</sex></Classpresident><Student SID="S008"><pname>葛⼀萨</pname><sex>男</sex></Student></Class></Major><Major ID="M003" name="信息管理与信息系统"> <Teacher TID="T005"><pname>刘⽟</pname><sex>⼥</sex><professionalpost>教授</professionalpost><Course CNO="C009"><cname>Java:⾯向对象程序设计</cname> <credit>4</credit><period>48</period></Course><Course CNO="C010"><cname>数据结构(C/C++)</cname><credit>3</credit><period>36</period></Course></Teacher><Teacher TID="T006"><pname>史丹</pname><sex>⼥</sex><professionalpost>副教授</professionalpost> <Course CNO="C011"><cname>XML</cname><credit>2</credit><period>32</period></Course><Course CNO="C012"><cname>UML</cname><credit>2</credit><period>32</period></Course></Teacher><Class CID="1905" name="信管1班"><Classpresident SID="S009"><pname>得得</pname><sex>男</sex></Classpresident><Student SID="S010"><pname>陈⽣</pname><sex>⼥</sex></Student></Class><Class CID="1906" name="信管2班"><Class CID="1906" name="信管2班"><Classpresident SID="S011"><pname>储梦</pname><sex>⼥</sex></Classpresident><Student SID="S012"><pname>撒⽅法</pname><sex>男</sex></Student></Class></Major></School>格式良好验证视图部分数据的效果展⽰。
第04章XML Scherma模式简介习题答案1.什么是XML Schema?与DTD相比,有哪些不同点?答案:XML Schema是W3C开发的一种新的约束XML文件的模式,是一种特殊的XML文件,遵循XML的语法规则。
与DTD相比,主要有以下一些不同之处。
(1)DTD具有自己的语法。
Schema是一种特殊的XML文件遵循XML语法。
(2)DTD只能说明标记所标记的的内容是文本数据,而XML Schema则可以具体约束数据的类型。
(3)DTD声明的标记全部是全局的,不能有相同名称,也不能对同一标记多次声明。
XML Schema中标记和属性分为全局的局部的。
2.在XML Schema中如何自定义类型?请举例说明。
答案:在XML Schema中,使用<simpleType>标记自定义数据类型,通过这个标记可以给XML Schema提供的数据类型添加一些限制,从而构造出新的类型。
常用的有限定数值范围、限定数值位数、限定字符串范围、枚举类型等。
例子参考书中实例。
3.下面的两个定义方式有什么不同?(一)<xsd:element name=” element1” type=”comp lexType1”/><xsd:element name=” element2” type=”xs d:string”/><xsd:element name=” element3” type=”xs d:string”/><xsd:complexType name=”complexType1”><xsd:sequence><xsd:element ref=”element2”/><xsd:element ref=”element3”/></xsd:sequence></xsd:complexType>– 1 –第02章XML文件的规则习题答案(二)<xsd:element name=” element1” type=”complexType1”/><xsd:complexType name=”complexType1”><xsd:sequence><xsd:element name=” element2” type=”xs d:string”/><xsd:element name=” element3” type=”xs d:string”/></xsd:sequence></xsd:complexType>答案:第一种方式声明的3个标记都是全局的,全局标记的名字必须是唯一的,而且只能声明一次。
习题1答案1。
XML参考答案:<?xml version=”1.0” encoding=”gb2312”?>〈poem><title〉静夜思</title〉<author〉李白</author〉<content>〈line〉床前明月光〈/line><line>疑是地上霜</line〉〈line〉举头望明月〈/line><line〉低头思故乡</line〉〈/content〉</poem>2。
判断下列元素的内容是否合法〈data>&〈/data〉错〈data〉/</data> 对〈data>/〉〈/data> 对<data〉<〈/data〉错〈data〉]]>〈/data> 错3.//错误元素中不允许使用]]>4.<?xml version="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>5.XML文件的分类:无效的XML文档、格式良好的XML文档、有效的XML文档6.XML文件的逻辑构成,并简述各部分内容逻辑构成包括:(1)XML必要声明(2)DTD声明(3)PI(处理指令)(4)元素(5)注释1) XML必要声明语法:〈??〉位置:必须位于第一行可以包含的属性及含义version 必须的 XML版本 1.0|1.1encoding 可选的编码方式standalone 可选的 XML文档是否独立 yes|no 2)DTD声明语法:<!DOCTYPE 。
实验五:XML S CHEMA2实验目的与要求通过实验,使学生熟悉XMLSchema语法结构,并加深对XMLSchema应用的理解。
要求学生能够改正XSD文件中的错误;要求能够为自己编写的XML 文件添加XML Schema。
3实验内容实验1. P84 第1题实验2.根据书籍XML 文档,建立Schema 文档和DTD文档。
<?xml version="" encoding="gb2312" ?><book isbn="0-764-58007-8"><title>三国演义</title><author >罗贯中</author><price > </price><resume>滚滚长江东逝水,浪花淘尽英雄。
是非成败转头空。
青山依旧在,几度夕阳红。
</resume><resume>白发渔樵江渚上,惯看秋月春风。
一壶浊酒喜相逢。
古今多少事,都付笑谈中。
</resume><publish><publisher>文艺出版社</publisher><address>北京</address></publish></book>。
·Scheme文件:<xs:schema xmlns:xs="" elementFormDefault="qualified" attributeFormDefault="unqualified"><xs:element name="book"><xs:complexType><xs:sequence><xs:element name="title" type="xs:string"/><xs:element name="author" type="xs:string"/><xs:element name="price" type="xs:string"/><xs:element name="resume"type="xs:string"maxOccurs="3" /><xs:element name="publish"><xs:complexType><xs:sequence><xs:element name="publisher" type="xs:string"/><xs:element name="address" type="xs:string"/></xs:sequence></xs:complexType></xs:element></xs:sequence><xs:attribute name="isbn" type="xs:string"/></xs:complexType></xs:element></xs:schema>Schema对应的xml文件:<?xml version="" encoding="UTF-8"?><book xmlns:xsi=""xsi:noNamespaceSchemaLocation="C:\Documents andSettings\user\桌面\"><title>三国演义</title><author>罗贯中</author><price></price><resume>滚滚长江东逝水,浪花淘尽英雄。
是非成败转头空。
青山依旧在,几度夕阳红。
</resume><resume>白发渔樵江渚上,惯看秋月春风。
一壶浊酒喜相逢。
古今多少事,都付笑谈中。
</resume><publish><publisher>文艺出版社</publisher><address>北京</address></publish></book>·外部Dtd文件:ml version="" encoding="UTF-8"?><!ELEMENT book (title,author,price, resume+,publish)><!ELEMENT title (#PCDATA)><!ELEMENT author (#PCDATA)><!ELEMENT price (#PCDATA)><!ELEMENT publish (publisher,address)><!ELEMENT publisher (#PCDATA)><!ELEMENT address (#PCDATA)><!ATTLIST book isbn CDATA "0-764-58007-8">其对应的xml文件:<?xml version="" encoding="UTF-8"?><!DOCTYPE book SYSTEM "C:\Documents and Settings\user\桌面\"><book><title>三国演义</title><author>罗贯中</author><price></price><resume/><resume/><publish><publisher>文艺出版社</publisher><address>北京</address></publish></book>·使用内部dtd的xml文件:<?xml version="" encoding="UTF-8"?><!DOCTYPE book [<!ELEMENT book (title,author,price,resume+,publish)> <!ELEMENT title (#PCDATA)><!ELEMENT author (#PCDATA)><!ELEMENT price (#PCDATA)><!ELEMENT resume (#PCDATA)><!ELEMENT publish (publisher,address)><!ELEMENT publisher (#PCDATA)><!ELEMENT address (#PCDATA)><!ATTLIST book isbn CDATA "0-764-58007-8">]><book isbn="0-764-58007-8"><title>三国演义</title><author>罗贯中</author><price></price><resume/><resume/><publish><publisher>文艺出版社</publisher><address>北京</address></publish></book>实验3. 在一个XML 文档中,需要用到一个article 的结点,这个结点结构如下:<article><HeadLine section="business"><MainHead>Main headline goes here</MainHead><SubHead>A subheadline goes here</SubHead></HeadLine><ByLine><Author>John Doe</Author><title>Reporter</title></ByLine><DateLine>April 30, 2005</Dateline><body>Content of story goes here…</body><stats><submitted>2005-03-02</submitted><wordCount>1523</wordCount></stats></article>请在分别定义 HeadLine、ByLine、DateLine、stats 结点的数据类型基础上,再定义article的复杂数据类型。
<?xml version="" encoding="UTF-8"?><xs:schema xmlns:xs="" elementFormDefault="qualified"attributeFormDefault="unqualified"><xs:element name="DateLine" type="xs:string"/><xs:element name="body" type="xs:string"/><xs:element name="HeadLine"><xs:complexType><xs:sequence><xs:element name="MainHead" type="xs:string"/><xs:element name="SubHead" type="xs:string"/></xs:sequence><xs:attribute name="section" type="xs:string"/></xs:complexType></xs:element><xs:element name="ByLine"><xs:complexType><xs:sequence><xs:element name="Author" type="xs:string"/><xs:element name="title" type="xs:string"/></xs:sequence></xs:complexType></xs:element><xs:element name="stats"><xs:complexType><xs:sequence><xs:element name="submitted" type="xs:string"/> <xs:element name="wordCount" type="xs:string"/> </xs:sequence></xs:complexType></xs:element><xs:element name="artticle"><xs:complexType><xs:sequence><xs:element ref="HeadLine"/><xs:element ref="ByLine"/><xs:element ref="DateLine"/><xs:element ref="body"/><xs:element ref="stats"/></xs:sequence></xs:complexType></xs:element></xs:schema>实验4. 若实验3为多篇文章(articles),请为其建立完整的XML Schema 文件,保存文件名为<?xml version="" encoding="UTF-8"?><xs:schema xmlns:xs="" elementFormDefault="qualified"attributeFormDefault="unqualified"><xs:element name="DateLine" type="xs:string"/><xs:element name="body" type="xs:string"/><xs:element name="HeadLine"><xs:complexType><xs:sequence><xs:element name="MainHead" type="xs:string"/><xs:element name="SubHead" type="xs:string"/></xs:sequence><xs:attribute name="section" type="xs:string"/></xs:complexType></xs:element><xs:element name="ByLine"><xs:complexType><xs:sequence><xs:element name="Author" type="xs:string"/><xs:element name="title" type="xs:string"/></xs:sequence></xs:complexType></xs:element><xs:element name="stats"><xs:complexType><xs:sequence><xs:element name="submitted" type="xs:string"/> <xs:element name="wordCount" type="xs:string"/> </xs:sequence></xs:complexType></xs:element><xs:element name="article"><xs:complexType><xs:sequence><xs:element ref="HeadLine"/><xs:element ref="ByLine"/><xs:element ref="DateLine"/><xs:element ref="body"/><xs:element ref="stats"/></xs:sequence></xs:complexType></xs:element><xs:element name="articles"><xs:complexType><xs:sequence><xs:element ref="article" maxOccurs="unbounded"/> </xs:sequence></xs:complexType></xs:element></xs:schema>。