在Intel的早期,Andy Grove碰到一个雇员 - 他建议公司在芯片的基础上开发个人盘算机。AndyGrove疑问道“个人盘算性能做什呢?”,这个雇员举例说,它可以存储处方。Grove考虑到全部研究、开发和市场用度要数百万美圆,终极决定认为红绿灯供给芯片作为开端。每个人都是事后诸葛亮。Andy Grove,不管你怎样看他,被广泛认为是一个非常聪慧的人 - 能够做出发展公司的重大决定。但是在七十年代,不可能强求他预感到个人盘算机的潜力。假如他当时见过Excel、Quark、Photoshop、Oracle或者网络,他就会
懂得把强盛的处理器放在桌面上会答应软件做任何事。
但是假如没亲眼见过,谁能想到呢。在用打字机、加法机和铅笔作为盘算的工具的时代,你能说明PC和它的用处吗?
这个例子可以用在说明扩大标记语言(XML - eXtensible MarkupLanguage)上。现在还没有和它类似的东西,所以很难做出比拟。你可能听说过XML是HTML的调换物或XML与HTML类似,可以定义自己的标记符。这两种说法都不全对,就象说PC是存储处
方的机器一样。
我妈妈是一个练习有素的厨师,假如我用她的配方,我的家庭会省下很大一笔钱。
我以简略的开端。因此我打开文本编纂器,开端写一些HTML代码:
Recipe
Chocolate Chip Bars
在写完上面几行后,我想接着写我妈妈 的精妙菜谱。那么怎么做呢?一份老式的Web页面。接下来呢?把我的页面的URL送给对这个菜谱感爱好的人们,然后让他们剥掉其中的
和吗?这得花些时间,我想得到实际的内容。
看看下面可能的XML标记:
Carol Schmidt
Chocolate Chip Bars
在XML中,标记符可以最好地描写内容。以这种方法,我可以确定任何查找呈现在标记符中的“Chocolate Chip”的人都可以得到妈妈_的菜谱。进一步说,假如我的信息被象这样的标记符(有意义的标记符)包抄 - 我可以告诉其它程序如何应用它们。我还可以通过编码把标记符中的内容放进数据库的某个域中,然后把它输出到一本书的硬拷贝中。还有,我可以用一个支撑XML的字处理器使网页的出版轻而易举。
这就是XML的本质:使标记对人和机器都可读。但是在实现这个目标之前,应当懂得用XML编码所涉及的东西。
文档要组织良好一个XML文件必需满足两点:组织良好和有效。我们以一个组织良好的文档开端。
我发明了一些描写菜谱的标记符,并把它们组织成一种公温和可读的方法。它可能不是最好的标记,但是在下面的例子中工作得很好。
Carol Schmidt
Chocolate Chip Bars
Dinner
Dessert
- 2/3 C butter
- 2 C brown sugar
- 1 tsp vanilla
- 1 3/4 C unsifted all-purpose flour
- 1 1/2 tsp baking powder
- 1/2 tsp salt
- 3 eggs
- 1/2 C chopped nuts
- 2 cups (12-oz pkg.) semi-sweet choc. chips
Preheat oven to 350 degrees. Melt butter;
combine with brown sugar and vanilla in large mixing bowl.
Set aside to cool. Combine flour, baking powder, and salt;
set aside.Add eggs to cooled sugar mixture; beat well.
Stir in reserved dryingredients, nuts, and chips.
Spread in greased 13-by-9-inch pan.
Bake for 25 to 30 minutes until goldenbrown;
cool. Cut into squares.
这就是一份可以接收的XML文档 - 告诉你XML是什么:把数据以一种有实际意义的方法进行组织。
固然这些标记符看起来有点象HTML,但是有很大的差别:文件中没有指出数据如何表现的信息。版面指令,当我们准备好时,就会从其它处所呈现。这和把地址簿的信息放在数据库的字段和记录中而不是放在字处理器产生的清单中的道理一样。数据库可以让你把地址簿中的信息合成到标签、信封、信件或其它任何想要的载体上面。最后,就是把这份菜谱文件合成到一种表现语言中,如HTML或CSS。
前面说过,XML文档必需组织良好。这意味着文件必需满足以下三项基础规矩:
文档以XML定义开端。 有一个包含所有其它内容的根元素,如上面例子中的和
标记符。所有元素必需公平地嵌套,不答应交叉嵌套。 上面的例子中,几个- 元素被公平地嵌套和标记符中。但是下面的标记却有严重的标题:
chocolate chips
于是'chocolate chips'没有被包含在ingredients清单中。因此这份文档就没有组织好。这在HTML中可能不算什么,由于浏览器已经被设计成可以处理这种标题。
但是在XML中却是致命的 - 利用程序将拒尽处理没有组织好的文件。
我们现在知道组织良好非常重要,但是还不止这些