XML语法以及约束
1.文档声明:声明XML文档的类型(<?xml version="1.0" encoding="UTF-8"?>)
2.标签(元素)
文件有且仅有一个根标签,其他标签都必须封装在根标签中
非空标签必须有“开始标签”和“结束标签”组成,空标签没有开始标签
XML全体标签必须形成树形,即标签不允许交叉
2.1 命名规范
严格区分大小写
不能以数字、下划线、XML等开头
不能包含空格
名字中间不能包含:
3.属性
3.1一个标签可以允许有多个属性
3.2属性值一定要用“或者”引起来
4.注释
4.1格式:
(快捷键:Shift+Ctrl+/)
4.2文档声明之前不能有注释
4.3注释不能嵌套
5.如何使用DTD
5.1 在XML中加入DTD申明
内部申明:<! DOCTYPE root[]>
外部申明:<!DOCTYPE 文档根节点 SYSTEM “DTD文件名”>
5.2 元素定义语法(DTD对元素的限制)
基本语法:<! ELEMENT 元素名称 元素类型 >
元素分类:EMPTY 空元素
(#PCDATA) 文本元素
(e1,e2) 混合元素
元素限制:
,(顺序)
|(或,多选一)
?(0或1次)
*(0次或多次)
+(1次或多次)
5.3 属性定义语法(DTD对属性的限制)
基本语法:<!ATTLIST 元素名称 属性名称 属性类型 设置说明>
属性类型:ID/CDATA/ENUM (男|女)
设置说明:#REQUIRED(必须)/#IMPLIED(可选)
实例代码:
<!DOCTYPE persons[
<!ELEMENT persons (person+)>
<!ELEMENT person (name,age,contact,br*)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT contact (phone|mail)>
<!ELEMENT br EMPTY>
<!ELEMENT phone (#PCDATA)>
<!ELEMENT mail (#PCDATA)>
<!ATTLIST person pid ID #REQUIRED
paddr CDATA #IMPLIED
psex (男|女) #IMPLIED>
<persons>
<person pid="p01" paddr="123" psex="男">
<name>张三</name>
<age>22</age>
<contact>
<phone>15882821111</phone>
</contact>
<br/>
</person>
<person pid="p02">
<name>李四</name>
<age>23</age>
<contact>
<mail>123@qq.com</mail>
</contact>
</person>
</persons>
]>
5.4 特殊符号转义
&(逻辑与) --> &
>(大于) --> >
<(小于) --> <
‘(单引号) --> '
“(双引号) --> "