XML第五讲:使用DTD验证XML有效性深入剖析

来源:互联网 发布:好的数据圈网站 编辑:程序博客网 时间:2024/06/04 23:27

    上一讲我们讲解了DTD中属性的一些相关用法,这一讲我们就行来讲解一下属性的另外一些用法

1. 定义实体

定义实体---内部实体

定义实体---外部实体  (用的非常少)


注意是SYSTEM是大写的。用外部xml的网址来引用如果不写system就直接用网址本身来代替了它与内部实体之间的区别如下所示:

<!ENTITY a "http://www.ahuier.com/xml.xml">
<!ENTITY a SYSTEM "http://www.ahuier.com/xml.xml">

2. 实体类型



普通实体的实例


外部实体  (用的也是比较少的)



参数实体参数实体是在DTD内部使用的


所以区分普通实体和参数实体,主要是看在哪里使用,如果在XML中使用的就是普通实体,如果在DTD中使用就是参数实体。一个是&符号,一个是%号。

关于普通实体与参数实体的总结
1)普通实体是在dtd中定义,xml中使用,使用的时候格式为:&address;
2)参数实体是在dtd中定义,dtd中使用,定义的时候使用%,使用的时候也需要使用%, %address;
3)外部普通实体的定义方式是:

<!ENTITY address SYSTEM “http://www.shengsiyuan.com/xml.xml”> 表示使用http://www.shengsiyuan.com/xml.xml网址的内容来替换掉address,而不是使用http://www.shengsiyuan.com/xml.xml字符串本身来替换掉address

4)外部参数实体:

<!ENTITY % address SYSTEM “http://www.shengsiyuan.com/xml.xml”>,使用的时候:%address;

作业1:分析完整的DTD文档,写出XML实例

DTD文档如下图

后续会给出相关的答案。

如何通过DTD来分析出XML文档,这个非常重要的。
DTD的用处:比如在Web开发中的输入校验的功能,这个输入校验,它里面有很多元素,这些元素里面的嵌套关系是什么样子的,那个输入校验本身是用XML来写,本身是由DTD对齐进行校验。


作业2.分析xml实例,写DTD文档


答案后续课程会给出。

现在已经讲解完DTD的所有内容了。