XML DTD 语法详解

来源:互联网 发布:可以买数据的公司 编辑:程序博客网 时间:2024/05/23 21:09

XML DTD 语法详解


例子_BOOk.dtd_

< !ELEMENT book (chapter+)>


DTD 一般的生命格式一般如下:
< !ELEMENT elementname elementtype modifiers>


eg:

< !ELEMENT chapter (chapNum,chapTitle)>
< !ELEMENT chapNum (#PCDATA)>
< !ELEMENT chapTitle (#PCDATA)>


元素的定义

语法: < !ELEMENT< !–关键字–> NAME< !–元素名称–> CONTENT< !–元素类型–>


CONTENT:
EMPTY-该元素不能包含子元素和文本,但可以 有属性-- (空元素)
ANY-该元素可以包含任何在DTD中定义的内容
^^< !–任何数据–>
#PCDATA-可以包含任何字符数据,但是不能在其中包含任何子元素
< !–是XML预定义的标记、其全称是Parsable/Character/DATA,即“可解析字符数据“,意思his里边的数据可以让解析器去解析–>
纯元素类型-只包含子元素,并且这些子元素没有文本
混合类型-包含子元素 和 文本数据混合体


DTD中的修饰符号


符号 | 用途 | 示例 | 示例说明
( ) | 用来给元素分组 | (古龙|金庸|刘骏),(潘素金|汪严龙),谭洲燚 | 分成三组
| |在列出的对象中选择一个 | (男|女) | 表示男人和女人必须出现,两个者必须选择一
+ | 该对象至少出现一次,可以出现多次(1次或者多次) | ( 成员+) |表示成员必须出现,而且可以出现多个成员
* | 该对象允许出现0次到任意多次 | (爱好*) | 爱好可以出现0到多次
? | 该对象可以出现多次,但是只能出现一次(0到1次) | (菜鸟?)| 可以出现,也可以不出现,如果出现,只能出现一次
, | 对象必须按顺序出现 | (西瓜,苹果,香蕉) | 这三个 必须按顺序出现
< !–可以联系 正则表达式 记忆–>


属性的定义


语法

< !ATTLIST 元素名称
属性名称 类型 属性特点
…..
>


类型

CDATA
< !–字符数据类型,不包括(<,>,&,”),如果用的话,需要使用编码方式:&lt,&gt,&amp,&quot–>
ID
< !–用于确定文档中的元素,不可相同–>
IDREF/IDREFS
< !–引入文档中的ID类属性元素/多个该元素–>
NMTOKEN/NMTOKENS
< !–一个有效的XML名称/多个有效的XML名称–>
Enumerated

ENITITY/ENTITIES
< !–代表从外部文件获得的二进制数据/复数形式,用空格分开enitity–>
NOTIATIONS
< !–标记符号–>
NOTIATION
< !–标记符号–>


属性特点

REQUIRED
IMPLIED
FIXED value
Default value


属性类型—CDTA

比如:

属性类型—NMTOKEN/NMTOKENS

· NMTOKEN 是 CDATA 的一个子集,表示属性 必须是英文字母、数字、 句号、破折号、下划线、或者冒号,属性值不能有 空格。
· NMTOKEN 和 NMTOKENs类似,包含多个由空格分割的字符

原创粉丝点击