实验三基于XMLSchema实现XML文档的有效性验证.docx
《实验三基于XMLSchema实现XML文档的有效性验证.docx》由会员分享,可在线阅读,更多相关《实验三基于XMLSchema实现XML文档的有效性验证.docx(13页珍藏版)》请在冰豆网上搜索。
实验三基于XMLSchema实现XML文档的有效性验证
淮海工学院计算机工程学院
实验报告书
课程名:
《XML开发技术》
题目:
实验三
基于XMLSchema实现XML文档的有效性验证
班级:
姓名:
学号:
一. 实验目的
(1)掌握XMLSchema的文档结构和语法规则,学会定义simpleType、complexType数据类型,并能利用这些数据类型定义元素;
(2)掌握XMLSchema和XML文档关联的方法;
(3)理解利用XMLSchema对XML文档进行有效性验证的原理。
二.实验内容
(1)编写良构的XML文档stuInfo.xml/teachInfo.xml,来描述学生/教师的信息。
(2)编写Schema文档stuSchema.xsd/teachSchema.xsd,来约束stuInfo.xml/teachInfo.xml的结构
三.实验步骤
(1)在网络没有联通的情况下,打开XMLSPY2008环境;
(2)编写Schema文档;
(3)编写XML文档,并将其关联于已经编写好的Schema文档;
(4)验证XML文档的良构性(Well-formed)和有效性(Validation)
四.实验结果
通过代码和运行界面来反映实验结果
1.先新建一个xsd的文件命名为stuSchema
xmlversion="1.0"encoding="UTF-8"?
>
schemaxmlns:
xs="http:
//www.w3.org/2001/XMLSchema"elementFormDefault="qualified"attributeFormDefault="unqualified">
elementname="students"type="studentsType"/>
complexTypename="studentsType">
sequence>
elementname="student"type="studentType"maxOccurs="40"/>
sequence>
complexType>
complexTypename="studentType">
sequence>
elementname="sno"type="xs:
string"/>
elementname="sname"type="xs:
string"/>
elementname="sclass"type="xs:
string"/>
elementname="birthday"type="xs:
date"/>
sequence>
attributename="sex"type="xs:
string"/>
attributename="email"type="xs:
string"/>
attributename="cellphone"type="xs:
string"/>
complexType>
schema>
2.再建一个xml,命名为stuSchema
xmlversion="1.0"encoding="UTF-8"?
>
xsi="http:
//www.w3.org/2001/XMLSchema-instance"xsi:
noNamespaceSchemaLocation="stuSchema.xsd">
1001
张三
软件091
1991-07-03
1004
李四
软件092
1992-03-03
1003
王五
软件091
1992-03-03
这是xsd的一种表格的显示方式,如下图
现在验证XML文档的良构性(Well-formed)
把软件092下的日期1992-03-03改成1992-03-32
发现其良构性没什么问题
我们再检查一下其有效性(Validation)
发现有效性是有误的因为日期不可能有32号出现
诸如此类的毛病再列举一二
观察图中蓝色部分
这些良构性都没问题,有效性都有欠缺。
下面运行xpath如运行出1到100这100个整数,如下图
列举出100以内能被5整除的数
对stuschema.xml的阐述,如列举student下的子元素
运行出第三个学生的姓名
运行stuent父节点信息//student[3]/parent:
:
*
统计学生的总人数count(//student)
列举性别为男的学生的学生信息//student[@sex="男"]/child:
:
*
五.实验分析体会
实验的心得是什么?
你得到了什么结论?
对下次实验及后续学习的想法、展望。
Xml的可扩展是不难理解的,作为一种新标记语言,Xml语言提供了一个可扩展的、强有力的标准来描述数据,使得数据可以在应用程序中使用或在不同平台、不同应用中交换。
Xml只关心如何描述数据,并不指定如何为一个最终用户或者系统显示数据。
XML文档的良构性(Well-formed)和有效性(Validation)还是有一定的区别,良构性基本要求文挡结构正确,而有效性还要检查其数据内容是否合理有效。
XML可作为行业内数据交换的标准表示。
XML文档的有效性验证是检查该文档是否遵循行业规定的XML文档格式。
在进行数据交换时,首先必须对XML文档表示的数据进行有效性验证。
结论是有效性更为科学。
想法是你尽可以在xml文档中自定义所需要的标记以描述数据,任何想使用这个文档的人也可以使用它,只要你为他们提供一个文档是如何组织以及使用什么样的标记描述数据的定义即可!
展望是由于XML已经在许多领域得到了广泛应用,如模式设计、内容管理、数据集成等等。
作为定义、存储和交换数据的有效工具,XML技术与数据库技术也正在相互融合,在IDC最近发布的一份报告中,500家受访企业的IT部门中有29%称,正在大量使用XML存储库和数据库;约有同样比例的受访者称,正在探索这方面的使用前景。
希望前景一片美好。