Welcome to my blog

天行健,程序将生生不息 enjoy it I will get a lot......

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

HTML 的问题在于它是为人设计的。即使不用浏览器查看上面的 HTML 文档,您和我也会知道那是某个人的邮政地址。(具体而言,它是美国某个人的邮政地址;即使您一点也不熟悉美国邮政地址的格式,您可能也会猜出这表示什么。)

作为人,您和我具有理解大多数文档的含义和意图的智慧。遗憾的是机器不能做到。尽管这个文档中的标记告诉浏览器如何显示该信息,但标记没有告诉浏览器信息是什么。您和我知道它是一个地址,但机器不知道。

<p><b>Mrs. Mary McGoon</b>
<br>
1401 Main Street
<br>
Anytown, NC 34829
</p>
使用 XML,您可以给文档中的标记赋予某种含意。更重要的是,机器也容易处理这样的信息。您只需通过找到 <postal-code></postal-code> 标记之间的内容(技术上称为 <postal-code> 元素),就可以从该文档抽取邮政编码。
<address>
  
<name>
    
<title>Mrs.</title>
    
<first-name>
      Mary
    
</first-name>
    
<last-name>
      McGoon
    
</last-name>
  
</name>
  
<street>
    1401 Main Street
  
</street>
  
<city>Anytown</city>
  
<state>NC</state>
  
<postal-code>
    34829
  
</postal-code>
</address>
  • 标记是左尖括号(<)和右尖括号(>)之间的文本。有开始标记(例如 <name>)和结束标记(例如 </name>
  • 元素是开始标记、结束标记以及位于二者之间的所有内容。在上面的样本中,<name> 元素包含三个子元素:<title><first-name><last-name>
  • 属性是一个元素的开始标记中的名称-值对。在该示例中,state<city> 元素的属性;而在前面的示例中,<state> 是元素


  • XML 简化了数据交换。因为不同组织(乃至同一组织的不同部门)很少就单一工具集形成标准,所以要使应用程序相互交流需要进行大量工作。使用 XML,每个组织可以创建单一的实用程序,该实用程序将该组织的内部数据格式转换成 XML,反之亦然。最好有这样的机会:这些组织的软件供应商已经提供了在它们的数据库记录(或 LDAP 目录,或采购订单等等)与 XML 之间进行相互转换的工具。
  • XML 支持智能代码。因为可以使 XML 文档结构化以标识每个非常重要的信息片段(以及这些片段之间的关系),所以可以编写无需人工干预就能处理这些 XML 文档的代码。软件供应商花费了大量时间和金钱来构建 XML 开发工具这一事实意味着编写那样的代码是相对简单的过程。
  • XML 支持智能搜索。尽管搜索引擎这些年在稳步改进,但从搜索中得到错误的结果仍很常见。如果您正在搜索包含名叫“Chip”的人的 HTML 页面,您可能还会找到有关功克力片、计算机芯片、木片以及许多其它无用匹配的页面。搜索 XML 文档查找包含文本 Chip<first-name> 元素会给您一个好得多的结果集。

  • XML 文档必须包含在一个单一元素中。这个单一元素称为根元素
    XML 元素不能重叠,不能嵌套
    XML 元素是区分大小写的        <!-- NOT legal XML markup --><h1>Elements are case sensitive</H1>
     

    XML 文档中的属性有两个规则:            <!-- NOT legal XML markup -->
    属性必须有值 那些值必须用引号括起。      <ol compact>
                                                      <!-- legal XML markup -->
                                                        <ol compact="yes">

    要使用名称空间,您要定义一个名称空间前缀,然后将它映射至一个特殊字符串。下面介绍如何定义我们这三个 <title> 元素的名称空间前缀:

    <?xml version="1.0"?>
    <customer_summary
      
    xmlns:addr="http://www.xyz.com/addresses/"
      xmlns:books
    ="http://www.zyx.com/books/"
      xmlns:mortgage
    ="http://www.yyz.com/title/"
    >
     
    <addr:name><title>Mrs.</title>  </addr:name> 
     
    <books:title>Lord of the Rings</books:title> 
     
    <mortgage:title>NC2948-388-1983</mortgage:title> 


    在该示例中,三个名称空间前缀是 addrbooksmortgage。请注意,为特定元素定义名称空间意味着该元素的所有子元素都属于同一名称空间。第一个 <title> 元素属于 addr 名称空间,因为其父元素 <addr:Name> 属于该名称空间。

    Web 服务是一种新的重要的应用程序。Web 服务是一段可以用 XML 发现、描述和访问的代码。在这一领域有许多活动,但有三种主要的用于 Web 服务的 XML 标准:

    • SOAP:最初是简单对象访问协议(Simple Object Access Protocol),SOAP 定义一个 XML 文档格式,该格式描述如何调用一段远程代码的方法。我的应用程序创建一个描述我希望调用的方法的 XML 文档,并传递给它所有必需的参数,然后应用程序通过网络将该 XML 文档发送给那段代码。代码接收 XML 文档、解释它、调用我请求的方法,然后发回一个描述结果的 XML 文档。SOAP 规范版本 1.1 位于 w3.org/TR/SOAP/。请访问 w3.org/TR/ 以了解 W3C 中 SOAP 相关的所有活动。
    • WSDL:Web 服务描述语言(Web Services Description Language)是一个描述 Web 服务的 XML 词汇表。编写一段接收 WSDL 文档然后调用其以前从未用过的 Web 服务的代码,这是可能的。WSDL 文件中的信息定义 Web 服务的名称、它的方法的名称、这些方法的参数和其它详细信息。您可以在 w3.org/TR/wsdl(结尾没有斜杠符号)找到最新的 WSDL 规范。
    • UDDI:统一描述、发现和集成(Universal Description, Discovery, and Integration)协议向 Web 服务注册中心定义 SOAP 接口。如果您有一段代码希望作为 Web 服务部署,UDDI 规范定义如何将您的服务描述添加至注册中心。如果您在寻找一段提供某种功能的代码,UDDI 规范定义如何查询注册中心以找到您想要的信息。有关 UDDI 的所有资料来源都可以在 uddi.org 找到。
    posted on 2004-11-15 22:21  newbin  阅读(312)  评论(0)    收藏  举报