目录
XML,Extensible Markup Language,扩展性标识语言。文件的后缀名为:.xml。就像HTML的作用是显示数据,XML的作用是传输和存储数据。
为了便于不同应用、不同平台之间的数据共享和通信。

具体点的作用为:
(1)可作为一种简单的数据库,存储并检索数据;
(2)传输约定格式的文件;
(3)做软件的配置文件。【配置文件:保存软件设置的文件】
<!DOCTYPE root[]>
- <!ELEMENT element-name EMPTY>//空元素
- <!ELEMENT element-name (#PCDATA)>//文本元素
- <!ELEMENT element-name (e1,e2)>//混合元素
0或1次: ?
0~N次: *
1~N次: +
示例:
建立xml约束,首先得分析xml结构。
1、根标签persons有子标签
2、persons有子标签 混合标签(有子标签)
3、person有子标签:name、age、contact、br、混合标签(有子标签)
4、name,age没有子标签 混合标签(有子标签)
5、contact有子标签 混合标签(有子标签)
6、phone没有子标签,有内容,文本标签7、email没有子标签,有内容,文本标签
8、br既没有子标签也没有文本内容 空标签
代码如下:
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE persons[
- <!ELEMENT persons (person+)>
- <!ELEMENT person (name,age,contact,br?)>
- <!ELEMENT name (#PCDATA)>
- <!ELEMENT age (#PCDATA)>
- <!ELEMENT contact (phone|email)>
- <!ELEMENT phone (#PCDATA)>
- <!ELEMENT email (#PCDATA)>
- <!ELEMENT br EMPTY>
- ]>
- <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>
<!ATTLIST element-name att_name type desc>
ID
(男|女)
CDATA(文本)
IDREF(引用)
reference
#REQUIRED:必填
#IMPLIED:非必填
‘默认值’
注意:只有type为 (男|女)类型时,desc才可以用默认的方式
示例
属性约束
pid 属性类型为ID 必填
sex 属性类型为男女的选择 可设置默认值
qq 属性类型为文本 非必填
parent (引用某个id)属性类型为文本 非必填
代码如下:
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE persons[
- <!ELEMENT persons (person+)>
- <!ELEMENT person (name,age,contact,br*)>
- <!ELEMENT name (#PCDATA)>
- <!ELEMENT age (#PCDATA)>
- <!ELEMENT contact (phone|email)>
- <!ELEMENT phone (#PCDATA)>
- <!ELEMENT email (#PCDATA)>
- <!ELEMENT br EMPTY>
- <!ATTLIST person
- pid ID #REQUIRED
- sex (男|女) '男'
- qq CDATA #IMPLIED
- parent IDREF #IMPLIED
- >
- ]>
- <persons>
- <person pid="p1" sex="男" qq="aaa" parent="p2">
- <name>张小明</name>
- <age>10</age>
- <contact>
- <phone>1234567</phone>
- </contact>
- <br/>
- </person>
- <person pid="p2">
- <name>张大明</name>
- <age>35</age>
- <contact>
- <email>123@qq.com</email>
- </contact>
- </person>
- </persons>
当我们不按约束填写时 就会造成报错 如下图

注意:元素名称与属性名称之间要有空格!!!
Window ==> Preferences ==>Validation 然后根据如下图所示勾选(默认是全选),最后应用关闭。注意:设置完成后后重启一下eclipse
