1. XML是为组织数据结构
结构性资料包括如:试算表、地址簿、设定参表、财务交易及技术绘图等。XML为一些文字格式设计的规条(你亦可视之为指引或会集)来帮助你组织你的资料。XML不是一种程序语言,你不须是一个程序员来使用或学习它。XML使计算机很简易地产生及读取资料,并确保数据结构精确。XML避免了一般语言设计的缺漏:它是可扩展的、平台独立、更可支持国际化及地区化的格式,绝对没有Unicode的问题。
2. XML看似HTML
就像HTML一样,XML是使用标签<tags>(以"<"及">"括着文字)和属性(以名称"name"=数值"value"的形式)。当HTML指定每一个标签和属性的定义,及一般文字在浏览器中表现的形式时,XML只使用这些标签来界定一些资料的个别意义,但整体句子的意思则随个别应用程式读取时界定。换句话说,如你看到一个XML档中的"<p>",请勿假定此为段落的意思。依据整体内容,这个可能是一个价格"price"、一个参表"parameter"、一个人"person"、或...(这样谁可以界定一个"p"字的定义呢?)
3. XML是文字, 但不是被阅读的
制作试算表、地址簿及其它经组织的资料时常在磁片内以二进或文字格式储存。其中一项文字格式的好处是它使人们在需要时阅读这些文字而不须要制作那份文件所用的程式;另外,你亦可以用你喜爱的文字处理器来读取文件。文字格式亦容许开发者更容易地理解应用程式。如HTML,XML档是一些人类无需阅读,但若有须要时亦可阅读的文字档案。不太像HTML,XML的规则是非常严格。若忘记了一个标签或属性漏了一个引号便使这个XML档无法执行,但在HTML内这些错误却可以接受的。正规的XML定义防止程式尝试去猜测这个已被破坏的XML档的意思;若发现一个被破坏了的档案,应用程式便会立刻在那儿停止并报告发生错误的讯息。
4. XML是很详尽的
因为XML是文字格式及其为使用标签来解放资料,XML文件差不多比所有以二进制格式的文件档大。这点往往是XML设计者必定留意及考虑的。文字格式的好处是一切都很清楚(看上文第3点),但亦有不同程度的缺点。磁盘空间的价钱比以前大幅降低;而其它的文件压缩程序如zip和gzip便能简易快捷地把文件压缩。此外,网络上的通讯协议,如数据机通讯协定及HTTP/1.1便可以在传送时把资料压缩,节省效能跟二进位格式的文件同样有效率!
5. XML是一个技术大家族
XML1.0界定标签"tags"及属性"attributes"的定义。在XML1.0以外,"XML家族"是一项成长中的技术专案以提供有用服务予以配合多项重要及须求率高的工作。XLink解释了怎样加入连结至一个XML档。XPointer及XFragments文件部份发展的语法。XPointer有点像URL,但除指向一个网上文件外,它亦指向一件在XML文件内的资料。CSS~界定文件式样语言,使用在XML上跟在HTML无异。XSL是表达版面式样"style sheets"的进阶语言。以XSLT,一种用作重新排列、加入或减除标签及属性的转化性语言为基础。DOM是用来从一种程式语言中,叫取XML档(及HTML档)的一组标准。XML Schemas 1和2帮助开发者精确地界定它们自己的一套XML基础格式。还有其他种类的专案和工具可供考虑或正被开发中。可多留意W3C的技术报告。
6. XML是新事物,但不是十分新的
XML的开发始于1996年,并于1998年2月成为W3C的推荐文件;这可能使你认为这是一项并不十分成熟的技术。但事实上,这项技术并不如想象中的新!在XML之前曾有80年代初开发的SGML,一项自1986年有ISO标准及被广泛地使用在大型文件策划专案中。HTML从1990年起开发。XML的设计者只要把SGML中最好的部份,以发展HTML的经验指引来开发一些不逊于SGML,但比之更有规范和可更简易地使用的技术。虽然有些时候很难分辨演变和革命的成就...但可以确定的,是当SGML被广泛地使用在技术文件而被其他种类的资料所疏忽时,XML的情况是刚好相反的!
7. XML带领HTML至XHTML
一个重要的文字性质的XML应用程式:W3C的XHTML,一个接替HTML的格式。XHTML有许多跟HTML一样的原素。有一些语法为了配合XML规则而改变了。一份使用"XML基础"的文件代替及限制了XML的语法其在某些方面的用法(例如:XHTML容许"<p>"但并不接受"<r>");它更加入一些意义到语法上(XHTML指定"<p>"的意思是段落"paragraph",而不是价格"price"或人"person"或其他事物)。
8. XML是引导者
XML容许你利用合并及再使用其他格式来自定新的文件格式。因为两种独立开发的格式可能包含一些原材料或称号用着同一名称,所以当合并使用这些格式时得特别小心(如"<p>"在一份文件代表"段落paragraph"是否可能在另一方代表"人物person"呢?)要解决当合并使用两种格式时出现名称混淆的问题,XML提供了一项名为namespace的概念。XSL和RDF正是用了namespaces的以XML为基础的格式。XML Schema以简单的方法来合并两种规格以演变出包含了两种规格的第三种格式,是用来反映出在界定XML文件结构时用以引导的支援。
9. XML是RDF及Semantic Web的基本
XML提供了一个规范的守则予W3C的RDF,一种用以表达资料(事实上,基本上是为知识)的语言。RDF就像一个网上连结的下一个层面。一般网上连结把一些文字连接到一些没有固定关连的事物上,唯RDF可以把任何事物在连结起后给予一个关系名称:如"甲是乙的价格"可以是一件物品和一个价格总和的关系;又如"甲比乙重"可以是两个总和的关系;又或"甲是乙的原因"可以是沐浴和你身体湿了的关系。当你在知识沟通的时候,不论是以XML/RDF或是以纯英语,人或机械上均须要同意某字词在某方面的用途。一系列特定的文字可以用来形容一些特定的生活方式(从"购物"至"数学逻辑")便称之为"Ontology"。RDF, Ontologies及其代表意思,使电脑可以帮我们执行所有Semantic Web活动。
10. XML是没有版权限制、平台独立及有足够良好支援的
当你选择XML为你计划的基础,你就像已得到一些庞大及增长中的工具(其中一些可能已做到你所需要的)及工程技术员多年积累的技术经验。选择使用XML就像在进行资料库管理时选择SQL的程序:你依然要建立你自己的资料库及你自己的程式及步骤来进行,及有许多工具和许多人来协助你。由于XML是没有版权限制,你可以建立你自己一套软体而无须支付任何费用予别人。而庞大及增多中的支援意谓你无须依赖任何单一商号。 XML虽并不永远代表是最好的方案, 但永远值得你考虑。