文章目录
XML概念和体系
XML概念
XML指可扩展标记语言(EXtensible Markup Language)
XML没有预定义标签, 需要自行定义标签
XML的特点
- XML数据以纯文本格式存储
- 实现不同应用程序之间的数据通信
- 实现不同平台间的数据通信
- 实现不同平台间的数据共享
- 使用XML将不同的程序, 不同的平台之间联系起来
XML的作用
数据存储和数据传输
XML和HTML之间的差异
XML主要作用是数据存储和传输(传输)
HTML 主要作用是用来显示数据 (显示)
一个标准的XML文档
树状结构
<?xml version="1.0" encoding="UTF-8"?>
<books>
<book id="1001">
<name>java开发实战强化</name>
<author>张小三</author>
<price>98.5</price>
</book>
</books>
XML文件的体系
- XHTML 可扩展标识语言
- WSDL: Web Services Description Language 网络服务描述语言, 这种文档可描述某个Web service
- WAP 和 WML 手持设备标记语言
- RSS (广泛用于网上新闻频道): Really Simple Syndication 简易信息聚合, 使用RSS订阅能更块地获取信息, 网站提供RSS输出, 有利于让用户获取网站内容的最新更新
- RDF 和 OWL: 重要的语义网技术是为资产管理, 企业整合及网络数据的共享和重用提供的一个框架
- SMIL 同步多媒体集成语言, 他是由万维网联盟规定的多媒体操纵语言, 最新的SMIL版本是2001年8月推出的SMIL2.0 版本, 它通过时许排列对声音, 影像, 文字及图形文件进行顺序安排, 然后将这些媒体表现看起来是同步的.
XML的基本语法
基本语法
- 有且只有一个根元素
- XML文档声明必须放在文档的第一行
- 所有标签必须成对出现
- XML的标签严格区分大小写
- XML必须正确嵌套
- XML中的属性值必须加引号
- XML中, 一些特殊字符需要使用"实体"
- XML中可以应用适当的注释 格式为:
XML元素
XML元素指的是开始标签到结束标签的部分
一个元素可以包含:
- 其他元素
- 文本
- 属性
- 属性值
- 以上的混合
XML的命名规则
- 名称可以包含字母, 数字及其他字符
- 名称不能以数字或者标点符号开始
- 名称不能以字母xml开始
- 名称不能包含空格
XML格式
-
data作为属性
<note date="10/01/2008"> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>
-
data作为一整个元素
<note> <date>10/01/2008</date> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>
-
data作为一个根元素, 最建议使用
note> <date> <day>10</day> <month>01</month> <year>2008</year> </date> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>
为什么避免使用XML属性?
- 属性不能包含多个值(元素可以)
- 属性不能包含树结构(元素可以)
- 属性不容易扩展(为未来的变化)
命名空间
在 XML 中,元素名称是由开发者定义的,当两个不同的文档使用相同的元素名时,就会发生命名冲突。
使用前缀来避免命名冲突
例如下面两个xml
<h:table>
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
<f:table>
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
现在,命名冲突不存在了,这是由于两个文档都使用了不同的名称来命名它们的 < table > 元素 (< h:table > 和 < f:table >)。
使用命名空间
<h:table xmlns:h="http://www.w3.org/TR/html4/">
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
与仅仅使用前缀不同,我们为 < table > 标签添加了一个 xmlns 属性,这样就为前缀赋予了一个与某个命名空间相关联的限定名称。
XML Namespace (xmlns) 属性
XML 命名空间属性被放置于元素的开始标签之中,并使用以下的语法:
xmlns:namespace-prefix="namespaceURI"
**注释:**用于标示命名空间的地址不会被解析器用于查找信息。其惟一的作用是赋予命名空间一个惟一的名称。不过,很多公司常常会作为指针来使用命名空间指向实际存在的网页,这个网页包含关于命名空间的信息。