没有合适的资源?快使用搜索试试~ 我知道了~
XML及其技术指南
需积分: 7 3 下载量 51 浏览量
2020-03-04
10:58:28
上传
评论
收藏 86KB DOC 举报
温馨提示
试读
14页
XML的规格支持由若干实体组成的逻辑文档。通常,查看、编辑一个或多个实体甚至于实体的某个部分比查看、编辑整篇文档来得更普遍、更有意义。于是,我们就需要一种方法使得客户端可以不用涉及整篇文档,就能在一篇较大的文档中获得文档片断所处的上下文信息。XML片断为实现这样的目标创立了一种机制。XHTML是符合XML的新HTML文档中的又一个家族。XHTML文档被设计成可以和XML处理器协同工作。不过,现在你的浏览器能看到的绝大多数 HTML文件都不是编撰结构良好的XML文档。
资源详情
资源评论
资源推荐
XML 及其技术指南
概要:本文介绍了 XML 以及 XML 家族中的各项技术。我们将讨论这其中的各项核心技术
是如何组合成一个完整的整体以及一些支持 XML 技术的东西究竟是什么。
似乎这样的事情每天都在发生:越来越多的开发者都相信 XML(Extensible Markup
Language)将从根本上改变我们的软件业。但如果你想从他们那里弄清楚这一切为什么或是
何时将会发生时,你会发现他们给的解释中充斥着大堆有关 XML 的专有名词的缩写。这
些东西实际上并不能让你明白些什么,我相信你一定不会满意像他们这样的解释。
通常,人们在学习掌握 XML 时所遇到的主要障碍来自于 XML 惊人的发展速度。如果
你浏览一下 W3C 关于 XML 的网站(http://www.w4.org/xml/),你会发现有关 XML 的大
量技术以及相关的出版物。W3C 将如此大量的信息聚集在一起,给开发者造成了不小的麻
烦。在对"XML 所含盖的所用技术是如何整合在一起"这样关键性的问题还没用明确概念的
情况下,想要学习 XML 是比较困难的。
本文向你介绍了 XML 和 XML 家族中的各项技术,使你不仅在更高层次上对 XML 的
重要性有所了解,而且知道 XML 中的各项技术是如何组合在一起成为一项完整的技术。
读完本文,你会将会对困扰你的那些 XML 专用名词及其缩写用一个大致的了解,为你今
后从更深层次学习 XML 打下基础。
那么,究竟什么是 XML 呢?
在很多介绍以前的 XML 的作者中,回答这个问题已经成为了一种风潮。就像你已经
熟知的一样,XML 是 Extensible Markup Language 的正式缩写。他们可能认为 XML 的发音
比 EML 读起来更性感,于是就将原先的字母 E 换成了字母 X。然而,当你跨过缩写从更深
层次上来理解 XML 时,你会发现它不仅仅是一种标记语言,而是一系列的技术。这一技
术家族为我们开发具用更好的可扩展性和互操作性的软件提供了一种解决方案。
XML 来自何处?
XML 起源于 SGML(Standard Generalized Markup Language。换句话说,你可以既使用
XML 也可以使用 SGML 来创建自己的描述性文档。这两种语言都使用文本标识(Tags)来
描述数据以供其他应用或是工具(例如一个 SGML 或是 XML 分析程序)使用。有了
XML,它们可以正确的读取信息并对数据进行一些有趣的操作。XML 是 SGML 的一个简
化版本,它更适合于在 Web 上使用。
XML 的语法
XML 定义了用来描述你的数据的语法。一下就是一句正确的 XML 语句:
<hamburger name="CowBurger" lowfat="dream on"/>
和其他的标识语言有所不同,XML 对大小写是敏感的。所以,<hamburger>元素和
<Hamburger>元素在 XML 中是不同的。同时,XML 不会忽略空格(其他的语言常常忽
略空格)。对每一个可能对文档结构造成混淆的字符,XML 都会仔细的处理(就像< and
>)。
如果一个 XML 文档只含有一个根元素,并且所有的子元素都被正确地放在父元素中,
这样的 XML 具有良好的风格。更具体地说,就是对每一个给定的子元素,它的 begin 和
end tag 都 只 存 在 于 相 同 的 父 元 素 中 。 下 面 就 是 一 段 风 格 良 好 的 XML 文 档 示 例
(hamburger.xml)。
<?xml version="1.0"?>
<hamburgers>
<hamburger lowfat="dream on">
<name>CowBurger</name>
<description>Greasy and good.</description>
<price>2.99</price>
</hamburger>
</hamburgers>
谁来定义 Tags?
读了前面的部分后,你会发现你已基本上了解了 XML 的语法。其实这里的内容并不
是很多,XML 确实是非常简单。
可能你已经注意到了,XML 看起来很像 HTML(Hypertext Markup Language)。他们都
用相同的语法来定义 begin 和 end tag 以及一些属性。从本质上说,HTML 使用的是一些预
先设定好的元素和方法,只是 XML 的一个特例。这些元素及其相关的方法决定了浏览器
如何解释一个 XML 文档,进而提供给最终用户。
和 HTML 为创建用户界面提供了一种通用的方法一样,XML 提供了一种描述并协同
数据工作的通用方法。XML 允许开发者创建自己的 XML 词汇,用自定义的方式描述他们
自己的数据结构。假如一个开发者正在为一个快餐连锁店开发软件,那么,为了描述一些
食品,一个"汉堡包"元素可能会十分的方便。
一旦开发者使用了 XML 来描述他们的数据,他们就可以很方便的在相同的或是不同
的系统中对这些数据进行互操作。当然,前提是那些系统都能理解 XML。譬如说,一位开
发者可以使用来自另一个系统的数据,只要那些数据是用 XML 描述的。如此一来,开发
者在考虑软件的互操作性时就再也不必担心诸如平台、操作系统、语言、或是数据存储等
各方面的不同了。XML 是实现系统之间互操作性的最简单工具。
XML 的名字空间
由于 XML 对互操作性的支持,每个人都可以创建属于自己的 XML 词汇。这样一来,
如果不同的开发者用相同的元素来代表不同的实体的话,后果是不可想象的。为了防止这
种潜在的冲突,W3C 在 XML 中引入了名字空间。
XML 名字空间为你的 XML 文档元素提供了一个上下文。它允许开发者按一定的语义
来处理元素。还以汉堡包举例说明,在某个系统中 price 元素可能代表的是消费者的购买价,
而在另一个系统中,它可能代表了商店的进货价。下面的例子演示了名字空间是怎样帮我
们解决这样的问题的。
<?xml version="1.0"?>
<hamburgers
xmlns:purchase="http://fastfood.org/franchise/prices"
xmlns:sales="http://fastfood.org/customer/prices"
>
<hamburger lowfat="dream on">
<name>CowBurger</name>
<description>Greasy and good.</description>
<purchase:price>0.99</price>
<sales:price>2.99</price>
</hamburger>
</hamburgers>
怎样使用 XML 呢?
XML 的语法并不难,但想要用好 XML,让它帮我们做一些事还是有一定的挑战性的。
要用好 XML,我们要能编程处理 XML 文件。W3C 定义了一种软件模型叫"XML 处理
器"。它能够读 XML 文档并提供对其内容和结构的访问。微软最主要的 XML 处理器叫做
Microsoft XML(MSXML) 2.0。MSXML 2.0 捆绑于 IE 5.0 中,并且可以作为一个单独的可分
发文件从微软 MSDN XML 的网站免费获得(http://msdn.microsoft.com/xml)。
使用 XML 来作为描述数据的通用标准的一个主要优点在于,任何 XML 处理器所提供
的功能都能让我们实现我们想到的目标。开发者几乎不用(如果你曾这么干过)费力去写
自己的 XML 处理器。理论上说,开发者应该使用市场上最好的处理器以避免出现兼容的
问题。
使 用 一 个 标 准 的 XML 处 理 器 , 你 可 以 通 过 编 程 读 各 种 XML 文 档 ( 例 如
hamburger.xml),访问任何元素、元素内容或是元素属性。如果你在一个基于 Windows
的系统中创建 XML 文档,你也可以很方便的将这个文档转到大型机系统中,用大型机的
XML 处理器来实现与同样数据的交互。这才是 XML 的真正魅力所在。作为一项技术,
XML 并不能解决你的软件的所有问题;但它已成为一种在你和他人的应用之间交换结构化
数据的开放式有效机制。
XML 的核心技术
直到现在,你已经完全可以创建使用属于你自己的 XML 文档了。然而,XML 真正的
潜力却在于它所支持的多项技术。你完全不必为此去使用本文以下所讨论的所有技术。但
剩余13页未读,继续阅读
weixin_38552305
- 粉丝: 5
- 资源: 973
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0