XML
什么是XML?
XML集SGML与HTML的优点于一身。
XML 指可扩展标记语言(EXtensible Markup Language)
XML 是一种标记语言,很类似 HTML
XML 的设计宗旨是传输数据,而非显示数据
XML 标签没有被预定义。您需要自行定义标签。
XML 被设计为具有自我描述性。
XML 是 W3C 的推荐标准
为什么要学习XML
XML 和 HTML 为不同的目的而设计:
XML 被设计为传输和存储数据,其焦点是数据的内容。
HTML 被设计用来显示数据,其焦点是数据的外观。
HTML 旨在显示信息,而 XML 旨在传输信息
XML语言出现的根本目标在于描述上图那种,在现实生活中经常出现的有关系的数据。
在XML语言中,它允许用户自定义标签。一个标签用于描述一段数据;一个标签可分为开始标签和结束标签,在开始标签和结束标签之间,又可以使用其它标签描述其它数据,以此来实现数据关系的描述。
XML在wab中描述配置文件
XML常见应用
XML技术除用于保存有关系的数据之外,它还经常用作软件配置文件,以描述程序模块之间的关系。
在一个软件系统中,为提高系统的灵活性,它所启动的模块通常由其配置文件决定
XML文档规则
格式不良好(malformed)的xml文档:完全没有遵守xml文的基本规范的xml文档。
格式良好(well-formed)的但无效的xml文档: 遵守xml文的基本规范,但没有使用dtd或schema定义语义约束的xml文档。
有效(valid)的xml文档:遵守xml文的基本规范,并使用dtd或schema定义语义约束,而且也完全遵守了dtd或schema定义语义约束的xml文档
XML语法:
“形式良好”或“结构良好”的 XML 文档拥有正确的语法。
“形式良好”(Well Formed)的 XML 文档会遵守前几章介绍过的 XML 语法规则:
XML 文档必须有根元素
XML 文档必须有关闭标签
XML 标签对大小写敏感
XML 元素必须被正确的嵌套
XML 属性必须加引号
一个XML文件分为以下几个部分:
文档声明:
最简单的声明:
<?xml version=”1.0”>
编码方式:(当文件中有中文时必须标注编码方式)
<?xml version=”1.0” encoding=”utf-8”>
文档是否独立:
<?xml version=”1.0” encoding=”utf-8” standalone=”yes”>
常见错误:
1. <?xml version=1.0 ?>
2. <?xml version=“1.0”?>
3.编码错误
注意:在声明前不能有任何字符
<!DOCTYPE config[约束]>
元素:
1、XML元素指XML文件中出现的标签,一个标签分为开始标签和结束标签,一个标签有如下几种书写形式。
2、一个标签中也可以嵌套若干子标签。但所有标签必须合理的嵌套,绝对不允许交叉嵌套。
3、格式良好的XML文档必须有且仅有一个根标签,其它标签都是这个根标签的子孙标签。
4、对于XML标签中出现的所有空格和换行,XML解析程序都会当作标签内容进行处理。
5、对于XML标签中出现的所有空格和换行,XML解析程序都会当作标签内容进行处理。
非空元素:
<起始标记>数据/<></>(标记也可以既有标记也有数据)<结束标记>
空元素:
<起始标记></结束标记> <标记 属性=“属性值”/>(单标记)
例子:
一个根标记
学生列表
学生1 学生2
学号 姓名 年龄性别 学号 姓名 年龄性别
<?xml version=”1.0” encoding=”utf-8” standalone=”yes”>
<学生列表>
<学生>
<学号>11011225</学号>
<姓名> 张三 </姓名>
<年龄> 19 </年龄>
<班级> 10级Java4班 </班级>
</学生>
<学生>
<学号>11011226</学号>
<姓名> 李四 </姓名>
<年龄> 19 </年龄>
<班级> 10级Java4班 </班级>
</学生>
</学生列表>
命名规范:
一个XML元素可以包含字母、数字以及其他一些可见字符,但必须遵守下面的一些规范:
1. 区分大小写
2. 不能以数字或”_”(下划线)开头
3. 不能以xml开头
4. 不能包含空格
5. 名称中间不能包含冒号
属性:
1、一个标签可以有多个属性,每个属性有它自己的名字和取值
2、属性值一定用双引号或单引号引起来
3、定义属性必须遵守与标签相同的命名规范
4、在XML技术中标签属性所代表的信息,也可以被改成用子元素的形式来描述
注释:
XML文件中的注释采用:<!-注释->格式。
注意:
XML声明之前不能有注释
注释不能嵌套(注释中间不能出现“—”和<!-- -->可以出现标记<></>)
CDATA区 :
在编写XML文件时,有些内容可能不想让解析引擎解析执行,而是当作原始内容处理。
遇到此种情况,可以把这些内容放在CDATA区里,对于CDATA区域内的内容,XML解析程序不会处理,而是直接原封不动的输出
语法:<![CDATA[ 内容 ]]>
<![CDATA[
<csdn>
<br/>
</csdn>
]]>
转义字符:
处理指令:
处理指令,简称PI (processing instruction)。处理指令用来指挥解析引擎如何解析XML文档内容。
例如,在XML文档中可以使用xml-stylesheet指令,通知XML解析引擎,应用css文件显示xml文档内容。 <?xml-stylesheet type="text/css" href="1.css"?>
处理指令必须以“<?”作为开头,以“?>”作为结尾,XML声明语句就是最常见的一种处理指令。
DTD
DTD文件在外部时:
<!DOCTYPE 根标记名 SYSTEM“dtd文件的名字与路径”>
DTD文件在内部时:
<!DOCTYPE 根标记名 [
<ELEMENT >
<ELEMENT >
]>
XML文件使用 DOCTYPE 声明语句来指明它所遵循的DTD文件,DOCTYPE声明语句有两种形式:
当引用的文件在本地时,采用如下方式:
<!DOCTYPE 文档根结点 SYSTEM "DTD文件的URL">
例如: <!DOCTYPE 书架 SYSTEM “book.dtd”>。在xml文件中手写一下。
当引用的文件是一个公共的文件时,采用如下方式:
<!DOCTYPE 文档根结点 PUBLIC "DTD名称" "DTD文件的URL">
例如:<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
DTD约束语法细节:
元素定义:
在DTD文档中使用ELEMENT声明一个XML元素,语法格式如下所示:
<!ELEMENT 元素名称 元素类型>
元素类型可以是元素内容、或类型
如为元素内容:则需要使用()括起来,如
<!ELEMENT 书架 (书名,作者,售价)>
<!ELEMENT 书名 (#PCDATA)>
如为元素类型,则直接书写,DTD规范定义了如下几种类型:
EMPTY:用于定义空元素,例如<br/> <hr/>
ANY:表示元素内容为任意类型。
元素内容中可以使用如下方式,描述内容的组成关系
用逗号分隔,表示内容的出现顺序必须与声明时一致。<!ELEMENT MYFILE (TITLE,AUTHOR,EMAIL)>
用|分隔,表示任选其一,即多个只能出现一个
<!ELEMENT MYFILE (TITLE|AUTHOR|EMAIL)>
在元素内容中也可以使用+、*、?等符号表示元素出现的次数:
+: 一次或多次 (书+)
?: 0次或一次 (书?)
*: 0次或多次 (书*)
也可使用圆括号( )批量设置,例
<!ELEMENT MYFILE ((TITLE*, AUTHOR?, EMAIL)* | COMMENT)>
XML
什么是XML?
XML集SGML与HTML的优点于一身。
XML 指可扩展标记语言(EXtensible Markup Language)
XML 是一种标记语言,很类似 HTML
XML 的设计宗旨是传输数据,而非显示数据
XML 标签没有被预定义。您需要自行定义标签。
XML 被设计为具有自我描述性。
XML 是 W3C 的推荐标准
为什么要学习XML
XML 和 HTML 为不同的目的而设计:
XML 被设计为传输和存储数据,其焦点是数据的内容。
HTML 被设计用来显示数据,其焦点是数据的外观。
HTML 旨在显示信息,而 XML 旨在传输信息
XML语言出现的根本目标在于描述上图那种,在现实生活中经常出现的有关系的数据。
在XML语言中,它允许用户自定义标签。一个标签用于描述一段数据;一个标签可分为开始标签和结束标签,在开始标签和结束标签之间,又可以使用其它标签描述其它数据,以此来实现数据关系的描述。
XML在wab中描述配置文件
XML常见应用
XML技术除用于保存有关系的数据之外,它还经常用作软件配置文件,以描述程序模块之间的关系。
在一个软件系统中,为提高系统的灵活性,它所启动的模块通常由其配置文件决定
XML文档规则
格式不良好(malformed)的xml文档:完全没有遵守xml文的基本规范的xml文档。
格式良好(well-formed)的但无效的xml文档: 遵守xml文的基本规范,但没有使用dtd或schema定义语义约束的xml文档。
有效(valid)的xml文档:遵守xml文的基本规范,并使用dtd或schema定义语义约束,而且也完全遵守了dtd或schema定义语义约束的xml文档
XML语法:
“形式良好”或“结构良好”的 XML 文档拥有正确的语法。
“形式良好”(Well Formed)的 XML 文档会遵守前几章介绍过的 XML 语法规则:
XML 文档必须有根元素
XML 文档必须有关闭标签
XML 标签对大小写敏感
XML 元素必须被正确的嵌套
XML 属性必须加引号
一个XML文件分为以下几个部分:
文档声明:
最简单的声明:
<?xml version=”1.0”>
编码方式:(当文件中有中文时必须标注编码方式)
<?xml version=”1.0” encoding=”utf-8”>
文档是否独立:
<?xml version=”1.0” encoding=”utf-8” standalone=”yes”>
常见错误:
1. <?xml version=1.0 ?>
2. <?xml version=“1.0”?>
3.编码错误
注意:在声明前不能有任何字符
<!DOCTYPE config[约束]>
元素:
1、XML元素指XML文件中出现的标签,一个标签分为开始标签和结束标签,一个标签有如下几种书写形式。
2、一个标签中也可以嵌套若干子标签。但所有标签必须合理的嵌套,绝对不允许交叉嵌套。
3、格式良好的XML文档必须有且仅有一个根标签,其它标签都是这个根标签的子孙标签。
4、对于XML标签中出现的所有空格和换行,XML解析程序都会当作标签内容进行处理。
5、对于XML标签中出现的所有空格和换行,XML解析程序都会当作标签内容进行处理。
非空元素:
<起始标记>数据/<></>(标记也可以既有标记也有数据)<结束标记>
空元素:
<起始标记></结束标记> <标记 属性=“属性值”/>(单标记)
例子:
一个根标记
学生列表
学生1 学生2
学号 姓名 年龄性别 学号 姓名 年龄性别
<?xml version=”1.0” encoding=”utf-8” standalone=”yes”>
<学生列表>
<学生>
<学号>11011225</学号>
<姓名> 张三 </姓名>
<年龄> 19 </年龄>
<班级> 10级Java4班 </班级>
</学生>
<学生>
<学号>11011226</学号>
<姓名> 李四 </姓名>
<年龄> 19 </年龄>
<班级> 10级Java4班 </班级>
</学生>
</学生列表>
命名规范:
一个XML元素可以包含字母、数字以及其他一些可见字符,但必须遵守下面的一些规范:
1. 区分大小写
2. 不能以数字或”_”(下划线)开头
3. 不能以xml开头
4. 不能包含空格
5. 名称中间不能包含冒号
属性:
1、一个标签可以有多个属性,每个属性有它自己的名字和取值
2、属性值一定用双引号或单引号引起来
3、定义属性必须遵守与标签相同的命名规范
4、在XML技术中标签属性所代表的信息,也可以被改成用子元素的形式来描述
注释:
XML文件中的注释采用:<!-注释->格式。
注意:
XML声明之前不能有注释
注释不能嵌套(注释中间不能出现“—”和<!-- -->可以出现标记<></>)
CDATA区 :
在编写XML文件时,有些内容可能不想让解析引擎解析执行,而是当作原始内容处理。
遇到此种情况,可以把这些内容放在CDATA区里,对于CDATA区域内的内容,XML解析程序不会处理,而是直接原封不动的输出
语法:<![CDATA[ 内容 ]]>
<![CDATA[
<csdn>
<br/>
</csdn>
]]>
转义字符:
处理指令:
处理指令,简称PI (processing instruction)。处理指令用来指挥解析引擎如何解析XML文档内容。
例如,在XML文档中可以使用xml-stylesheet指令,通知XML解析引擎,应用css文件显示xml文档内容。 <?xml-stylesheet type="text/css" href="1.css"?>
处理指令必须以“<?”作为开头,以“?>”作为结尾,XML声明语句就是最常见的一种处理指令。
DTD
DTD文件在外部时:
<!DOCTYPE 根标记名 SYSTEM“dtd文件的名字与路径”>
DTD文件在内部时:
<!DOCTYPE 根标记名 [
<ELEMENT >
<ELEMENT >
]>
XML文件使用 DOCTYPE 声明语句来指明它所遵循的DTD文件,DOCTYPE声明语句有两种形式:
当引用的文件在本地时,采用如下方式:
<!DOCTYPE 文档根结点 SYSTEM "DTD文件的URL">
例如: <!DOCTYPE 书架 SYSTEM “book.dtd”>。在xml文件中手写一下。
当引用的文件是一个公共的文件时,采用如下方式:
<!DOCTYPE 文档根结点 PUBLIC "DTD名称" "DTD文件的URL">
例如:<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
DTD约束语法细节:
元素定义:
在DTD文档中使用ELEMENT声明一个XML元素,语法格式如下所示:
<!ELEMENT 元素名称 元素类型>
元素类型可以是元素内容、或类型
如为元素内容:则需要使用()括起来,如
<!ELEMENT 书架 (书名,作者,售价)>
<!ELEMENT 书名 (#PCDATA)>
如为元素类型,则直接书写,DTD规范定义了如下几种类型:
EMPTY:用于定义空元素,例如<br/> <hr/>
ANY:表示元素内容为任意类型。
元素内容中可以使用如下方式,描述内容的组成关系
用逗号分隔,表示内容的出现顺序必须与声明时一致。<!ELEMENT MYFILE (TITLE,AUTHOR,EMAIL)>
用|分隔,表示任选其一,即多个只能出现一个
<!ELEMENT MYFILE (TITLE|AUTHOR|EMAIL)>
在元素内容中也可以使用+、*、?等符号表示元素出现的次数:
+: 一次或多次 (书+)
?: 0次或一次 (书?)
*: 0次或多次 (书*)
也可使用圆括号( )批量设置,例
<!ELEMENT MYFILE ((TITLE*, AUTHOR?, EMAIL)* | COMMENT)>