微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

XML DTD详解

 一个有效的XML文档必然是结构正规的,结构正规的XML文档不一定是有效的,即有效的是格式正规的一个子集。

  本文详细介绍DTD,包括其对元素的定义,属性的定义,以及实体的定义。

元素的定义

DTD中的修饰符号:

  这部分符号可以联系正则表达式的符号来记忆。

属性的定义

属性类型——CDATA

  比如:

<!ATTLIST title name CDATA #required>

  定义了一个属性,是属于title元素的,属性名叫name,类型是字符串(包括数字和中文),并且是一个必须要有的属性

属性类型——NMTOKEN/NMTOKENS

  左边图中因为加了空格而出错。

属性类型——ID

  类型为ID的属性取值必须是唯一的。

  从这个例子还可以看到一个元素可以一次定义多个属性,多个属性之间用空格分隔即可。

属性类型——IDREF/IDREFS

                                        (“儿子”后面漏掉了一个斜线)

属性类型——Enumerated

  实现定义好一些值,属性的值必须在所列出的值的范围内。

属性的特点

#required

  元素的所有实例都必须有该属性的值(NOT NULL)。

  语法:

ATTLIST 元素名 属性属性类型 #required   DTD示例:

ATTLIST person number CDATA #required   XML示例:

<person number="6788"/>

#IMPLIED

  元素的实例中可以忽略该属性(NULL)。

ATTLIST 元素名 属性属性类型 #IMPLIEDATTLIST contact fax CDATA #IMPLIEDcontact fax="888-228833"   没有这个属性也是对的。

#FIXED value

  元素实例中该属性的值必须为指定的固定值。

ATTLIST 元素名 属性属性类型 #FIXED "value"ATTLIST sender company CDATA #FIXED "Microsoft"sender company="Microsoft"Default value

  为属性提供一个认的值。

ATTLIST 元素名 属性属性类型 "value"ATTLIST hello paymenttype CDATA "check"hello paymenttype="check"定义实体

一般

ENTITY 实体名 "实体值"ENTITY writer "Donald Duck"> ENTITY copyright "copyright W3Schools"author>&writer;&copyright;</外部实体:

ENTITY 实体名 SYstem "URI/URL"ENTITY writer SYstem "http://www.baidu.com/index.PHP?tn=coralqq"ENTITY copyright SYstem "http://www.baidu.com/index.PHP?tn=coralqq"   与上面的区别就是加上SYstem关键字。

  这样就不是使用网址的字符串来代替,而是用网址的文档本身内容

实体类

  前面所讲的都是普通实体,分为内部实体和外部实体。

  所谓参数实体,该实体实际上不是在具体实例化文档中使用,而是在DTD文档内部被使用。

  我们可以定义一个实体,然后在DTD内部来引用它。

  如下:

ENTITY %地址 "街道,城市,邮编,国家"ELEMENT 联系人 (人名,电话,%地址;)   

总结如下:

  普通实体:DTD中定义,XML中使用,使用格式:&名;

参数实体:DTD中定义,定义的时候要用%,DTD中使用,使用格式:%名;

  普通实体和参数实体都分为内部实体外部实体两种,外部实体定义需要加上SYstem关键字,其内容是URL所指向的外部文件实际的内容

  如果不加SYstem关键字,则为内部实体,表示实体指代内容为字符串。

参考资料

  圣思园张龙老师视频教程。

文章出处:http://www.cnblogs.com/mengdd/archive/2013/05/30/3107361.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类