|
XML简易教程之一(1) 在Intel的早期,Andy Grove遇到一个雇员 - 他 建议公司在芯片的基础上开发个人计算机。Andy Grove疑问道“个人计算机能做什么呢?”,这个 雇员举例说,它可以存储处方。Grove考虑到整个 研究、开发和市场费用要数百万美圆,最终决定 以为红绿灯提供芯片作为开始。 每个人都是事后诸葛亮。Andy Grove,不管你怎样看他,被普遍 认为是一个非常聪明的人 - 能够做出发展公司的重大决定。但 是在七十年代,不可能强求他预见到个人计算机的潜力。如果 他当时见过Excel、Quark、Photoshop、Oracle或者网络,他就会 理解把强大的处理器放在桌面上会允许软件做任何事。
但是如果没亲眼见过,谁能想到呢。在用打字机、加法机和铅 笔作为计算的工具的时代,你能解释PC和它的用途吗?
这个例子可以用在解释扩展标记语言(XML - eXtensible Markup Language)上。现在还没有和它相似的东西,所以很难做出比 较。你可能听说过XML是HTML的替代物或XML与HTML相似,可以 定义自己的标记符。这两种说法都不全对,就象说PC是存储处 方的机器一样。
我妈妈是一个训练有素的厨师,如果我用她的配方,我的家庭 会省下很大一笔钱。
我以简单的开始。因此我打开文本编辑器,开始写一些HTML 代码:
<HTML>
<H1 ALIGN=CENTER>Recipe</H1>
<FONT FACE size=2>Chocolate Chip Bars</FONT>
在写完上面几行后,我想接着写我妈妈 的精妙菜谱。那么怎么 做呢?一份老式的Web页面。接下来呢?把我的页面的URL送给 对这个菜谱感兴趣的人们,然后让他们剥掉其中的<P>和<FONT FACE size=2>吗?这得花些时间,我想得到实际的内容。
看看下面可能的XML标记:
<author>Carol Schmidt</author>
<recipe_name>Chocolate Chip Bars</recipe_name>
在XML中,标记符可以最好地描述内容。以这种方式,我可以肯 定任何查找出现在<recipe_name>标记符中的“Chocolate Chip” 的人都可以得到妈妈_的菜谱。进一步说,如果我的信息被象这 样的标记符(有意义的标记符)包围 - 我可以告诉其它程序如 何使用它们。我还可以通过编码把<recipe_name>标记符中的内 容放入数据库的某个域中,然后把它输出到一本书的硬拷贝中。 还有,我可以用一个支持XML的字处理器使网页的出版轻而易举。
这就是XML的本质:使标记对人和机器都可读。但是在实现这个 目标之前,应该理解用XML编码所涉及的东西。
文档要组织良好 一个XML文件必须满足两点:组织良好和有效。我们以一个组 织良好的文档开始。
我发明了一些描述菜谱的标记符,并把它们组织成一种合理 和可读的方式。它可能不是最好的标记,但是在下面的例子 中工作得很好。
<?xml version="1.0"?> <list> <recipe> <author>Carol Schmidt</author> <recipe_name>Chocolate Chip Bars</recipe_name>
|