⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 0102-0300.htm

📁 xml帮助文档
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0071)http://162.105.170.55/ASPs/GetLearningArticleTemp.asp?section=0102-0300 -->
<HTML><HEAD><TITLE>XML中国论坛 - 初学进阶 - 1.2.3 XML的第二大优势——超越于格式之上</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE type=text/css>TABLE {
	FONT-SIZE: 9pt; COLOR: black; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"
}
.pt9 {
	FONT-SIZE: 9pt; COLOR: black; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"
}
.pt10 {
	FONT-WEIGHT: 700; FONT-SIZE: 10pt; LINE-HEIGHT: 18pt; FONT-FAMILY: "宋体"
}
.TempOutline {
	FONT-SIZE: 9pt; MARGIN-LEFT: 15pt; COLOR: #666666; TEXT-INDENT: -28pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.TempOutline1 {
	FONT-SIZE: 9pt; MARGIN-LEFT: 24pt; COLOR: #666666; TEXT-INDENT: -36pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.Outline {
	FONT-SIZE: 9pt; MARGIN-LEFT: 15pt; TEXT-INDENT: -28pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.Outline1 {
	FONT-SIZE: 9pt; MARGIN-LEFT: 24pt; TEXT-INDENT: -36pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.Outline11 {
	FONT-SIZE: 9pt; MARGIN-LEFT: 38pt; TEXT-INDENT: -50pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.passage0 {
	FONT-SIZE: 9pt; MARGIN-LEFT: 15pt; TEXT-INDENT: -28pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.passage1 {
	FONT-SIZE: 9pt; MARGIN-LEFT: 24pt; TEXT-INDENT: -36pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.passage11 {
	FONT-SIZE: 9pt; MARGIN-LEFT: 38pt; TEXT-INDENT: -50pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.passage111 {
	FONT-SIZE: 9pt; MARGIN-LEFT: 51pt; TEXT-INDENT: -64pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
</STYLE>


<META content="Microsoft FrontPage 5.0" name=GENERATOR></HEAD>
<BODY vLink=#000000 aLink=#000000 link=#000000 leftMargin=0 topMargin=0 
onload=""><!-- 以下为主体内容 -->
<div align="center">
  <center>
<TABLE width="100%" border=0 style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0">
  <TBODY>
  <TR vAlign=top>
    <TD  rowSpan=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </TD>
    <TD vAlign=center width=221><IMG height=33 
      src="image/title_learner.gif" width=226></TD>
    <TD  rowSpan=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </TD>
    </TR>
  <TR vAlign=top>
    <TD ><!-- 正文内容 -->
      <DIV class=pt10><B>1.2.3 XML的第二大优势——超越于格式之上</B></DIV>
 
      <DIV></DIV><BR>
      <DIV class=pt9 >
      <P>XML的最大能量来源于它不仅允许你定义自己的一套标记,而且这些标记不必仅限于对于显示格式的描述。XML允许你根据各种不同的规则来制定标记,比如根据商业规则,根据数据描述甚至根据数据关系来制定标记。<BR>可能你还没有觉得这有什么好处。那好,还记得前面两节中那个关于F公司的客户列表的例子吗?现在,我们再来一起对两个不同的文件进行一个详细的比较。<BR><BR>当这个文件使用HTML语言写时,文件的样子如下:</P>
      <DIV align=center>
      <CENTER>
      <TABLE width="80%" border=1>
        <TBODY>
        <TR>
          <TD 
            width="100%">&lt;UL&gt;<BR>&lt;LI&gt;张三&lt;/LI&gt;<BR>&lt;UL&gt;<BR>&lt;LI&gt;用户ID: 
            001&lt;/LI&gt;<BR>&lt;LI&gt;公司: A公司&lt;/LI&gt;<BR>&lt;LI&gt;EMAIL: 
            zhang@aaa.com&lt;/LI&gt;<BR>&lt;LI&gt;电话: 
            (010)62345678&lt;/LI&gt;<BR>&lt;LI&gt;地址: 
            五街1234号&lt;/LI&gt;<BR>&lt;LI&gt;城市: 北京市&lt;/LI&gt;<BR>&lt;LI&gt;省份: 
            北京&lt;/LI&gt;<BR>&lt;LI&gt;ZIP: 
            100001&lt;/LI&gt;<BR>&lt;/UL&gt;<BR><BR>&lt;LI&gt;李四&lt;/LI&gt;<BR>&lt;UL&gt;<BR>&lt;LI&gt;ID: 
            002&lt;/LI&gt;<BR>&lt;LI&gt;公司: B公司&lt;/LI&gt;<BR>&lt;LI&gt;EMAIL: 
            li@bbb.org&lt;/LI&gt;<BR>&lt;LI&gt;电话: 
            (021)87654321&lt;/LI&gt;<BR>&lt;LI&gt;地址: 
            南京路9876号&lt;/LI&gt;<BR>&lt;LI&gt;城市: 上海市&lt;/LI&gt;<BR>&lt;LI&gt;省份: 
            上海&lt;/LI&gt;<BR>&lt;LI&gt;ZIP: 
            200002&lt;/LI&gt;<BR>&lt;/UL&gt;<BR>&lt;/UL&gt;</TD></TR></TBODY></TABLE></CENTER></DIV>
      <P><BR>尽管这也是一个存储、显示数据的可行的方法,它的效率和能力却非常有限。不知你是否已有同感,使用偏重于表现的HTML来置标你的数据有很多潜在的问题。我们至少可以看到以下三个严重的问题: 

      <OL>
        <LI>显示方式内嵌于数据之中<BR>可以看到,现在这些数据是用列表的形式来表示的。如果突然有一天,你的老板要求你用表格来表示这些数据,那么你不得不重新编码所有这样的HTML文件!天啊,这可能意味着几十页几百页要推翻重来啊! 

        <LI>在这些数据中寻找信息非常困难<BR>如果有一天,你需要从这个网页中找到所有北京市客户的信息,你该怎么办?显然,如果你不打算手工寻找的话,你要编一个脚本程序,譬如JavaScript,VBScript。那么,你怎么编写这个程序呢?唯一可行的办法可能就是逐字寻找“北京”这个字符串。即便你找到了所有这些字段,恐怕你也还没有解决所有麻烦。这个“北京”是指城市还是指省份呢?(别忘了北京地区的周边郊县哦。) 

        <LI>数据自身的逻辑不得不屈服于HTML语言规范的逻辑<BR>如果你想用Java 
        Applet来处理你的数据,你又遇到了另一个麻烦。你的Java 
        Applet将不得不遍历整个HTML文件,把所有的HTML标记剔除掉,再把剥离出来的有用的数据重新组织。同样,任何一个不是单纯为了显示HTML文件的应用程序,在处理一个HTML文件中的数据时,都不得不做大量额外的工作。 
        </LI></OL>
      <P>当使用XML时,以上的问题迎刃而解。此时,这段信息的表示是这样的:</P>
      <DIV align=center>
      <CENTER>
      <TABLE width="80%" border=1>
        <TBODY>
        <TR>
          <TD width="100%">&lt;联系人列表&gt;<BR>&nbsp;&nbsp;&nbsp; 
            &lt;联系人&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            &lt;姓名&gt;张三&lt;/姓名&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            &lt;ID&gt;001&lt;/ID&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            &lt;公司&gt;A公司&lt;/公司&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            &lt;EMAIL&gt;zhang@aaa.com&lt;/EMAIL&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            &lt;电话&gt;(010)62345678&lt;/电话&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            &lt;地址&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            &lt;街道&gt;五街1234号&lt;/街道&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            &lt;城市&gt;北京市&lt;/城市&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            &lt;省份&gt;北京&lt;/省份&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            &lt;ZIP&gt;100001&lt;/ZIP&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            &lt;/地址&gt;<BR>&nbsp;&nbsp;&nbsp; 
            &lt;/联系人&gt;<BR><BR>&nbsp;&nbsp;&nbsp; 
            &lt;联系人&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            &lt;姓名&gt;李四&lt;/姓名&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            &lt;ID&gt;002&lt;/ID&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            &lt;公司&gt;B公司&lt;/公司&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            &lt;EMAIL&gt;li@bbb.org&lt;/EMAIL&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            &lt;电话&gt;(021)87654321&lt;/电话&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            &lt;地址&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            &lt;街道&gt;南京路9876号&lt;/街道&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            &lt;城市&gt;上海&lt;/城市&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            &lt;省份&gt;上海&lt;/省份&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            &lt;ZIP&gt;200002&lt;/ZIP&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            &lt;/地址&gt;<BR>&nbsp;&nbsp;&nbsp; 
        &lt;/联系人&gt;<BR>&lt;/联系人列表&gt;</TD></TR></TBODY></TABLE></CENTER></DIV>
      <P>可以看出,现在标记为要表现的数据赋予了一定的含义。用这种形式存储时,数据非常地简单明晰,因为它所携带的信息不是显示上的描述,而是信息的语意。就象我们后面将要看到的那样,信息的显示方式已经从信息本身中抽取出来,放在了“样式单”中。</P>
      <P>好,我们现在逐条看一下上面所说的XML的三个问题是如何被一一解决的。 
      <OL>
        <LI>在XML中,显示样式从数据信息中抽取出来,放在样式单文件中。这样,如果需要改动信息的表现方式,无须改动信息本身,只要改动样式单文件就够了。如果这时候老板又让你把列表的数据改用表格显示,你无须再去修改那几十几百个数据信息文件,因为它们和同一个样式单文件相关联,只要改动这个样式单文件就足够了。 

        <LI>在XML中数据搜索可以简单高效地进行。搜索引擎没必要再去遍访整个XML文件,它只须去找一找相关标记下的内容就够了。也就是说,要想找“北京”,只要看看&lt;城市〉这个标记下的字符串数据是不是匹配就行了。毫不夸张地说,XML的标记为搜索引擎赋予了智慧! 

        <LI>XML是自我描述语言。即便对于一个预先对我们的FCLML一无所知的人,这个文件也是清晰可读的。显然,&lt;ID&gt;002&lt;/ID&gt;代表了一个客户的客户身份标识,可是如果面对一个&lt;LI&gt;002,他可能就丈二和尚——摸不着头脑了。再有,看看上面文件中严格的层次结构,你就会发现,信息之间的某些复杂关系,比如树状结构、继承关系,在这里也都得到了绝好的体现。这样一来,那些XML的应用处理程序也会感到轻松多了。 
        </LI></OL>
      <P>看到这里,你可能已经对XML心悦诚服了。不过,XML的优点还远不止这些哦。</P></DIV>
      <P></P>
      <P></P></TD></TR></TBODY></TABLE>
  </center>
</div>
<P></P>
<P>
<P></P></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -