新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 关于 XML 的一般性技术讨论,提供 XML入门资料 和 XML教程
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 XML基础 』 → xml技术指南 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 6387 个阅读者浏览上一篇主题  刷新本主题   平板显示贴子 浏览下一篇主题
     * 贴子主题: xml技术指南 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     alee_xml 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(猛啃高等数学)
      文章:8
      积分:122
      门派:XML.ORG.CN
      注册:2005/10/13

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给alee_xml发送一个短消息 把alee_xml加入好友 查看alee_xml的个人资料 搜索alee_xml在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看alee_xml的博客楼主
    发贴心情 xml技术指南

    概要:本文介绍了XML以及XML家族中的各项技术。我们将讨论这其中的各项核心技术是如何组合成一个完整的整体以及一些支持XML技术的东西究竟是什么。

     
      似乎这样的事情每天都在发生:越来越多的开发者都相信XML(Extensible Markup Language)将从根本上改变我们的软件业。但如果你想从他们那里弄清楚这一切为什么或是何时将会发生时,你会发现他们给的解释中充斥着大堆有关XML的专有名词的缩写。这些东西实际上并不能让你明白些什么,我相信你一定不会满意像他们这样的解释。

      通常,人们在学习掌握XML时所遇到的主要障碍来自于XML惊人的发展速度。如果你浏览一下W3C关于XML的网站(http://www.w4.org/xml/),你会发现有关XML的大量技术以及相关的出版物。W3C将如此大量的信息聚集在一起,给开发者造成了不小的麻烦。在对"XML所含盖的所用技术是如何整合在一起"这样关键性的问题还没用明确概念的情况下,想要学习XML是比较困难的。

      本文向你介绍了XML和XML家族中的各项技术,使你不仅在更高层次上对XML的重要性有所了解,而且知道XML中的各项技术是如何组合在一起成为一项完整的技术。读完本文,你会将会对困扰你的那些XML专用名词及其缩写用一个大致的了解,为你今后从更深层次学习XML打下基础。

      那么,究竟什么是XML呢?

      在很多介绍以前的XML的作者中,回答这个问题已经成为了一种风潮。就像你已经熟知的一样,XML是Extensible Markup Language的正式缩写。他们可能认为XML的发音比EML读起来更性感,于是就将原先的字母E换成了字母X。然而,当你跨过缩写从更深层次上来理解XML时,你会发现它不仅仅是一种标记语言,而是一系列的技术。这一技术家族为我们开发具用更好的可扩展性和互操作性的软件提供了一种解决方案。

      XML来自何处?

      XML起源于SGML(Standard Generalized Markup Language。换句话说,你可以既使用XML也可以使用SGML来创建自己的描述性文档。这两种语言都使用文本标识(Tags)来描述数据以供其他应用或是工具(例如一个SGML或是XML分析程序)使用。有了XML,它们可以正确的读取信息并对数据进行一些有趣的操作。XML是SGML的一个简化版本,它更适合于在Web上使用。

      XML的语法

      XML定义了用来描述你的数据的语法。一下就是一句正确的XML语句:

      <hamburger name="CowBurger" lowfat="dream on"/>

      和其他的标识语言有所不同,XML对大小写是敏感的。所以,<hamburger>元素和<Hamburger>元素在XML中是不同的。同时,XML不会忽略空格(其他的语言常常忽略空格)。对每一个可能对文档结构造成混淆的字符,XML都会仔细的处理(就像< and >)。

      如果一个XML文档只含有一个根元素,并且所有的子元素都被正确地放在父元素中,这样的XML具有良好的风格。更具体地说,就是对每一个给定的子元素,它的begin和end tag都只存在于相同的父元素中。下面就是一段风格良好的XML文档示例(hamburger.xml)。

    <?xml version="1.0"?>
    <hamburgers>
     <hamburger lowfat="dream on">
      <name>CowBurger</name>
      <description>Greasy and good.</description>
      <price>2.99</price>
     </hamburger>
    </hamburgers>


      谁来定义Tags?

      读了前面的部分后,你会发现你已基本上了解了XML的语法。其实这里的内容并不是很多,XML确实是非常简单。

      可能你已经注意到了,XML看起来很像HTML(Hypertext Markup Language)。他们都用相同的语法来定义begin和end tag以及一些属性。从本质上说,HTML使用的是一些预先设定好的元素和方法,只是XML的一个特例。这些元素及其相关的方法决定了浏览器如何解释一个XML文档,进而提供给最终用户。

      和HTML为创建用户界面提供了一种通用的方法一样,XML提供了一种描述并协同数据工作的通用方法。XML允许开发者创建自己的XML词汇,用自定义的方式描述他们自己的数据结构。假如一个开发者正在为一个快餐连锁店开发软件,那么,为了描述一些食品,一个"汉堡包"元素可能会十分的方便。

      一旦开发者使用了XML来描述他们的数据,他们就可以很方便的在相同的或是不同的系统中对这些数据进行互操作。当然,前提是那些系统都能理解XML。譬如说,一位开发者可以使用来自另一个系统的数据,只要那些数据是用XML描述的。如此一来,开发者在考虑软件的互操作性时就再也不必担心诸如平台、操作系统、语言、或是数据存储等各方面的不同了。XML是实现系统之间互操作性的最简单工具。

      XML的名字空间

      由于XML对互操作性的支持,每个人都可以创建属于自己的XML词汇。这样一来,如果不同的开发者用相同的元素来代表不同的实体的话,后果是不可想象的。为了防止这种潜在的冲突,W3C在XML中引入了名字空间。

      XML名字空间为你的XML文档元素提供了一个上下文。它允许开发者按一定的语义来处理元素。还以汉堡包举例说明,在某个系统中price元素可能代表的是消费者的购买价,而在另一个系统中,它可能代表了商店的进货价。下面的例子演示了名字空间是怎样帮我们解决这样的问题的。

    <?xml version="1.0"?>
    <hamburgers
      xmlnsurchase="http://fastfood.org/franchise/prices"
      xmlns:sales="http://fastfood.org/customer/prices"

     <hamburger lowfat="dream on">
      <name>CowBurger</name>
      <description>Greasy and good.</description>
      <purchaserice>0.99</price>
      <salesrice>2.99</price>
     </hamburger>
    </hamburgers>


      我怎样使用XML呢?

      XML的语法并不难,但想要用好XML,让它帮我们做一些事还是有一定的挑战性的。

      要用好XML,我们要能编程处理XML文件。W3C定义了一种软件模型叫"XML处理器"。它能够读XML文档并提供对其内容和结构的访问。微软最主要的XML处理器叫做Microsoft XML(MSXML) 2.0。MSXML 2.0 捆绑于IE 5.0中,并且可以作为一个单独的可分发文件从微软MSDN XML的网站免费获得(http://msdn.microsoft.com/xml)。

      使用XML来作为描述数据的通用标准的一个主要优点在于,任何XML处理器所提供的功能都能让我们实现我们想到的目标。开发者几乎不用(如果你曾这么干过)费力去写自己的XML处理器。理论上说,开发者应该使用市场上最好的处理器以避免出现兼容的问题。

      使用一个标准的XML处理器,你可以通过编程读各种XML文档(例如hamburger.xml),访问任何元素、元素内容或是元素属性。如果你在一个基于Windows的系统中创建XML文档,你也可以很方便的将这个文档转到大型机系统中,用大型机的XML处理器来实现与同样数据的交互。这才是XML的真正魅力所在。作为一项技术,XML并不能解决你的软件的所有问题;但它已成为一种在你和他人的应用之间交换结构化数据的开放式有效机制。


       收藏   分享  
    顶(0)
      




    ----------------------------------------------
    我的资料库http://www.doitok.com

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/10/13 15:54:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XML基础 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/5/3 7:45:54

    本主题贴数1,分页: [1]

     *树形目录 (最近20个回帖) 顶端 
    主题:  xml技术指南(5559字) - alee_xml,2005年10月13日

    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    996.094ms