xml文档设计Word格式.docx
《xml文档设计Word格式.docx》由会员分享,可在线阅读,更多相关《xml文档设计Word格式.docx(14页珍藏版)》请在冰豆网上搜索。
2.了解XML与HTML的不同。
3.掌握在DTD文档中声明元素,属性的各种方法;
2、实验仪器、设备或软件
仪器设备:
电脑一台
二、实验过程(实验步骤、记录、数据、分析)
本实验第一部分:
Step1:
根据老师的要求编写课堂上所讲述的XML实例;
实例的内容是:
(1)建立一个联系人列表XML文档,分别使用内部,外部DTD定义文档的有效性。
该文档包括联系人基本信息,联系人(姓名,ID,公司,EMAIL,电话,地址),其中地址又包括地址(街道,城市,省份)。
Step2:
在程序->
附件->
记事本,点击建立记事本,将下列三段放在记事本中并另存为:
三个文件
,记得在另存为的时候要对文件名加上双引号,三段文档代码分别是:
mystyle.xsl
<
?
xmlversion="
1.0"
encoding="
GB2312"
>
xsl:
stylesheetxmlns:
xsl="
http:
//www.w3.org/TR/WD-xsl"
xmlns="
//www.w3.org/TR/REC-html40"
result-ns="
"
template>
apply-templates/>
/xsl:
templatematch="
/"
<
HTML>
HEAD>
TITLE>
F公司的客户联系信息<
/TITLE>
/HEAD>
BODY>
apply-templatesselect="
联系人列表"
/>
/BODY>
/HTML>
for-eachselect="
联系人"
UL>
LI>
value-ofselect="
姓名"
/LI>
用户ID:
ID"
公司:
公司"
EMAIL:
EMAIL"
电话:
电话"
街道:
地址/街道"
城市:
地址/城市"
省份:
地址/省份"
ZIP:
地址/ZIP"
/UL>
for-each>
stylesheet>
ZJU.dtd:
!
ELEMENT联系人列表(联系人)*>
ELEMENT联系人(姓名,ID,公司,EMAIL,电话,地址)>
ELEMENT地址(街道,城市,省份)>
ELEMENT姓名(#PCDATA)>
ELEMENTID(#PCDATA)>
ELEMENT公司(#PCDATA)>
ELEMENTEMAIL(#PCDATA)>
ELEMENT电话(#PCDATA)>
ELEMENT街道(#PCDATA)>
ELEMENT城市(#PCDATA)>
ELEMENT省份(#PCDATA)>
client.xml
xmlversion="
standalone="
no"
DOCTYPE联系人列表
SYSTEM”ZJU.dtd"
xml-stylesheettype="
text/xsl"
href="
mystyle.xsl"
联系人列表>
联系人>
姓名>
张三<
/姓名>
ID>
001<
/ID>
公司>
A公司<
/公司>
EMAIL>
zhang@<
/EMAIL>
电话>
(010)62345678<
/电话>
地址>
街道>
五街1234号<
/街道>
城市>
北京市<
/城市>
省份>
北京<
/省份>
/地址>
/联系人>
李四<
002<
B公司<
li@bbb.org<
(021)87654321<
南京路9876号<
上海<
/联系人列表>
Step3;
在每一个文件都保存好了之后,打开client.xml,发现有语法错误,不能正常打开,原因是在记事本保存的的client.xml的文件中SYSTEM后面有的一边双引号的中文方式输入的,所以得把它改为英文方式下的双引号,截图如下:
,要把圈圈中的那半边双引号改为英文状态的双引号。
Step4:
修改了双引号之后再点击保存,保存好了之后,打开client.xml文件,就出现了题目要求的XML的文档,截图如下:
Step4:
成功的建立好了一张联系人列表XML文档。
问题一:
a.XML声明中改变encoding或standalone的属性,文档显示情况如何;
b.在DTD文档中在“姓名”元素后使用字符*或+,其在建立XML文档时会有何不同;
c.建立XML文档时,如果把“<
”改成“&
lt姓名&
gt”,XML显示情况如何?
d.建立外部DTD时,“standalone”属性有何变化?
问题二:
(1)在引用时如果“&
”和后面的实体名中间多一个空格,XML显示情况如何?
实验中所用到的XML文档如下:
DOCTYPE信件[
ELEMENT信件(收件人,主题,正文)>
ELEMENT收件人(#PCDATA)>
ELEMENT主题(#PCDATA)>
ELEMENT正文(#PCDATA)>
ENTITYlettersign"
张三某网络公司销售部门北京市海淀区中关村88号,100000"
]>
信件>
收件人>
/收件人>
主题>
hello<
/主题>
正文>
hello!
&
lettersign;
/正文>
/信件>
附:
问题一和问题二的答案在实验结果部分。
本实验第二部分:
2.通过实验建立一个XML文档,该文档包含学生基本信息,如(学号,姓名,专业,班级,出生年月,是否班长),有两条记录,通过实验了解使用内部及外部DTD定义文档的有效性的方法。
建立外部DTD文档。
a.通过“开始”→“程序”→“附件”→“记事本”,打开记事本软件,保存为“学生.dtd”。
b.在记事本窗口中键入如下图所示内容。
其中第一行为此DTD文档的XML声明,第二行为注释,接下来都是对数据类型的定义,及对该文档包含哪些数据元素的定义。
将下列代码输入到记事本文件当中,
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文档。
在记事本中输入下列代码:
standalone="
DOCTYPE学生列表SYSTEM"
学生.dtd"
学生列表>
学生>
<
学号>
/学号>
专业>
计算机<
/专业>
班级>
01班<
/班级>
出生年月>
19847.9<
/出生年月>
是否班长>
是<
/是否班长>
/学生>
否<
/学生列表>
在输入代码的记事本文件存储为学生.xml;
截图如下:
(3)在浏览器中打开此XML文档,其显示效果截图入下:
(4)建立内部DTD的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文档时,如果把“<
gt”,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是编写静态网页标签的代码标签。
四、指导教师评语及成绩:
成绩:
指导教师签名:
批阅日期: