XML:eXtensible Markup Language 可扩展标记语言,是一种用于标记电子文件使其具有结构性的标记语言。
什么是可扩展性标记语言?
-
可扩展标记语言是一种很像超文本标记语言的标记语言。
-
它的设计宗旨是传输数据,而不是显示数据。
-
它的标签没有被预定义。您需要自行定义标签。
-
它被设计为具有自我描述性。
-
它是W3C的推荐标准。
1.在每个XML的开始处都要有文档声明:<?xml version="1.0" encoding="UTF-8"?>
2.标签(元素):
2.1 文件有且只有一个根标签,其他标签都必须封装在根标签中。
2.2 非空标签必须由“开始标签”和“结束标签”组成,空标签没有“开始标签”和“结束标签”。
2.3 xml全体标签必须形成树形,即标签不允许交叉。
2.4 命名规范:
2.4.1 严格区分大小写
2.4.2 不能以数字、下划线、XML等开头
2.4.3 不能包含空格
2.4.4 名字中间不能包含“冒号”
3.属性:
3.1 一个标签可以允许有多个属性
3.2 属性值一定要在单引号或者双引号里
4.注释:
4.1 格式 —— <!-- 注释内容 -->
4.2 文档声明之前一定不要有注释
4.3 注释不能嵌套
特殊字符
< <
> >
' '
" "
& &
XML约束
1. XML约束:就是用另一个文档来约束XML文档的书写规范
2. 约束技术有两种,一种是XML DTD ,一种是XML Schema
3. DTD:Document Type Definition 文档类型定义
4.引入DTD文件的方式:
4.1 本地:<!DOCTYPE 文档根节点 SYSTEM "dtd文件名">
4.2 公共:<!DOCTYPE 文档根节点 PUBLIC "dtd文件名" "dtd文件的路径">
DTD语法
1. 元素ELEMENT
1.1 格式 —— <!ELEMENT 元素名称 元素类型>
1.2 元素类型:
1.2.1 EMPTY:表示定义空元素
1.2.2 ANY:表示元素内容为任意类型
1.2.3 也可以写元素内容
1.3 元素内容:
1.3.1 用逗号隔开:表示内容的出现顺序必须与声明时一致
1.3.2 用"|"隔开:表示任选其一,即多个只能选择一个
1.3.3 出现次数:
1.3.3.1 +:一次或多次
1.3.3.2 ?:0次或一次
1.3.3.3 *:0次或多次
2.属性ATTLIST
2.1 格式:<!ATTLIST 元素名 属性名1 属性值类型 设置说明>
2.2 属性值类型
2.2.1 CDATA:普通文本字符串
2.2.2 ENUMERATED:枚举
2.2.3 ID (唯一) 不能以数字开头
2.2.4 ENTITY
2.3 设置说明
2.3.1 #REQUIRED 必须
2.3.2 #IMPLIED 可选
2.3.3 #FIXED 该属性的值是固定的,不能在XML中修改,但是必须设置这个属性
3.实体ENTITY
3.1 格式:<!ENTITY>
3.2 为内容起别名
3.3 类型
3.3.1 引用实体(XML引用)
3.3.1.1 格式:<!ENTITY 实体名称 "实体内容">
3.3.1.2 引用:&实体名称
3.3.2 参数实体(DTD引用)
3.3.2.1 格式:<!ENTITY % 实体名称 "实体内容">
3.3.2.2 引用:%实体名称
XML实例:
DTD实例: