xml基于DTD的XML文档有效性验证
2018-03-14 13:47
513 查看
实验工具:xmlspy2013、firefox;
实验问题:
注意问题:
xml文件--->DTD/schema文件的自动转换问题
DTD/schema文件-->xml文件的自动转换问题
xml文件和DTD内定义和外部引入问题
实体自定义和xml文件联系DTD文件的有效性问题
实验问题:
1.分析下列XML实例,编写DTD文档,并进行验证。 <?xml version=”1.0” encoding=”GB2312”> <学生名册> <学生 学号="A"> <姓名>张三</姓名> <性别>男</性别> <年龄>20</年龄> </学生> <学生 学号="A2"> <姓名>李四</姓名> <性别>女</性别> <年龄>19</年龄> </学生> <学生 学号="A3"> <姓名>王二</姓名> <性别>男</性别> <年龄>21</年龄> </学生> </学生名册> 2.分析下列DTD文档,上机编写有效的XML文档,并进行验证。 <!DOCTYPE NEWSPAPER[ <!ELEMENT NEWSPAPER (ARTICLE+)> <!ELEMENT ARTICLE (HEADLINE,BYLINE,LEAD,BODY,NOTES)> <!ELEMENT HEADLINE (#PCDATA)> <!ELEMENT BYLINE (#PCDATA)> <!ELEMENT LEAD (#PCDATA)> <!ELEMENT BODY (#PCDATA)> <!ELEMENT NOTES (#PCDATA)> <!ATTLIST ARTICLE AUTHOR CDATA #REQUIRED> <!ATTLIST ARTICLE EDITOR CDATA #IMPLIED> <!ATTLIST ARTICLE DATE CDATA #IMPLIED> <!ATTLIST ARTICLE EDITION CDATA #IMPLIED> <!ENTITY NEWSPAPER "Vrevet Logic Times"> <!ENTITY PUBLISHRE "Vervet Logic Press"> <!ENTITY COPYRIGHT "Copyright 1998 Vervet Logic Press"> ]> |
1.理解XML文档有效性的涵义; DTD是一种保证XML文档格式正确的有效方法,可以通过比较XML文档来查看文档是否符合规范,元素和标签的使用是否正确。 2.熟悉DTD元素与属性声明的基本语法; a) !ELEMENT表示开始元素设置 b) element-name指明设置此元素的名称 c) element-definition:指明对此元素进行怎样的定义 1、ANY元素类型 <!ELEMENT 元素名 ANY>:将根元素设为ANY类型后,元素出现的次序和顺序将不受限制。 2、EMPTY元素类型 <!ELEMENT 元素名 EMPTY>:使用空元素标记,既不能有内容,也不能有子元素 3、#PCDATA类型的元素(纯文本元素) <!ELEMENT 元素名(#PCDATA)>:PCDATA代表字符数据,为防止与关键字混淆,加#前 a45c 缀。 4、父元素类型 只包含子元素,并且除了这些子元素外没有文本。这类元素中可以包含子元素,在DTD中通过正则表达式规定子元素出现的顺序和次数。 5、混合元素类型 <!ELEMENT 元素名(#PCDATA|子元素名1|子元素名2|……|子元素名n)*>:指包含子元素和文本数据的混合体。 3.理解DTD实体声明的基本语法; <!DOCTYPE 文件名[ <!ELEMENT 实体名 “实体内容”> ]> 4.掌握XML的五种常用实体的用法; 表1-1 预定义实体 [align=center]
|
<?xml version="1.0" encoding="GB2312"?> <!DOCTYPE 学生名册 [ <!ELEMENT 学生名册 (学生+)> <!ELEMENT 学生 (姓名, 性别, 年龄)> <!ELEMENT 姓名 (#PCDATA)> <!ELEMENT 性别 (#PCDATA)> <!ELEMENT 年龄 (#PCDATA)> <!ATTLIST 学生 学号 (A | A2 | A3) #REQUIRED> ]> <学生名册> <学生 学号="A"> <姓名>张三</姓名> <性别>男</性别> <年龄>20</年龄> </学生> <学生 学号="A2"> <姓名>李四</姓名> <性别>女</性别> <年龄>19</年龄> </学生> <学生 学号="A3"> <姓名>王二</姓名> <性别>男</性别> <年龄>21</年龄> </学生> </学生名册>
<?xml version="1.0" encoding="GB2312"?> <!DOCTYPE NEWSPAPER[ <!ELEMENT NEWSPAPER (ARTICLE+)> <!ELEMENT ARTICLE (HEADLINE,BYLINE,LEAD,BODY,NOTES)> <!ELEMENT HEADLINE (#PCDATA)> <!ELEMENT BYLINE (#PCDATA)> <!ELEMENT LEAD (#PCDATA)> <!ELEMENT BODY (#PCDATA)> <!ELEMENT NOTES (#PCDATA)> <!ATTLIST ARTICLE AUTHOR CDATA #REQUIRED> <!ATTLIST ARTICLE EDITOR CDATA #IMPLIED> <!ATTLIST ARTICLE DATE CDATA #IMPLIED> <!ATTLIST ARTICLE EDITION CDATA #IMPLIED> <!ENTITY NEWSPAPER "Vrevet Logic Times"> <!ENTITY PUBLISHRE "Vervet Logic Press"> <!ENTITY COPYRIGHT "Copyright 1998 Vervet Logic Press"> ]> <NEWSPAPER> <ARTICLE AUTHOR="必须写" EDITOR="可有可无" DATE="可有可无" EDITION="可有可无"> <HEADLINE>123</HEADLINE> <BYLINE>123</BYLINE> <LEAD>123</LEAD> <BODY>123</BODY> <NOTES>©RIGHT;</NOTES> </ARTICLE> <ARTICLE AUTHOR="pshd1" EDITOR="可有可无" DATE="2017-10-11" EDITION="1.0"> <HEADLINE>xml实验四</HEADLINE> <BYLINE>123</BYLINE> <LEAD>前言1</LEAD> <BODY>hello</BODY> <NOTES>&PUBLISHRE;</NOTES> </ARTICLE> <ARTICLE AUTHOR="pshd2" EDITOR="可有可无" DATE="2017-10-12" EDITION="1.0"> <HEADLINE>world</HEADLINE> <BYLINE>123</BYLINE> <LEAD>123</LEAD> <BODY>123</BODY> <NOTES>&NEWSPAPER;</NOTES> </ARTICLE> </NEWSPAPER>
注意问题:
xml文件--->DTD/schema文件的自动转换问题
DTD/schema文件-->xml文件的自动转换问题
xml文件和DTD内定义和外部引入问题
实体自定义和xml文件联系DTD文件的有效性问题
相关文章推荐
- DTD文档的结构---3.3.1: 验证XML文档的有效性
- xml基于Schema的XML文档有效性验证
- .net下用dtd文档验证xml
- DTD验证XML文档
- 使用DTD验证XML文档
- python对XML文档的良构性和有效性验证
- XML第五讲:使用DTD验证XML有效性深入剖析
- 如何用 Visual C#.net 中的 DTD、 XDR,或 XSD 验证 XML 文档
- PHP DOM验证xml文档是否符合DTD验证
- 从Xml文档内部引用Xml Schema验证
- 高级 XML 验证-使用 XSLT 和 Java 扩展验证 XML 文档中的复杂约束
- XML约束文档DTD
- SUMO文档016:XML文件验证
- 基于SOAP的XML文档网络传输及远程过程调用
- 如何为MyEclipse添加XML文档所使用的DTD
- 分析DTD文档,写XML实例(简单;自我讲解)
- xml基础、DTD验证、Schema验证(备忘)
- JAVA解析XML,DTD验证问题
- 基于jdom实现xml的schema验证
- XML之 ------ DTD(文档类型定义)