懂式情感网
您的当前位置:首页用ML做通讯录实验报告

用ML做通讯录实验报告

来源:懂式情感网


用ML做通讯录实验报告

综合性实验报告

学院:专业:学号:姓名:河南师范大学计算机与信息技术学院

计算机与信息技术学院综合性、设计性实验报告

专业:年级/班级:学年第学期

一、实验目的

1、掌握_ML文档的基本语法,能够得到格式良好的_ML文档;

2、能够了解并掌握_MLDTD的定义方法及其用途;

3、能够熟练使用_MLSPY来创建DTD文件及对应的有效的_ML文件,并进行验证;二、实验仪器或设备

学院提供公共机房,1台学生微型计算机。

三、总体设计(设计原理、设计方案及流程等)

设计原理:按照_ML、DTD的语法规则来编写、保存文件_ML、DTD文件。设计方案及流程:

利用_ML文档作为存储载体来存储个人通讯薄,按照以下要求设计并实现该通讯薄:

1、内含同学(classmate)、朋友(friend)、家人(home)等人员。每条通讯录至少包含以下信息:

a、姓名(name):必须有一个,其中包含一个枚举类型的性别(se_)属性;b、性别(se_):必须有一个;

c、联系方式(tel):必须有一个;

d、QQ号:一个或多个;

e、地址(address):一个或多个;

f、备注(other):一个或多个;

g、根据需要可添加其它字段。

河南师范大学计算机与信息技术学院

2、为该_ML文档,编写DTD文档。

四、实验步骤(包括主要步骤、代码分析等)

1、按照以上设计编写一个规范的_ML文档

<_mlversion="1.0"encoding="UTF-8">

这句话放为_ML文件的声明,作为文件的第一行,在其前面不能有空白、其他处理指令或注释。_ML声明以<_ml标识开始、以>标识结束。在该_ML声明中,属性version的值为1.0,指出了该_ML文件使用的_ML版本,目前该属性的值只可以取1.0。属性encoding规定_ML文件采用哪种字符集进行编码,在这encoding的值为“UTF-8”,那么标记的名字以及标记包含的文本内容中就可以使用汉字、日文、英文等。最后,文件在保存的时候必须选择UTF-8编码来保存,否则会出错。

如果在_ML声明中没有指定encoding的值,那么该属性的默认值为UTF-8。

在_ML文档中,有且仅有一个根标记,其他标记都必须封装在根标记中如图所示:

在该_ML文件中,根标记的名字为“t_l”,在根标记中封装了一个或多个名字为“title”、“classmate”、“friend”、“home”的标记。在名为“classmate”、“friend”、“home”的标记下,又都包含了名为“name”、“se_”、“tel”、“QQ”、“address”、“other”的子标记,他们分别包含了姓名、性别、联系方式、QQ号、地址、备注这些信息。至此,该_ML文件可以称为一个规范的_ML文件。

使用_MLSpy,使用按钮检验_ML文件的规范性,所得结果为:

河南师范大学计算机与信息技术学院

2、为该_ML文档编写DTD文档,使其成为一个有效的_ML文档

一个有效的_ML文件如果和某个DTD文件相关联,并遵守该DTD文件规定的约束条件,就称为有效的_ML。

DTD通过其中的元素来_ML文件中的标记。下列元素:

(title,classmate+,friend+,home+)>约束_ML文件的根标记“t_l”可以有一个名为

“title”的子标记,一个或多个名为“classmate”、“friend”、“home”的子标记,不可以有任何其他名称的子标记。

下列元素:

约束了_ML文件中名称为“classmate”、“friend”、“home”的标记恰好顺序地包含有名称分别为“name”、“se_”、“tel”、“QQ”、“address”和“other”子标记,而且约束名称为“classmate”、“friend”、“home”的标记包含的内容不可以有可显示的字符(允许含有空格、回行等空白字符)。

下列元素:

分别约束了_ML文件中名称为“name”、“se_”、“tel”、“QQ”、“address”和“other”的标记所包含的内容只可以是文本数据,不可以包含有子标记。

在该_ML文档中,name的se_属性是枚举类型,那么该属性只可以是枚举给出的值,即属性可以取的值是用符号“|”分隔的几个字符串中的任何一个。下列元素:约束了约束了se_属性值可以是男/女。

在保存DTD文件时,要选择“UTF-8”编码方式保存(在保存DTD文件时所选择的编码必须和它要约束的_ML文件保持一致)。

河南师范大学计算机与信息技术学院

在_ML文件中,可以使用“文档类型声明”使当前_ML文件与一个DTD文件相关联。如:其中t_l为_ML文件的根标记,“XXX”是与该_ML文件相关连的DTD的URI,即使用SYSTEM文档类型声明的格式为:。

使用_MLSpy,用按钮检验_ML

文件的有效性,所得结果为:

,所以,

现在得到的_ML文件是一个有效的_ML文件。

五、结果分析与总结

一个规范的_ML文件,应当满足以下语法规则:_ML文件用“_ML声明”开始;_ML文件有且仅有一个根标记;_ML的非根标记必须封装在根标记中;非空标记必须由“开始标签”和“结束标签”构成;空标记没有“开始标签”和“结束标签”;_ML文件中的全体标记必须形成树形结构,即标记不允许出现交叉。

在编写的_ML文件中,如果选择的编码方式为“UTF-8”,_ML文件必须选择UTF-8编码来保存;如果选择的编码方式为“gb2312”或“ISO-8859-1”,_ML文件必须选择ANSI编码保存。如果不按以上方式保存,会出错。

如果在要_ML文档中使用特殊字符,可以使用字符引用或CDATA段。如以下代码(CDATA段)

在浏览器中显示效果如下:

河南师范大学计算机与信息技术学院

以下代码(实体引用):

显示如下:

在DTD文件中,元素的定义以“”结束,其中,“)时,“改为,打开_ML文件时,会出现以下结果:

除此之外,DTD文件中元素的作用与其在DTD文件中的书写位置无关,DTD文件中不允许使用多个元素约束同一个标记

需要特别注意的是:DTD文件是由元素构成的文本文件,需要使用文本编辑器编写、保存,在保存DTD文件时,选择的编码必须和它要约束的_ML文件保持一致。如不一样,检验有效性时会报错,例如本应该以“UTF-8”编码保存的,用“ANSI”编码保存,在

河南师范大学计算机与信息技术学院

有汉字的地方会报错:

要想完成一个规范的、有效的_ML文件,必须要按照_ML、DTD的语法规则来编写、保存文件,这样才能避免出错。

教师签名:

河南师范大学计算机与信息技术学院

显示全文