有且只有一个根元素,XML标签大小写正确区分,正确使用结束标签,正确嵌套标签,使用了合法的标签名,定义有效的属性。
语法: <!ELEMENT 元素名 约束>
简单元素 :没有子元素的元素
<!ELEMENT 元素名 (#PCDATA)>
元素名 (#PCDATA):约束name是字符串
元素名 EMPTY : 元素为空
元素名 ANY: 任意
复杂元素 :
<!ELEMENT 元素名称 (子元素名称 1,子元素名称 2,.....)>当子元素按照由逗号分隔开的序列进行声明时,这些子元素必须按照相同的顺序出现在文档中。在一个完整的声明中,子元素也必须被声明,同时子元素也可拥有子元素。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE perdson [ <!ELEMENT persons (person*)> <!ELEMENT person (name,age,contact,br?)> <!ELEMENT name (#PCDATA)> <!ELEMENT age (#PCDATA)> <!ELEMENT contact (phone|email)> <!ELEMENT br EMPTY> <!ELEMENT phone (#PCDATA)> <!ELEMENT email (#PCDATA)> ]> <persons> <person> <name>张小明</name> <age>10</age> <contact> <phone>1234567</phone> </contact> <br/> </person> <person> <name>张大明</name> <age>35</age> <contact> <email>123@qq.com</email> </contact> </person> </persons>当要控制子元素出现的次数时,可以在子元素名称后加+号(1~N次)或*(0-N次)或?(0-1次)。
语法:<!ATTLIST 元素名称 属性名称 属性类型 属性的约束>
<!ATTLIST person pid ID #REQUIRED sex (男|女) '男' qq CDATA #IMPLIED parent IDREF #IMPLIED >&(逻辑与) & <(小于) < (大于) > “”(双引号) " ‘’(单引号) &apos
