xml文档设计.docx
- 文档编号:9485903
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:14
- 大小:206.51KB
xml文档设计.docx
《xml文档设计.docx》由会员分享,可在线阅读,更多相关《xml文档设计.docx(14页珍藏版)》请在冰豆网上搜索。
xml文档设计
学生实验报告
学院:
课程名称:
专业班级:
姓名:
学号:
学生实验报告
学生姓名
学号
同组人:
无
实验项目
XML文档设计
□必修■选修
□演示性实验□验证性实验■操作性实验□综合性实验
实验地点
H123
实验仪器台号
1台
指导教师
钟元生
实验日期及节次
2011.5.20上午第2.3节课
一、实验综述
1、实验目的及要求
目的:
1.了解XML的主要技术,学会编写简单的XML文档;
2.了解XML与HTML的不同。
3.掌握在DTD文档中声明元素,属性的各种方法;
2、实验仪器、设备或软件
仪器设备:
电脑一台
二、实验过程(实验步骤、记录、数据、分析)
本实验第一部分:
Step1:
根据老师的要求编写课堂上所讲述的XML实例;实例的内容是:
(1)建立一个联系人列表XML文档,分别使用内部,外部DTD定义文档的有效性。
该文档包括联系人基本信息,联系人(姓名,ID,公司,EMAIL,电话,地址),其中地址又包括地址(街道,城市,省份)。
Step2:
在程序->附件->记事本,点击建立记事本,将下列三段放在记事本中并另存为:
三个文件
,记得在另存为的时候要对文件名加上双引号,三段文档代码分别是:
mystyle.xsl
xmlversion="1.0"encoding="GB2312"?
>
stylesheetxmlns: xsl="http: //www.w3.org/TR/WD-xsl" xmlns="http: //www.w3.org/TR/REC-html40" result-ns=""> template> apply-templates/> template> templatematch="/">
apply-templatesselect="联系人列表"/>
template>
templatematch="联系人列表"> for-eachselect="联系人"> value-ofselect="姓名"/>
- 用户ID:
value-ofselect="ID"/>
- 公司:
value-ofselect="公司"/>
- EMAIL:
value-ofselect="EMAIL"/>
- 电话:
value-ofselect="电话"/>
- 街道:
value-ofselect="地址/街道"/>
- 城市:
value-ofselect="地址/城市"/>
- 省份:
value-ofselect="地址/省份"/>
- ZIP:
value-ofselect="地址/ZIP"/>
for-each>
template>
stylesheet>
ZJU.dtd:
xmlversion="1.0"encoding="GB2312"?
>
ELEMENT联系人列表(联系人)*>
ELEMENT联系人(姓名,ID,公司,EMAIL,电话,地址)>
ELEMENT地址(街道,城市,省份)>
ELEMENT姓名(#PCDATA)>
ELEMENTID(#PCDATA)>
ELEMENT公司(#PCDATA)>
ELEMENTEMAIL(#PCDATA)>
ELEMENT电话(#PCDATA)>
ELEMENT街道(#PCDATA)>
ELEMENT城市(#PCDATA)>
ELEMENT省份(#PCDATA)>
client.xml
xmlversion="1.0"encoding="GB2312"standalone="no"?
>
DOCTYPE联系人列表
SYSTEM”ZJU.dtd">
xml-stylesheettype="text/xsl"href="mystyle.xsl"?
>
<联系人列表>
<联系人>
<姓名>张三姓名>
<公司>A公司公司>
<电话>(010)62345678电话>
<地址>
<街道>五街1234号街道>
<城市>北京市城市>
<省份>北京省份>
地址>
联系人>
<联系人>
<姓名>李四姓名>
<公司>B公司公司>
<电话>(021)87654321电话>
<地址>
<街道>南京路9876号街道>
<城市>上海城市>
<省份>上海省份>
地址>
联系人>
联系人列表>
Step3;在每一个文件都保存好了之后,打开client.xml,发现有语法错误,不能正常打开,原因是在记事本保存的的client.xml的文件中SYSTEM后面有的一边双引号的中文方式输入的,所以得把它改为英文方式下的双引号,截图如下:
,要把圈圈中的那半边双引号改为英文状态的双引号。
Step4:
修改了双引号之后再点击保存,保存好了之后,打开client.xml文件,就出现了题目要求的XML的文档,截图如下:
Step4:
成功的建立好了一张联系人列表XML文档。
问题一:
a.XML声明中改变encoding或standalone的属性,文档显示情况如何;
b.在DTD文档中在“姓名”元素后使用字符*或+,其在建立XML文档时会有何不同;
c.建立XML文档时,如果把“<姓名>”改成“<姓名>”,XML显示情况如何?
d.建立外部DTD时,“standalone”属性有何变化?
问题二:
(1)在引用时如果“&”和后面的实体名中间多一个空格,XML显示情况如何?
实验中所用到的XML文档如下:
xmlversion="1.0"encoding="GB2312"?
>
DOCTYPE信件[
ELEMENT信件(收件人,主题,正文)>
ELEMENT收件人(#PCDATA)>
ELEMENT主题(#PCDATA)>
ELEMENT正文(#PCDATA)>
ENTITYlettersign"张三某网络公司销售部门北京市海淀区中关村88号,100000">
]>
<信件>
<收件人>李四收件人>
<主题>hello主题>
<正文>hello!
&lettersign;正文>
信件>
附:
问题一和问题二的答案在实验结果部分。
本实验第二部分:
2.通过实验建立一个XML文档,该文档包含学生基本信息,如(学号,姓名,专业,班级,出生年月,是否班长),有两条记录,通过实验了解使用内部及外部DTD定义文档的有效性的方法。
Step1:
建立外部DTD文档。
a.通过“开始”→“程序”→“附件”→“记事本”,打开记事本软件,保存为“学生.dtd”。
b.在记事本窗口中键入如下图所示内容。
其中第一行为此DTD文档的XML声明,第二行为注释,接下来都是对数据类型的定义,及对该文档包含哪些数据元素的定义。
将下列代码输入到记事本文件当中,
xmlversion="1.0"encoding="UTF-8"?
>
--DTD由XMLSpyv2006U创建()-->
ELEMENT学生列表(学生)*>
ELEMENT学生(学好,姓名,专业,班级,出生年月,是否班长)>
ELEMENT学号(#PCDATA)>
ELEMENT姓名(#PCDATA)>
ELEMENT专业(#PCDATA)>
ELEMENT班级(#PCDATA)>
ELEMENT出生年月(#PCDATA)>
ELEMENT是否班长(#PCDATA)>
将之前建立好的存有记事本文件存储为学生.dtd,截图如下:
(2)建立与外部DTD对应的XML文档。
a.通过“开始”→“程序”→“附件”→“记事本”,打开记事本软件,保存为“学生.xml”。
b.在记事本窗口中键入如下图所示内容。
其中第一行为此XML文档的声明,第二行为引入如图6-1所示的DTD文档,接下来是根据DTD所规定的元素及元素类型编写此XML文档。
在记事本中输入下列代码:
xmlversion="1.0"encoding="GB2312"standalone="no"?
>
DOCTYPE学生列表SYSTEM"学生.dtd">
<学生列表>
<学生>
<学号>001学号>
<姓名>张三姓名>
<专业>计算机专业>
<班级>01班班级>
<出生年月>19847.9出生年月>
<是否班长>是是否班长>
学生>
<学生>
<学号>002学号>
<姓名>李四姓名>
<专业>计算机专业>
<班级>01班班级>
<出生年月>19847.9出生年月>
<是否班长>否是否班长>
学生>
学生列表>
在输入代码的记事本文件存储为学生.xml;截图如下:
(3)在浏览器中打开此XML文档,其显示效果截图入下:
(4)建立内部DTD的XML文档。
a.通过“开始”→“程序”→“附件”→“记事本”,打开记事本软件,保存为“学生.xml”。
b.在记事本窗口中键入如下图所示内容。
其中第一行为此XML文档的声明,第二至十一行为内部DTD的说明,接下来是根据DTD所规定的元素及元素类型编写此XML文档。
其显示效果与上图所显示效果一样。
截图如下:
三、结论
1、实验结果
实验第一部分的实验结果:
实验第一部分的实验结果1:
实验第一部分的实验结果2:
回答问题的答案结果:
问题一中的答案:
a:
standalone属性
实验证明,改了standalone中的no改为yes时XML文档没有发生改变,因为此文档没有另外一个配套的DTD文件来进行置标声明。
encoding属性
在实验的过程中,我将XML文档当中的encoding属性,encoding="GB2312改为encoding="BIG5“,结果文档出现了繁体中文。
b:
在DTD文档中在“姓名”元素后使用字符*或+,其在建立XML文档打开时会报错,截图如下:
c:
建立XML文档时,如果把“<姓名>”改成“<姓名>”,XML文档同样会报错,截图如下:
d:
.建立外部DTD时,“standalone”属性中的no改为yes。
因为这样的文档可能有另外一个配套的DTD文件来进行置标声明。
即外部的DTD文档。
问题二中的答案:
在问题二中当没有改变在引用时的“&”和后面的实体名,在记事本中存档为1.xml文件,打开的效果截图为:
当在存档的1.xml中的用txt文档打开,修改里面的引用时的“&”或后面的实体名保存后,打开后效果截图为:
结果发现有空格会报错,得不到预期的文档效果。
实验第二部分的实验结果:
2、分析讨论
1)通过本实验使我了解了XML的一些主要技术,会用XML文档设计编写简单的文档信息。
2)在本实验的编写XML文档的过程中,很好的理解了HTML和XML的代码标签的异同,同时也学会了XML一些编写标签和编写代码的语法规范,即文档的第一行必须是XML文档的声明,文档必须包含根元素,每一个开始标记必须和结束的标记配对使用,还有就是标记之间可以互相嵌套使用,不过,在嵌套使用XML标记时要认真仔细,以免过于复杂而出现错误,在实验中深刻体会到这点,XML的语法是很规范的,一旦有一点错误就会报错,这在本实验中的第一部分中很好地体现出来了。
也就是XML语言的使用是其属性值的不合法的改变会出现报错的情况。
3)通过本实验也让我掌握了DTD文档中声明的元素,属性的各种方法。
在实验的过程中遇到了一些编码出错的问题,尽管在实验的时候有过显示的错误,但是通过后来自己不断的实验和分析,这样就可以很好的把问题解决,通过本实验也再次说明了XML和HTML的一些源代码使用的区别,XML是编写文档的格式标签,而HTML是编写静态网页标签的代码标签。
四、指导教师评语及成绩:
成绩:
指导教师签名:
批阅日期:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- xml 文档 设计