学习目标:
1、了解Java的历史
2、为什么要学习Java语言
3、端正学习态度
学习过程:
由上一节可知,只要符合XML的文档定义格式,在一个XML文档中,我们可以任意定制标签,但是当我们将XML文档交给别人使用时,他怎么才能知道你所提交的文档中元素与元素之间、元素与属性之间的关系,以及属性的取值是正确的呢?还有我们在定义XML时候有如果属性名称拼写错误等等,这些问题如何解决呢?
XML的强大是灵活,可以任意定义,但是问题也就在这里,就是过于灵活了,我们需要为XML添加一些约束。
XML文件一般分为三种,上一节我们学习只是其中一种。三种简介如下:
-
标准XML文档:以.xml为文件的后缀名,作用就是数据的结构化和作为数据的载体。
-
语法结构规范Schema文档:以.xsd为文件的后缀名,定义XML文件的结构规范和一些约束条件。
-
样式文档:以.xsl为文件的后缀名,XML的样式表,可以做到样式和数据分离,但目前使用得并不多。
下面我们主要学习一下Schema文档的定义和使用
一、什么是 XML Schema?
XML Schema 的作用是定义 XML 文档的合法构建模块,类似 DTD。Schema具体的元素描述这里我就不做太多的介绍了。具体大家可以参考一下W3C的学习网:
http://www.w3school.com.cn/schema/schema_intro.asp
XML Schema的作用如下:
-
定义可出现在文档中的元素
-
定义可出现在文档中的属性
-
定义哪个元素是子元素
-
定义子元素的次序
-
定义子元素的数目
-
定义元素是否为空,或者是否可包含文本
-
定义元素和属性的数据类型
-
定义元素和属性的默认值以及固定值
二、在MyEclipse中定义Schema
MyEclipse提供了一种可视化的操作定义Schema文件,操作非常简单。下载我们再看看上一节课的例子,还有一些约束是没有添加的。如:“每一个学生和老师都有一个Id一个学生只能有一个姓名, 年龄,地址可以有多个”。下面我们就通过Schema的定义XML文件的属性名称、属性值类型和约束条件。
1、新建一个Schema文件。选择New>other>XML,选中XML Schema,点击下一步。
输入Schema文件的文件名称,点击完成就可以了。
2、添加元素。
修改元素的名称,由于根元素的内容并不是一个简单类型,需要添加一个复合类型(Complex Type),点击SetType》New。
选中Complex Type,修改类型名称,点击OK即可
3、添加子元素。
右键机选添加子元素。
同样,这两个元素的类型也不是基本类型,需要修改为新建一个复合类型。
同理,继续定义这些类型的子元素,最终完成如下:
4、添加属性。
5、添加约束元素个数。
-
选项1..1(Required)必须项,有且只有一个,而且必须有一个。
-
选项0..1(Optional)可选项,可以没有这个元素,但是最多也只能有一个。
-
选项0..*(Zero or more)0个或者多个,可以没有这个元素,也可以有多个。
-
选项1..*(Oneor more)1个或者多个,至少有一个,可以有多个。
6、最终完成如下图所示:
7、生成对应的XML文件如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
|
三、在MyEclipse中使用Schema
1、新建一个XML文件
2、输入文件名称后,点击Next。
选中Create Xml file from XML scheam file
选中刚才定义的Schema文件
暂时不需要这个命名空间了。
点击Finish完成即可。
2、生成代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
3、测试。
你可以测试一下,现在所有的元素名称都已经得到规范了,如:教师的元素名称必须是teacher,学生的元素名称必须是student。整个room元素中有且只能有一个teacher元素,这些你都可以自己做一下测试。如果你添加两个teacher元素,MyEclipse的语法检测就会报错。