第六堂课(DTD&自学Schema)
一、什么是格式良好XML
1.有且只有一个根元素
例如:
2.XML标签大小写"正确"区分(HTML中是不区分大小写)
3.正确使用结束标签
例如:
4.正确嵌套标签
5.使用了合法的标签名(A-Za-z0-9_-)
6.定义有效的属性(属性值必须要用单引号或双引号引起来)
例如:
二、DTD和Schema是用来校验XML的
三、什么是有效的XML?
1.格式良好
2.必须是通过DTD和Schema的验证(校验)
四、在XML加入DTD声明
语法:
1.root指的是根元素
例如:
<!DOCTYPE persons[]>
五、元素定义的语法:<!ELEMENT element-name (type)>(需要写到DTD中)
理解:
1.ELEMENT:元素
2.element-name:元素(标签)的名称
3.type:元素的类型
例如:
六、元素的分类:
1.<!ELEMENT element-name EMPTY>:空元素
2.<!ELEMENT element-name (#PCDATA)>:文本元素(标签与标签中有文字时就是文本元素)
3.<!ELEMENT element-name (e1,e2)>:混合元素(需要使用元素的限制,e1,e2代表有几个儿子就写几个标签)
例如:
七、混合元素的限制:
1. ,隔开表示顺序
2. | 表示或者
3.次数:
1. +代表的是1~n次
2. *代表的是0~n次
3. ?代表的是0次或1次
4. 没有写就默认代表1次
八、属性定义的语法<!ATTLIST element-name att_name type>
理解:
1.ATTLIST :链表
2.element-name:元素名称
3.att_name:属性名称(可以有多个)
4.type:属性的类型(可以有多个)
(属性的类型)1.ID:主键(特点:类似于数据库中的主键,是唯一的)
2.(男|女) “男”:枚举或者是默认
3.CDATA:普通文本
4.IDREF:外键(类似于数据库中的外键)
5.#REQUIRED:非空(必填项),不为空
6.#IMPLIED:允许空
例如:
九、XML中的特殊符号
1.&(逻辑与) &
2.<(小于) <
3.>(大于) >
4."(双引号) "
5.’(单引号) ’
例如:
十、如何引用外部的DTD?
1.*.dtd
2.SYSTEM:本地的DTD
例如:
3.PUBLIC:互联网上的DTD