1 #PCDATA (Parsed Character Data),可解析的字符数据。
DTD文档与XML文档是类与对象的关系
DTD是抽象的定义
XML是具体的内容
第一种 内部DTD文档
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE student[ <!ELEMENT student (id,name,score)> <!ELEMENT id (#PCDATA)> <!ELEMENT name (#PCDATA)> <!ELEMENT score (#PCDATA)> ]> <student> <id>1</id> <name>sx</name> <score>100</score> </student>第二种 外部DTD文档 便于DTD文档复用
<?xml version="1.0" encoding="UTF-8"?> <!ELEMENT student (id, name, score)> <!ELEMENT id (#PCDATA)> <!ELEMENT name (#PCDATA)> <!ELEMENT score (#PCDATA)>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE student SYSTEM "myfirst.dtd"> <student> <id>1</id> <name>sx</name> <score>100</score> </student>
dtd中ELEMENT元素的类型有 EMPTY、ANY、#PCDATA等
(1)EMPTY类型规定了元素不能有值但可以有属性,不能包括文本。
(2)ANY类型则规定一个元素下面可以包括子元素,文本,属性。将根元素设置为ANY后 子元素出现的次数和顺序将不受限制。
(3)#PCDATA则规定元素下面不能包括子元素,且元素的值是字符串。
4 属性的定义
属性类型
(1)CDATA 字符创
(2)NMTOKEN CDATA的一个子集 ,表示属性值必须是英文字母,数字,句号,破折号,下划线或冒号,属性值不能有空格
(3)ID 表示属性值是唯一的
(4)IDREF 指向文档中其他地方声明的ID类型的值
属性特点
(1)#REQUIRED 必须有的属性值
(2)#IMPLIED可选的,可有可无
(3)#FIXED value 属性值必须为指定的固定值,value
(4)#Default value 为属性提供一个默认值
2关于普通实体与参数实体
1) 普通实体是在dtd中定义,xml中使用,使用的时候格式为:&address;<!ENTITY % address SYSTEM “http://www.shengsiyuan.com/xml.xml”>,使用的时候:%address;
命名空间
避免重名
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE 学生名册 SYSTEM "dtd1.dtd"> <S:学生名册 xmlns:S="http://www.dldd.com"> <学生 学号="t1"> <姓名>张三</姓名> <性别>男</性别> <年龄>20</年龄> </学生> <学生 学号="t2"> <姓名>李四</姓名> <性别>女</性别> <年龄>19</年龄> </学生> <学生 学号="t3"> <姓名>王二</姓名> <性别>男</性别> <年龄>21</年龄> </学生> </S:学生名册>