什么是约束?
约束是用来限定xml文件中可使用的标签以及属性。
也就是告诉程序员,xml该怎么写。
约束分为DTD约束和Schema约束
DTD语法规则
复杂元素也就是有子元素的元素。
简单元素则是没有子元素的元素
属性的定义
引入DTD约束的三种方法
1.引入本地dtd
<!DOCTYPE 根元素名称 SYSTEM ‘DTD文件的路径'>
student dtd约束:
<!ELEMENT students (student,student)> //有两个student子元素,所以就写两个 <!ELEMENT student (name,age,info)> <!ELEMENT name (#PCDATA)> <!ELEMENT age (#PCDATA)> <!ELEMENT info (#PCDATA)>
xtm文件:
<?xml version="1.0" encoding="UTF-8" ?> //引入dtd文件进行约束 <!DOCTYPE students SYSTEM 'studentDtd.dtd'> <!--注释的内容--> <students> <student > <name>张三</name> <age>23</age> <info>学生的<>信息</info> </student> <student > <name>李四</name> <age>22</age> <!-- CDATA里面的内容会被当成普通文本--> <info>学生的<![CDATA[<>]]>信息</info> </student> </students>
<!DOCTYPE students SYSTEM 'studentDtd.dtd'>
2.在xml文件内部引入
在!DOCTYPE标签内部直接写约束dtd
格式:<!DOCTYPE 根元素名称 [ dtd文件内容 ]>
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE students [ <!ELEMENT students (student,student)> <!ELEMENT student (name,age,info)> <!ELEMENT name (#PCDATA)> <!ELEMENT age (#PCDATA)> <!ELEMENT info (#PCDATA)> ]> <!--注释的内容--> <students> <student > <name>张三</name> <age>23</age> <info>学生的<>信息</info> </student> <student > <name>李四</name> <age>22</age> <!-- CDATA里面的内容会被当成普通文本--> <info>学生的<![CDATA[<>]]>信息</info> </student> </students>
3.引入网络dtd
格式:
<!DOCTYPE 根元素的名称 PUBLIC "DTD文件名称" "DTD文档的URL">