DTD:是xml的限制约束
第一张图是今天需要使用到一个的代码模板图
元素定义:
第一:分界符
<!DOCTYPE root[]> 表示一个分界符 表示包含在这个区域里面的都是我自己定义的dtd文件,root表示根目录,在我的代码中的根目录在第一张图中的persons.所以代码的表示为<!DOCTYPE persons[]>.
第二:进行元素的分类
<!ELEMENT element-name EMPTY>空元素 空元素是指没有内容也没有其他节点
<!ELEMENT element-name (#PCDATA)>文本元素 文本元素指的是在标签中含有内容的 例如代码中的 name,age等
<!ELEMENT element-name (e1,e2)>混合元素 混合元素是指节点下面还有节点的 例如:contact
第三:次数限制
0或1:?
0~n:*
1~n:+
与 (,)
非 (|)
如果在persons下面加入别的标签,代码会报错,因为persons下面只有person标签,所以不能随便加入。
定义属性:
第一:属性的语法分析
<!ATTLIST element-name att_name type desc>
element-name 标签/属性的名称
att_name 属性的名称
type 类型
desc 描述
第二:属性类型
① ID
② (男|女) 男或者女
③ CDATA 文本
④ IDREF 引用其他的id账号
⑤ reference 引用
第三:属性描述
#REQUIRED 必填
#IMPLIED 非必填
默认值:类型为(男|女)时 默认值'男' 这个的默认值为男
例如: