一、XML的作用
1、XML被设计的宗旨是描述数据,而非显示数据
二、XML的语法
1、声明
必须出现在文档的第一行。
XML声明之前不能有注释
最简单的声明语法:<?xml version="1.0"?>
属性:encoding:指定编码。若不指定该属性,默认值为UTF-8
保存文件时(到磁盘上)的编码要与声明的编码保持一致。
standalone:yes|no指示该xml文档是否是独立的
2、元素:
必须包含结束标签。
每一个xml文档必须且只有一个根标签
XML中不会忽略主体内容中出现的空格和换行
3、属性:
属性的取值必须使用引号(单引号或双引号)引起来
4、CDATA区:
作用:把标签当做普通文本内容
语法:<![CDATA[内容]]>
三、DTD的语法
1、格式良好的XML:遵循XML语法的XML
2、有效的XML:遵循约束文档的XML
有效的XML文档一定是格式良好的。但格式良好的不一定是有效的。
3、DTD:(Document Type Definition)文档类型定义
作用:约束XML的书写规范(元素、属性及顺序)
注:DTD文档必须使用UTF-8编码进行保存
4、在xml文档中引入DTD约束
DTD在本地:
<!DOCTYPE 根元素名 SYSTEM "dtd路径">
DTD在网上:
<!DOCTYPE 根元素名 PUBLIC "dtd名称" "dtd的url">
5、DTD语法细节
定义元素:
ELEMENT
语法:<!ELEMENT 元素名称 使用规则>
使用规则:
(#PCDATA):指示元素的主体内容只能是普通的文本
EMPTY:用于指示元素的主体为空
ANY:用于指示元素的主体内容为任意类型
(子元素):指示包含的子元素
说明:
如果各子元素用逗号分隔,说明必须按照顺序出现
如果各子元素用“|”分隔,说明任选其一
用+、*、?来表示元素出现的次数
如果元素后面没有+*?:表示必须且只能出现一次
+:表示至少出现一次,一次或多次
*:表示可有可无,零次、一次或多次
?:表示可以有也可以无,有的话只能有一次。零次或一次
定义属性:
ATTLIST
语法:<!ATTLIST 元素名
属性名1 属性值类型 设置说明
属性名2 属性值类型 设置说明
…
>
属性值类型:
CDATA:表示属性的取值为普通的文本字符串
枚举:(枚举值1|枚举值2)
ID:表示属性的取值不能重复
设置说明:
#REQUIRED:说明该属性是必须的
#IMPLIED:说明该属性是可有可无的
直接值:表示属性的取值为该默认值
#FIXED:表示属性的取值为一个固定值。语法:#FIXED "固定值"
定义实体:
ENTITY
引用实体:
概念:在DTD中定义,在XML中使用
语法:<!ENTITY 实体名称 “实体内容”>
引用方式(注意是在XML中使用):&实体名称;
参数实体:
概念:在DTD中定义,在DTD中使用
语法:<!ENTITY % 实体名称 “实体内容”>
引用方式(注意是在DTD中使用):%实体名称;