目录
xml约束
XML约束是另外一个文档约束xml文档的书写规范
HTML:超文本标记语言
XML:可扩展标记语言
XML格式要求(合法XML)
1)有且只有一个根节点;
2)由开始标签和结束标签组成;
3)XML标签区分大小写;
4)正确嵌套标签;
5)使用合法的标签名,不能使用特殊符号;
6)定义有效的属性;
约束技术:DTD Schema
DTD
DTD:文档类型定义 (document type definition)
引入DTD:在XML中加入DTD申明
内部申明:<!DOCTYPE root[]>
外部申明:<!DOCTYPE 文档根节点 SYSTEM(PUBLIC) “DTD文件名”>
DTD语法
元素ELEMENT
格式:<!ELEMENT 元素名称 元素类型 >
类型:EMPTY(表示定义空元素) ANY(表示为任意元素)
内容:1)用逗号隔开:表示内容的出现顺序必须与声明时一致
2) 用 “|”隔开:表示任选其一
3)出现次数:+:1次或多次
?:0次或1次
* :0次或多次
<!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
格式:<!ATTLIST 元素名称 属性名称 属性类型 设置说明>
类型:CDATA(普通文本字符串)ENUMERATED(枚举) ID(唯一) EMTITY
设置说明:#REQURIED(必须) #IMPLIED(可选)
<!DOCTYPE persons[
<!ATTLIST person
pid ID #REQUIRED
sex (男|女) "男"
qq CDATA #IMPLIED
parent IDREF #IMPLIED
>
]>
约束后效果代码:
<persons>
<person pid="p01" sex="男" qq="aaa" parent="p2">
<name>zs</name>
<age>22</age>
<contact>
<phone>15882821111</phone>
</contact>
<br/>
</person>
<person pid="p2">
<name>ls</name>
<age>23</age>
<contact>
<email>123@qq.com</email>
</contact>
</person>
</persons>
特殊符号转义
&(逻辑与) --> &
>(大于) --> >
<(小于) --> <
‘(单引号) --> '
“(双引号) --> "