“可扩展标记语言”(XML) 提供一种描述结构化数据的方法。与主要用于控制数据的显示和外观的 HTML 标记不同,XML 标记用于定义数据本身的结构和数据类型。
XML 使用一组标记来描绘数据元素。每个元素封装可能十分简单也可能十分复杂的数据。您可以定义一组无限制的 XML 标记。例如,您可以定义一些 XML 标记来声明订单中的数据,如价格、税收、发货地址、帐单地址等等。由于 XML 标记在整个单位中以及跨单位采用,因此来自各种不同数据存储区的数据将更容易交换和操作。
XML 是一种简单、与平台无关并被广泛采用的标准。XML 相对于 HTML 的优点是它将用户界面与结构化数据分隔开来。这种数据与显示的分离使得集成来自不同源的数据成为可能。客户信息、订单、研究结果、帐单付款、病历、目录数据及其他信息都可以转换为 XML。
XML 与 HTML
以下是要记住的有关 XML 与 HTML 之间关系的几个要点:
a XML 不是要替换 HTML;实际上 XML 可以视作对 HTML 的补充。XML 和 HTML 的目标不同:HTML 的设计目标是显示数据并集中于数据外观,而 XML 的设计目标是描述数据并集中于数据的内容。
b 与 HTML 相似,XML 不进行任何操作。虽然 XML 标记可用于描述订单之类的项的结构,但它不包含可用于发送或处理该订单以及确保按该订单交货的任何代码。其他人必须编写代码来实际对 XML 格式的数据执行这些操作。
c 与 HTML 不同,XML 标记由架构或文档的作者定义,并且是无限制的。HTML 标记则是预定义的;HTML 作者只能使用当前 HTML 标准所支持的标记。
XML 的使用
XML 是一种极灵活的、传递数据的方式。以下全部是可使用 XML 的场合的示例:
a 普通文档
b 结构化记录,如约会记录或订单
c 移动数据的 Internet/Intranet Web 应用程序
d 带有数据的对象,如对象或 ActiveX 控件的持久格式
e 数据记录,如查询的结果集
f Web 站点的元内容,如“信道定义格式”(CDF)
g 图形显示,如应用程序的用户界面
h Web 上信息与人的链接
i C# 代码(可以用 XML 形式);有关更多信息,请参见 XML 文档
j 用于定位可用 XML Web services 的发现文档;有关更多信息,请参见 XML Web services 发现。
以下列出存储信息时 XML 相对于其他格式的若干优越性:
a XML 格式是基于文本的,这使得它们更容易读、更便于记录,有时也更便于调试。
b XML 文档可使用已为 HTML 建立的很多基础结构,包括 >
分类: 电脑/网络 >> 软件
解析:
XML是Extensible Markup Language的简写,一种扩展性标识语言。HTML是一种标记语言,全称:"Hypertext Markup Language" 超文本标记语言。同时,HTML里面有很多标签,类似, 等,都是在HTML 40里规范和定义,而XML里允许你自己创建这样的标签,所以叫做可扩展性。
1XML并不是标记语言。它只是用来创造标记语言(比如HTML)的元语言。天,又糊涂了!不要紧,你只要知道这一点:XML和HTML是不一样的,它的用处途比HTML广泛得多,我们将在后面仔细介绍。
2XML并不是HTML的替代产品。XML不是HTML的升级,它只是HTML的补充,为HTML扩展更多功能。我们仍将在较长的一段时间里继续使用HTML。(但值得注意的是HTML的升级版本XHTML的确正在向适应XML靠拢。)
3不能用XML来直接写网页。即便是包含了XML数据,依然要转换成HTML格式才能在浏览器上显示。
XML:Extentsible Markup Language(可扩展标记语言)的缩 写,是用来定义其它语言的一种元语言,其前身是SGML(标准通用标记语言)。它没有标签集(tag set),也没有语法规则(grammatical rule),但 是它有句法规则(syntax rule)。任何XML文档对任何类型的应用以及正确 的解析都必须是良构的(well-formed),即每一个打开的标签都必须有匹配的结束标签,不得含有次序颠倒的标签,并且在语句构成上应符合技术规范的要求。 XML文档可以是有效的(valid),但并非一定要求有效。所谓有效文档是指其符合其文档类型定义(DTD)的文档。如果一个文档符合一个模式(schema)的规定 ,那么这个文档是"模式有效的(schema valid)"。
XML是计算机系统之间交换数据的增长很快的标准,微软采用这种版权语言(或称标准)来描述微软许多应用程序的XML数据。
正象HTML一样,可扩展置标语言XML(eXtensible Markup Language)也是一种置标语言。它同样依赖于描述一定规则的标签和能够读懂这些标签的应用处理工具来发挥它的强大功能。这一点,从XML的命名上也可窥见一斑。
“关于此规范的正确题目,亦即XML的正确全名,应该是Extensible Markup Language, eXtensible Markup Language只不过是一个拼写错误罢了。但是,现在简写XML不仅正确,而且正如它在本规范的标题中一样,是Extensible Markup Language的官方名称。
这个名称和简写是由James Clark最先提出的,其它可供选择的名称还包括小型标准置标语言MGML (Minimal Generalized Markup Language), 标准置标语言的小型结构MAGMA (Minimal Architecture For Generalized Markup Applications), 以及互联网置标结构语言SLIM (Structured Language for Internet Markup)。
——Extensible Markup Language (XML) 10 Specs, The Annotated Version ”
从对XML的最初命名可以看出,XML的核心归根结底还是置标。不过,XML这个置标语言可比HTML的功能要强大的多了。
“人”如其名,XML的强大功能来自于“X”。也就是说,XML不但是置标语言,而且是可扩展的(eXtensible)置标语言。XML并非象HTML那样,提供了一组事先已经定义好了的标签,而是提供了一个标准,利用这个标准,你可以根据实际需要定义自己的新的置标语言,并为你的这个置标语言规定它特有的一套标签。准确的说,XML是一种源置标语言,它允许你根据它所提供的规则,制定各种各样的置标语言。这也正是XML语言制定之初的目标所在。
“XML的制定目标为:
XML应该可以在互联网上直接使用(就象HTML那样好用)。
XML应该支持各种不同的应用方式(不但包括浏览,还包括对内容的分析)。
XML应该与SGML兼容(子承父业嘛,后面我们会讲到,SGML是XML的直接先驱)。
处理XML文件的应用程序应该容易编写(计算机系的研究生花上两周的工夫就该差不多了)。
XML中的可选特性的数量应该减到最小,最好减至没有(可选特性经常造成混淆)。
XML文件应该具有良好的可读性,并且比较清晰(别象HTML那样,如果不借助浏览器,要想读它简直就是对你意志力和耐心的考验)。
用XML设计新的置标语言应该方便快捷(你不必再去经历标准制定的繁琐程序了)。
XML设计的置标语言应该正式、简洁(不然怎么易写易读?)。
XML文件应该容易编制(想想要用“记事本”写个HTML是一件多么可怕的工作)。
XML标记的简洁性并不重要(你不必再去费尽心机减少标记)。
——Extensible Markup Language (XML) 10 Specs, The Annotated Version”
让我们来考虑一个非常简单的例子。如果我们需要定义一个新的置标语言,叫做FCLML(F_company s Client List Markup Language)——F公司的客户列表置标语言。这个语言应该定义一些标签来代表可联系的客户和有关他们的信息。这组标签很简单,它们的优点是代表了一定的语意。让我们回想一下上一节中这些信息在HTML中是如何用标签〈UL〉和〈LI〉表示的。与之相比,下面这一段代码,显然更加清晰易读:
<联系人列表>
<联系人>
<姓名>张三</姓名>
<ID>001</ID>
<公司>A公司</公司>
<EMAIL>zhang@aaacom</EMAIL>
<电话>(010)62345678</电话>
<地址>
<街道>五街1234号</街道>
<城市>北京市</城市>
<省份>北京</省份>
<ZIP>100001</ZIP>
</地址>
</联系人>
<联系人>
<姓名>李四</姓名>
<ID>002</ID>
<公司>B公司</公司>
<EMAIL>li@bbborg</EMAIL>
<电话>(021)87654321</电话>
<地址>
<街道>南京路9876号</街道>
<城市>上海</城市>
<省份>上海</省份>
<ZIP>200002</ZIP>
</地址>
</联系人>
</联系人列表>
这一段代码是一个非常简单的XML文件。看上去它和HTML非常相象,但细心的人会发现这里的标签代表的不再是显示格式,而是对于客户信息数据的语意解释。
事实上,用XML定义的置标语言可以根据标记描述的侧重点不同分为两大类。一类偏重于语意描述,正如上面这个例子。还有一类偏重于显示方式的描述,象现在已经出炉的XHTML、SVG、SMIL,后面我们还会详细讲解。值得一提的是,这里对于显示方式的描述不仅限于对文本的描述,还可以包括矢量图形、图象、声音。比如,一个形如〈EMPHASIZE〉的标签在描述文本时可能是要求将文本加粗,而在描述声音时则要求将音量加大。
不过,正如我们上节所述,仅仅将数据置标还不够。为了让别人读懂这些数据,置标语言中的置标标准还需包括:
置标的语法
每个置标的含义
换句话说,如果想让计算机应用程序读懂并能处理这段数据,它还必须知道什么是一个有效的置标(如标签),如何处理一个有效的置标。具体地说,Netscape浏览器如何知道怎样显示上面的这段XML文件?标签〈电话〉是什么含义?它究竟是不是一个合法的标签?它又应该以什么方式表现?因此,我们的置标语言必须能够告诉应用程序它所采用的置标的语法,以便于应用程序对其处理。
在XML中,置标的语法是通过文件类型定义DTD(Document Type Definition)来描述的。也就是说,我们通过DTD来描述什么是有效的标签,从而进一步定义置标语言的结构。在用XML定义的置标语言中,DTD与数据文件是分离的部分。第三章我们将详细讨论DTD的定义方法。这里我们先给出关于上例的DTD描述,让大家先睹为快:
fclmldtd:
<xml version="10" encoding="GB2312">
<!ELEMENT 联系人列表 (联系人)>
<!ELEMENT 联系人 (姓名,ID,公司,EMAIL,电话,地址)>
<!ELEMENT 地址 (街道,城市,省份)>
<!ELEMENT 姓名 (#PCDATA)>
<!ELEMENT ID (#PCDATA)>
<!ELEMENT 公司 (#PCDATA)>
<!ELEMENT EMAIL (#PCDATA)>
<!ELEMENT 电话 (#PCDATA)>
<!ELEMENT 街道 (#PCDATA)>
<!ELEMENT 城市 (#PCDATA)>
<!ELEMENT 省份 (#PCDATA)>
同样,除了定义置标的语法外,我们还需定义置标的具体含义。为了明确各个标签的意义,XML使用与之相连的样式单(style sheet),由它来向应用程序,比如浏览器,提供如何处理显示的指示说明。一个样式单的具体格式我们在第四章再具体描述,现在我们只需知道,样式单所作的规定可能是这样的:
每当看到一个〈联系人〉标签,用一个〈UL〉标签显示它。同样,〈/联系人〉转换为一个〈/UL〉标签。
所有的〈姓名〉标签被转换为〈LI〉标签加以显示。同样,〈/姓名〉转换�LI〉标签。
所有的〈EMAIL〉标签被转换为〈LI〉标签加以显示。同样,〈/EMAIL〉转换为〈/LI〉标签。
等等
在这个样式单的例子中,我们使用HTML的标签功能来定义我们的FCLML的显示格式。但如果XML文件不是由浏览器,而是由其它应用程序来进行处理,我们可能采用其它相应的标签。
于是乎,我们的应用处理程序要综合DTD,样式单以及FCLML文件数据三方面要素,根据这些数据和规定来显示它。
看到这里,你可能会长叹一声:这不是越来越复杂了吗?原先只要一个HTML就能把数据和显示方式都包括进去,现在我们需要FCLML文件,DTD,样式单——总共三个文件!这还不算,我们需要一个处理工具把DTD、样式单、FCLML三者合一。别忘了,浏览器只是用来处理一种特定的置标语言(比如HTML)的,而不是用来处理所有置标语言的。这说明我们不但要把三个文件合一,还要制作或购买一个新的应用处理程序。太恐怖了!
“一个被称作XML处理器的软件模型应该能够读入一个XML文件,并解释其内容和结构。XML处理器是基于另一个称作应用的模型来进行这种处理的。
——Extensible Markup Language (XML) 10 Specs, The Annotated Version”
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
RSS (Really Simple jkndication) 是一种用于发布和获取网络内容(例如头条新闻)的XML格式。使用RSS阅读器来阅读,你可以不用一个个去开页面,也能够很快地知道关注网络内容更新了没有。
目前RSS有多个版本,如:090、091、092、093、094、10 和 20,而应用最广泛的有RSS 10 和 RSS 20 两个版本
分类: 电脑/网络 >> 软件
问题描述:
请教XML是什么东西?在操作系统里也有这个扩展名的文件,如何把删除,就会使操作系统中某些图像显示出现问题,这个东西究竟是干什么用的?谢谢。
解析:
XML是Extensible Markup Language的简写,一种扩展性标识语言。
这是标准的定义。那么什么是标志语言,为什么叫扩展性?已经让人有些糊涂。我想我们这样来理解会好一些:
对HTML你已经非常熟悉了吧,它就是一种标记语言,记得它的全称吗:\"Hypertext Markup Language\" 超文本标记语言。明白了?同时,HTML里面有很多标签,类似,等,都是在HTML40里规范和定义,而XML里允许你自己创建这样的标签,所以叫做可扩展性。
这里有几个容易混淆的概念要提醒大家:
1XML并不是标记语言。它只是用来创造标记语言(比如HTML)的元语言。天,又糊涂了!不要紧,你只要知道这一点:XML和HTML是不一样的,它的用处途比HTML广泛得多,我们将在后面仔细介绍。
2XML并不是HTML的替代产品。XML不是HTML的升级,它只是HTML的补充,为HTML扩展更多功能。我们仍将在较长的一段时间里继续使用HTML。(但值得注意的是HTML的升级版本XHTML的确正在向适应XMLK拢。)
3不能用XML来直接写网页。即便是包含了XML数据,依然要转换成HTML格式才能在浏览器上显示。
以上就是关于xml是什么全部的内容,包括:xml是什么、xml是什么文件、xml是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!