web学习-XML基础

一 XML语法
1 文档声明
一个完整的XML文档中,必须包含一个XML文档的声明,并且声明位于第一行
<? xml 版本信息[编码信息][文档独立信息]?>
1.1 版本信息
解析器对不同版本的XML文档的解析方式不同,文档声明是,必须知道版本信息
如:<?xml version="1.0"?>
1.2 文档编码声明
即指定文档所使用的的编码方式,默认情况下采用UTF-8编码
如:<?xml v ="1.0" encoding="gb2312"?>
1.3 独立文档声明
文档不依赖外部文档,在XML声明中,可以通过standalone="yes"声明;
默认情况下,standalone为no,即文档依赖外部文档;

2.元素定义
在XML文档中,主体内容都市由元素(ELement)组成,元素一般由开始标记、属性
元素内容组成。
元素的名称可以包含字母、数字以及一些可见的字符,遵循以下的规范:
(1)区分大小写;
(2)元素名称中,不能包含空格、冒号、分号、逗号和尖括,元素不能以数字开头;
(3)建议不使用'-';
(4)建议不使用减号'-',而是用下划线'_'代替;
(5)建议名称不使用"xml"作为开头;
(6)建议名称的大小尽量采用统一标准。

3 属性定义
XML文档中,可以为元素定义属性,进而对元素进行进一步的描述和说明。

4 注释
语法格式:<!--注释信息-->,且遵循以下规范
(1)注释不能出现在XML之前;
(2)注释不能出现在标记中;
(3)字符串"--"不能在注释中出现;
(4)XML文档中,不允许以"->"结尾;
(5)注释不能嵌套使用;

5 特殊字符处理
特殊字符 预定义实体 特殊字符 预定义实体
& &amp; " &quot;
< &It; ' &apos;
> &gt;

6 CDATA区
CDATA:Character Data,字符数据,指不想被程序解析的一段原始数据;
语法格式: <![cdata[ ]]>

二 DTD语法

1 简介
DTD约束是XML约束模式语言,可以包含元素的定义、元素之间的定义、元素属性
的定义以及实体和符号的定义。
使用DTD文件约束XML文档,必须在XML文档中引入DTD文件,有以下两方式。
1)<!DOCTYPE 根元素名称 SYSTEM "尾部文件的URI"> //引入本地的DTD文件
2)<!DOCTYPE 根元素名称 PUNLIC "DTD名称" "尾部文件的URI"> //引入公共的DTD文件

2 元素定义
DTD定义中,DTD语法格式为:
<!ELEMENT 元素名称 元素内容>
(1)#PCDDATA:表示元素中嵌套的内容是普通文本字符串;
(2)子元素:说明元素包含的元素,通常用一对圆括号()将元素中要嵌套的一组子元素括起来;
(3)混合内容:表示元素既可以包含字符数组,也可以包含子元素;
(4)EMPTY:表示该元素是一个空元素;
(5)ANY:表示该元素可以包含任何形式的内容;
(6)相关符号的定义:
问号?:表示该对象可以出现0次或1次;
星号*:表示该对象可以出现0次或多次;
加号+:表示该对象可以出现0次或多次;
竖线|:表示在列出的对象中选择1个;
逗号,:表示对象必须按照指定的顺序出现;
括号():用于给元素分组。

3 属性定义
DTD文档中,定义元素的同时,还可以为定义元素属性,其语法格式为:
<!ATTLIST 元素名
属性名1 属性类型 设置说明
属性名2 属性类型 设置说明
...
>
3.1 设置说明——用来说明该属性是否必须出现
(1)#REQUIRED:表示元素是必须的;
(2)#IMPLIED:表示元素可以包含该属性,也可以不包含该属性;
(3)#FIXED:表示一个固定的默认属性值,在XML文档中不能将该属性值设置为其他值;
(4)默认值;表示一个固定的默认属性值,在XML文档中能将该属性值设置为其他值;
3.2 属性类型——用来指定该属性属于那种类型
(1)CDATA:表示属性类型是自发数据;
(2)Enumerated:枚举类型,限制属性的取值只能从一个列表中选择;
(3)ID:一个ID类型的属性用于唯一标识XML文档中一个元素;
(4)IDREF和IDREFS:;属性值必须为一个已经存在的ID类型的属性值;
(5)NMTOKEN和NMTOKENS:NMTOKEN表示由一个或多个字母、数字、句点、连字号、下划线组
成的一个名称;NMTOKENS关键字表示一种列表类型。一个元素的NMOTKENS类型的属性可以是同一个
XML文件中的另外多个NMTOKEN类型的属性的设置值,每个NMTOKEN属性值之间用空格分隔。
(6)NOTATION:引入无法用XML格式组织的数据,如图像、声音、影像。
第一种情况:<!NOTATION 符号名 SYSTEM "MINE"类型>
第二种情况:<!NOTATION 符号名 SYSTEM "URL"路径名>

4 实体定义——多个文档重复调用同样的内容,为了避免重复,可以定义实体
1)引用实体
引用实体的语法格式有两种:
<!ENTITY 实体名称 "实体内容">
<!ENTITY 实体名称 SYSTEM "外部XML文档的URL">
实体的引用方式为:
& 实体名称;
2)参考实体
参考实体只能被DTD文件自身使用,它的语法格式为:
<!ENTITY % 实体名称 "实体内容">
参考实体的引用方式为:
%实体名称;

原文地址:https://www.cnblogs.com/tianliang94/p/10923848.html