xml有些什么特点?小弟不才!望指教!!!

解决方案 »

  1.   

    转:
    XML描述的是结构和语义,而不是格式化
    关于XML要了解的第二件事是,XML标记描述的是文档的结构和意义。它不描述页面元素的格式化。可用样式单为文档增加格式化信息。文档本身只说明文档包括什么标记,而不是说明文档看起来是什么样的。
    作为对照,HTML文档包括了格式化、结构和语义的标记。<B>就是一种格式化标记,它使其中的内容变为粗体。<STRONG>是一种语义标记,意味着其中的内容特别重要。<TD>是结构标记,指明内容是表中的一个单元。事实上,某些标记可能具有所有这三种意义。<H1>标记可同时表示20磅的Helvetica字体的粗体、第一级标题和页面标题。
    例如,在HTML中,一首歌可能是用定义标题、定义数据、无序的列表和列表项来描述的。但是事实上这些项目没有一件是与音乐有关的。用HTML定义的歌曲可能如下:
    <dt>Hot Cop
    <dd> by Jacques Morali Henri Belolo and Victor Willis
    <ul>
    <li>Producer: Jacques Morali
    <li>Publisher: PolyGram Records
    <li>Length: 6:20
    <li>Written: 978
    <li>Artist: Village People
    </ul>
    而在XML中,同样的数据可能标记为:
    <SONG>
    <TITLE>Hot Cop</TITLE>
    <COMPOSER>Jacques Morali</COMPOSER>
    <COMPOSER>Henri Belolo</COMPOSER>
    <COMPOSER>Victor Willis</COMPOSER>
    <PRODUCER>Jacques Morali</PRODUCER>
    <PUBLISHER>PolyGram Records</PUBLISHER>
    <LENGTH>6:20</LENGTH>
    <YEAR> 978</YEAR>
    <ARTIST>Village People</ARTIST>
    </SONG>
    在这个清单中没有使用通用的标记如<dt>和<li>,而是使用了具有意义的标记,如<SONG>、<TITLE>、<COMPOSER>和<YEAR>等。这种用法具有许多优点,包括源码易于被人阅读,使人能够看出作者的含义。
    XML标记还使非人类的自动机器人易于找出文档中的所有歌曲。在HTML中,机器人只能告诉我们这个元素是dt。机器人不能决定dt到底代表一首歌的题目还是定义,抑或只是一些设计者喜爱的缩进文本格式。事实上,单一文档中可以很好地包括带有三种意义的各种dt元素。
    可以选择XML的元素名称,以便使其在附加的上下文中具有额外的意义。例如,元素名称可以是数据库的域名。XML比HTML更为灵活而且适用于各种应用,因为有限数目的标记不必用于许多不同的目的。
     
    1.2 为什么开发人员对XML感到激动
    XML使许多只利用HTML难以解决的任务变得简单,使只利用HTML不可能完成的任务得以完成。因为XML是可扩展的,开发人员喜爱XML有许多原因。到底是哪个更令人感兴趣,取决于每个人的需要。但有一点是肯定的,一旦用上XML,就可发现,它正是解决许多令人感到棘手的问题的有力工具。本节研究一些令开发人员激动的一般应用。在第2章中,还会看到已经用XML开发出来的一些特殊应用。
    1.2.1 设计与特定领域有关的标记语言
    XML允许各种不同的专业(如音乐、化学、数学等)开发与自己的特定领域有关的标记语言。这就使得该领域中的人们可以交换笔记、数据和信息,而不用担心接收端的人是否有特定的软件来创建数据。特定领域的开发人员甚至可以向本领域外的人发送文档,有相当的理由可以认为,至少接受文档的人能够查看文档的内容。
    更进一步说,为特别的领域创建标记语言不会产生“病件”(bloatware)或是对于本专业外的人来说产生不必要的复杂性。一般人也许不会对电力工程图感兴趣,但是电力工程师却对此感兴趣。一般人也许不需要在他的Web页面中包括乐谱,但是作曲家却要这样做。XML让电力工程师描述他们的电路图,让作曲家写乐谱,而不会互相干扰。对于浏览器开发商来说,都不需要对特定的领域提供特殊的支持,也不需要提供复杂的插件。这一点现在已经实现了。
    1.2.2 自描述数据
    过去40年来的大多数计算机数据都丢失了,不是因为自然损害或是备份介质的磨损(虽然这也是一个问题,这个问题在XML中也没有解决),而只是因为没有人来写出如何读取这些数据介质和格式的文档。在十年前的5.25英寸的软盘上的Lotus 1-2-3文档在今天的大多数公司内都已经读不出来了。以不常用的格式保存的二进制数据,如Lotus Jazz 也许会永远地消失了。XML在基本水平上使用的是非常简单的数据格式。可以用100%的纯ASCII文本来书写,也可以用几种其他定义好的格式来书写。ASCII文本是几乎不会“磨损”的。丢失一些字节甚至是相当多的字节,剩下的数据还是可以读取的。这就与许多格式形成了鲜明的对比,如压缩数据或是串行的Java对象,这些数据即使丢失一个字节,剩余的数据也变得不可读取了。
    从高水平上来说,XML是自描述的。假设在23世纪有一个信息考古学者,他在软盘上发现了如下一大段经过时间的“冲刷”而保存下来的XML代码:
    <PERSON ID="p1100" SEX="M">
    <NAME>
    <GIVEN>Judson</GIVEN>
    <SURNAME> McDaniel</SURNAME>
    </NAME>
    <BIRTH>
    <DATE>2 Feb 1834</DATE> </BIRTH>
    <DEATH>
    <DATE>9 Dec 1905</DATE> </DEATH>
    </PERSON>
    即使这个考古学家不熟悉XML,但假设他可以讲20世纪时的英语,那么就可以很好地了解名为Judson McDaniel的人,此人出生在1834年2月21日,而死于1905年12月9日。事实上,数据中有一些空白或是损坏,还是可以得到这些信息。但对于专有格式的电子表格或是字处理程序的格式,就不是这么回事了。
    更进一步说,XML有很好的规格文档。W3C的XML 1.0 规范和大量的论文书籍,如本书,都向人们准确地说明如何来阅读XML数据。没有什么秘密使得人们发生失误。
      

  2.   

    数据库里一份搜索用。xml一份做网站浏览用。  两者各存所需
      

  3.   

    你是说数据库和XML文档中保存的不完全一样是吗?数据库只保存主键用来搜索,之后根据主键再到XML文档中取数来供浏览显示,对吗,ChinaOK?
      

  4.   

    呵呵,
    各位对XML好像还不太了解哦:)
    怎么会把这么大量的数据保存在XML文档中呢?!实际上,数据是在数据库中,当你浏览的时候,服务器端程序会读取所需要的所有数据,并生成XML文档(windows平台下通常用的是msxml parser作解析器)。
    另外你可以查看这个页面的源代码,可以看到它还通过一个xsl文件进行样式转换!如果没有那个xsl文件,你看到的页面就会是一个xml树了!
      

  5.   

    应该有两份即数据库中有一份,xml文档有一份。
    最有利的证据就是点管理,可以让XML文档重建。如果只有一份就做不到了。
      

  6.   

    可我看一个留言板的例子,是用ASP+XML作的,很简单,留言都保存在XML文档中
      

  7.   

    那样做搜索的时候就不好搞了。  所以还是要存两份的好。这样显示就直接用静态的xml+xsl。搜索时用db就好了。
      

  8.   

    麻烦!!,总觉得大家 讨论了半天,也没讨论出xml的好处来。
    ..........
    直接从数据库里查,不是更简单,更直接。