闲聊DTD语法(二)

DTD语法

1.元素

<!ELEMNT 元素名称 元素的约束>

(1)元素约束存放的类型:ANY/EMPTY
(2)元素约束:子元素的列表,将可以包含的子元素用小括号括起来
(3)子元素之间可以使用逗号进行分割,表明子元素必须按照顺序出现
(4)子元素之间可以使用竖线进行分割,表面子元素出现其中之一

PCDATA 表明包含标签体

+ 表示一次或多次
* 0次或多次
? 0次或一次
我们也可以使用小括号进行组的操作

2.属性

<!ATTLIST 元素名 
            属性名 属性类型 属性约束
            属性名2 属性类型  属性约束
            ......
    >

(1)属性类型

CDATA:表示属性的值是一个普通字符串
        ENUMERATED : 属性的值是一个枚举列表中的值
        ID: 表明属性的值必须在整个文档中都是唯一的,如果有重复的id则校验不通过,ID 属性的值只能由字母,下划线开始,不能使用数字,不能出现空白字符

(2)属性约束

#REQUIRED  --- 表明当前属性是一个必须存在的属性,如果这样的属性不存在则在校验时会报错
        #IMPLIED --- 表明当前属性是一个可选的属性,可以有也可以没有
        #FIXED '固定值' --- 表明当前属性具有一个固定值,这样的属性不需要进行赋值,自动就会取这个固定值为值.如果这样的属性指定了一个不是固定值的值则校验报错
        '默认值'  --- 表明当前属性具有一个默认值,如果给了其他的值就用其他值,如果没有给值则取这个默认值

(3)ENTITY(实体)

<!ENTITY >,就是对一大段内容的引用,可以简化代码的复用

        引用实体:在xml中引用的实体叫做引用实体
            <!ENTITY 实体名称 “实体内容” >
            &实体名称;

        参数实体:在dtd中引用的实体叫做参数实体
            <!ENTITY % 实体名称 "实体内容">
            %实体名称;

你可能感兴趣的:(xml,dtd)