加载中...
查看文章
  • xml 中的常见问题 (一)
  • 作者:未知 来源:未知 添加时间:2006年7月3日 字体:
  • 81280什么是 XML?
    1G0;T
    1G0;T  可扩展标记语言 (XML) 是 Web 上的数据通用语言。它使开发人员能够将结构化数据,从许多不同的应用程序传递到桌面,进行本地计算和演示。XML 允许为特定应用程序创建唯一的数据格式。它还是在服务器之间传输结构化数据的理想格式。
    1G0;T
    1G0;T  什么是 MSXML?
    1G0;T
    1G0;T  MSXML 是提供核心 XML 服务的 Microsoft 软件组件。
    1G0;T
    1G0;T  Microsoft XML 分析器能够做什么?
    1G0;T
    1G0;T  最新版本的 Microsoft 核心 XML 服务提供下面四种不同的功能。
    1G0;T
    1G0;T  基于文档对象模型 (DOM) 的分析器,它能够获取文本流(能够转换到 XML 的文件、程序中的字符串或者任何其他文本)并将它转换为能够编程处理的可导航 XML 树结构。
    1G0;T
    1G0;T  SAX(Simple API for XML)分析器,它针对处理大型文档和高吞吐量的情况进行了优化的。SAX 是基于事件的分析器,它读取文档并将分析事件(例如元素的开始和结尾)直接报告给应用程序。用户创建的应用程序实现了处理不同事件的处理程序,这非常类似于处理图形用户界面 (GUI) 中的事件。
    1G0;T
    1G0;T  XSLT 处理器读取 XSLT 文件,并将可扩展样式表转换语言 (XSLT) 文件的指令应用到 XML 文件,以产生某些类型的输出。除了创建 XML结构之外,XSLT 处理器还可以在得到的 XSLT 过滤器上执行一定量的优化,另外,从技术的角度看,它更像是一种编译器。
    1G0;T
    1G0;T  验证分析器读取文档类型定义 (DTD) 或者 XML 架构,然后检验实际得到的文档的格式是否正确,以及是否不包含与架构冲突的数据。请注意,仅对架构而言,验证架构将返回架构本身作为对象,可以在以后在 HTML 列表框中创建选项时引用这个对象。
    1G0;T  所有四种功能都包含在同一 MSXML 库软件包中,它可以从 MSDN XML 开发人员中心(英文)免费得到。
    1G0;T
    1G0;T  MSXML、MSXML2 和 MSXML3 之间的区别是什么?
    1G0;T
    1G0;T  在过去三年中 XML 经历了许多反复,所以目前存在不同版本的 Microsoft XML 分析器也不奇怪。Internet Explorer 4.0 包含早期版本的 XML 分析器,它比 XSL、XML 数据或者大多数其他的 XML 技术(并且有完全不同的 DOM 模型)要早。该早期版本的分析器包含在 MSXML.dll 库中。从 MSDN XML 开发人员中心(英文)可将分析器升级到较新的一种。
    1G0;T
    1G0;T  我1G0;T们极力建议您升级到新的分析器,因为它要强大得多。Internet Explorer 5.0 包括 MSXML 2.0 分析器,它包含 XSL 和 XML 架构的基本版本。MSXML2 是 SQL Server 2000 附带的分析器版本。MSXML2 包含了许多性能增强的功能,并且在总体上提高了性能和可伸缩性。MSXML3 是当前作为“技术预览”附带的版本。MSXML3 包括 XSLT 和 XPath 支持以及 SAX 接口。
    1G0;T
    1G0;T  XML 可以代替 HTML 吗?
    1G0;T
    1G0;T  XML 比 HTML 提供更大的灵活性,但是它不可能很快代替 HTML。实际上,XML 和 HTML 能够很好地在一起工作。Microsoft 希望许多作者和开发人员都能同时使用 XML 和 HTML,比如用 XSLT 来生成 HTML。
    1G0;T
    1G0;T  在 HTML 中增加 XML 的好处是什么?
    1G0;T
    1G0;T  在 Web 上使用 XML 的好处有:
    1G0;T
    1G0;T  它提供用于本地计算的数据。传递到桌面的数据可以进行本地计算。XML 分析器可以读取数据,并将它递交给本地应用程序(例如浏览器)进一步查看或处理。数据也可以由使用 XML 对象模型的脚本或其他编程语言来处理。
    1G0;T
    1G0;T  向用户提供正确的结构化数据视图。传递到桌面的数据可以以多种方式表示。本地数据集,可以根据用户喜好和配置等因素,以适当的形式,在视图中动态表现给用户。
    1G0;T
    1G0;T  允许集成不同来源的结构化数据。一般情况下,使用代理,在中间层服务器上集成来自后端数据库和其他应用程序的数据,使该数据能够传递给桌面或者其他服务器,做进一步聚合、处理和分布。
    1G0;T
    1G0;T  描述来自多种应用程序的数据。由于 XML 是可扩展的,因此它可以用于描述来自多种应用程序的数据,从描述 Web 页面集合到数据记录。由于数据是自描述的,因此不需要数据的内置描述,也能够接收和处理数据。
    1G0;T
    1G0;T通过粒度更新来提高性能。XML 允许粒度更新。开发人员不必在每次有改动时都发送整个结构化数据集。有了粒度更新后,只有改变的元素才必须从服务器发送到客户机。改变的数据可以在不必刷新整个页面或表的情况下显示。
    1G0;T
    1G0;T  XML 只适用于核心开发人员吗?
    1G0;T
    1G0;T  不。和 HTML 文档一样,XML 文档可以由任何人创建 — 甚至是没有任何编程经验的人。XML 仅仅是一种描述信息的标准方式。此外,它还是一种语言,可以在没有任何软件的情况下用它来编写。您可以在文本编辑器中编写 XML 文档,并且直接放入 Web 站点,不需要编写传统方式下的任何代码。
    1G0;T
    1G0;T  开始使用 XML 时需要什么?
    1G0;T
    1G0;T  要使用 XML,您需要能够读取 XMl 文档的 XML 分析器,并且使它的内容能被处理。Microsoft 提供了一种分析器,可以从 MSDN XML 开发人员中心(英文)下载。
    1G0;T
    1G0;T  要使用 XML 文档,可以使用文本编辑器(例如记事本)或任何其他可以用于创建 HTML 页面的编辑器。要创建完整形式的 XML 应用程序,请使用诸如 Microsoft? Visual Studio? 的编程环境。
    1G0;T
    1G0;T  有如何使用 XML 的实际例子吗?
    1G0;T
    1G0;T  XML 正在数量惊人的应用程序中使用,范围从 Web 站点创建和文档化到数据库集成和分布式编程。在下面几个领域中,XML 有其用武之地:
    1G0;T
    1G0;T  业务对业务的传输。业务数据(发票、购买定单、会计和税务信息等等)是以 XML 格式在厂商之间电子传输的。与旧的电子数据交换 (EDI) 格式相比,XML 提供了许多优点,而不仅仅是可以在传输中从一种发票格式转换到另一种。
    1G0;T  分布式编程。XML 是非常理想的复杂多平台应用程序构造方案,这样就使得 Windows 服务器和其他操作系统的集成成为可能。
    1G0;T
    1G0;T  Web 站点体系结构。由于 XML 的层次结构和分布式特性,Web 站点开发人员在他们 Web 站点的总体体系结构和导航结构中越来越多地使用它。此外,越来越多的目录表和索引表、跟踪用户信息及 Web 站点状态的 XML 结构、基于 HTML 的组件和处理数据流的渠道,都用 XML 和 XSLT 编写。
    1G0;T
    1G0;T  数据库操作。XML 正成为与数据库交互的流行工具 — 无论从 SQL 查询中检索 XML 数据集,还是用 XML 记录更新数据库。而且我1G0;T们还有分离实现的优点。通过将数据压缩为 SML,就不需要对实际的数据库结构有任何了解。
    1G0;T
    1G0;T  文档管理。目前的大多数公司都陷在文书工作的海洋里,而且会越来越糟。XML 正在越来越多地用于将文档编码成 XML,使文档更易于检索或提供链接到文档的注释上下文,以便更有效地进行参考。
    1G0;T
    1G0;T  我1G0;T可以忽略 XML 吗?
    1G0;T
    1G0;T  如果您想在 Internet 世界中竞争的话,那就不可以忽略 XML。XML 是导致以我1G0;T们考虑编程本身的方式进行模式转移的一种语言。传统的专用客户机/服务器应用程序,正在给“随时随地访问”的 Internet 服务让位,XML 是处理任何事情(从数据访问处理到在该新环境中表现数据)的逻辑媒体。
    1G0;T
    1G0;T  Microsoft Internet Explorer 4.0 支持 XML 吗?
    1G0;T
    1G0;T  是的。Internet Explorer 4.0 支持 XML 下列功能:
    1G0;T
    1G0;T  通用的 XML 分析器,它读取 XML 文件并将它们传递到应用程序(例如查看器)进行处理。应用程序开发人员可以使用 Microsoft 的两个分析器:C++ 中的 Microsoft XML 分析和 Java 中的 Microsoft XML 分析器。
    1G0;T
    1G0;T  XML 对象模型 (XML OM) 使用 World Wide Web Consortium (W3C) 标准文档对象模型 (DOM) 允许程序通过 XML 分析器访问结构化数据,使开发人员拥有交互和计算数据的能力。有关详细信息,请参见 DOM 规范(英文) 。
    1G0;T
    1G0;T  XML 数据源对象 (XML DSO) 允许开发人员连接到结构化 XML 数据,并用动态 HTML 的数据绑定机制将它提供给 HTML 页面。
    1G0;T
    1G0;T  Internet Explorer 5.0 对 XML 提供哪个级别的支持?
    1G0;T Internet Explorer 5 提供下列 XML 支持:
    1G0;T
    1G0;T  直接查看 XML。Microsoft XML 实现允许用户通过他们的 Web 浏览器使用 XSL 或者层叠样式表 (CSS) 查看 XML,就象查看 HTML 文档一样。
    1G0;T
    1G0;T  高性能、验证 XML 引擎。Internet Explorer 4.0 开发人员熟悉的 XML 引擎已经得到了很大的增强,并且完全支持 W3C XML 1.0 和 XML 名称空间,这样开发人员就可以在 Web 上统一限定元素名称,从而避免了相同名称的元素之间的冲突。Windows 中的本机 XML 支持意味着,当开发人员在应用程序和组件之间移动数据时,可以使用完整的 XML 处理功能来读取和处理数据。
    1G0;T
    1G0;T  可扩展样式转换语言 (XSLT) 支持。使用基于最新的 W3C Working Draft 的 Microsoft XSLT 处理器,开发人员可以对 XML 数据应用样式表,并以易于自定义的动态和灵活方式来显示数据。Microsoft XSLT 处理器的查询功能也允许开发人员用程序,在客户机或服务器上,在 XML 数据集内部查找和摘取信息。
    1G0;T
    1G0;T  XML 架构。架构(英文) 定义 XML 文档规则,包括元素名称和丰富的数据类型,它们的元素可以表现为组合,并且每个元素的属性都可用。为了启用多层应用程序,Microsoft 将根据提交给 W3C XML 工作组的缩减 XML 数据架构 (XDR) 来发布 XML 架构的技术预览。
    1G0;T
    1G0;T  服务器端 XML。服务器端 XML 处理允许使用 XML 作为在多个分布式应用程序服务器(甚至是跨越操作系统边界)之间传送数据的标准方式。
    1G0;T
    1G0;T  XML 文档对象模型 (DOM)。XML DOM 是标准对象应用程序编程接口,它使开发人员能够用程序控制 XML 文档内容、结构、格式等等。Microsoft XML 实现包括对 W3C XML DOM 建议的完全支持,并且可以用脚本、Visual Basic 开发系统、C++ 和其他编程语言来访问。
    1G0;T
    1G0;T  C++ XML 数据源对象。XML DSO 允许将 HTML 元素直接绑定到 XML 数据岛。此外,它还提高了性能,有强大的能力可以绑定到不同 XML 节点上,而且利用了 Internet Explorer 5 beta 中所有的新的数据绑定功能。
    1G0;T
    1G0;T  HTML、动态 HTML 和 XML 之间的关系是什么?
    1G0;T
    1G0;T  HTML 可以和 CSS 一起用于格式化和表示超链接页面。动态 HTML,通过 DOM,使 HTML 中的所有元素,都可以通过与语言无关的脚本和其他编程语言来访问,从而在很大程度上提高了客户机端的交互能力,而且不需要对服务器的额外需求。页面的对象模型允许动态更改任何方面的内容(包括增加、删除和移动)。
    1G0;T
    1G0;T  通过为结构化数据添加 XML,为开发人员提供了构造下一代丰富、灵活 Web 应用程序的技术。使用 XML,他们可以为桌面提供结构化数据,并且用 XML 对象模型计算数据。现在的开发人员可以在浏览器(例如 Microsoft Internet Explorer 4.0 和 Microsoft Internet Explorer 5)或者其他应用程序中,通过脚本显示基于 XML 的数据。此外,他们也可以对数据应用格式化规则,而不需要使用 XSLT 样式表的复杂脚本(实际上是将基于 XML 的数据转换为显示)。这两种显示基于 XML 数据的方法,都使得生成复杂数据的多个视图成为可能。
    1G0;T
    1G0;T  为什么 XML 这么重要?
    1G0;T
    1G0;T  XML 将成为计算领域的未来。作为一种技术,它的影响力将渗透到编程的每个方面,从嵌入式系统到图形界面,到分布式系统以及数据库管理。它实际上已经成为软件工业之间数据通信的标准,并且迅速代替 EDI 系统成为全球几乎所有工业进行业务交换的主要媒体。它很有可能会成为创建和存储大多数文档的语言,不管是否在 Internet 上,并且有可能成为 Internet 应用程序服务器的基础,有些人相信它将代替许多目前生产的小包装产品。
    1G0;T
    1G0;T  Microsoft 提供什么 XML 产品?
    1G0;T
    1G0;T  Microsoft 正在努力为许多领域开发 XML 资源:
    1G0;T
    1G0;T  数据访问。最新的 ActiveX? 数据对象 (ADO) 的化身,已经支持 XML 的生成和消费将近一年了,并且 Microsoft SQL Server 2000 为基于 SQL 的信息和 XML 之间的互相转换提供了许多接口。
    1G0;T
    1G0;T浏览器支持。Microsoft 是第一个生产能够阅读 XML 文件(无论是用原始结构形式,还是通过 XSL 或 CSS 样式表)的商业浏览器 (Internet Explorer 5) 的公司。
    1G0;T
    1G0;T  BizTalk Server 2000。Microsoft? BizTalk(TM) Server 2000 提供了在大量不同格式(包括 XML)之间通信的方式,来帮助推动业务对业务的应用程序。BizTalk Server 也包括了许多架构生成和映射工具,从而大大简化了业务或商业需要的 XML 结构的开发。
    1G0;T  在 Web 上传输,必须压缩 XML 吗?
    1G0;T
    1G0;T  一般来说,压缩 XML 的需要是与应用程序有关的,并且很大程度上是服务器和客户机之间移动数据量的函数。用于描述数据结构的标记的反复特性,使 XML 能够非常好地压缩数据。值得注意的是 HTTP 1.1 服务器和客户机的压缩都是标准的,XML 可以自动从中受益。
    1G0;T
    1G0;T  XML 作为数据格式有多安全?有没有增加 XML 安全性的计划?
    1G0;T
    1G0;T  XML 和 HTML 一样安全。正因为安全的 HTTP (HTTPS) 可以用于对 HTTP 添加密码技术,从而保护了 HTML,因此它也可以用于保护 XML。XML 是表示结构化数据的基于文本格式。这可以使数据的简单性和互操作性最大化。对 XML 格式增加安全性和验证能力时可以采取许多步骤。首先,XML 可以在传输到客户之前在服务器上加密,然后在客户机上解密。应用于数据本身的数字签名也可以验证 XML。
    1G0;T
    1G0;T  确认
    1G0;T
    1G0;T  什么是 DTD 及其用途?
    1G0;T
    1G0;T  文档类型定义 (DTD) 定义了一类 XML 文档的正确语法。也就是说,它列出了许多元素名称,什么元素可以和其他元素一起显示,什么属性可以用于每种元素类型等等。DTD 使用 XML 文档使用的不同语法形式。
    1G0;T
    1G0;T  Web 开发人员在使用 XML 描述数据时必须包括 DTD 吗?
    1G0;T
    1G0;T  不。XML 可以用于描述有或没有 DTD 的数据。术语“有效”XML 指代引用 DTD 的 XML 数据,而“良好形成的”XML 是未使用 DTD 的 XML。此外,“良好形成的”XML 还是 XML 和标准统一标记语言 (SGML) 的基本区别之一。很明显,在这两种情况下,XML 本身都必须遵守语言的标准(例如,所有标记都必须是闭合的,并且标记不能重叠)。
    1G0;T
    1G0;T  什么是 XML 架构?它们与 DTD 的区别是什么?
    1G0;T
    1G0;T  虽然 XML 1.0 提供了定义 XML 文档的内容模型的机制 — DTD — 但是很明显还需要定义内容模型的更全面更有效的方法。XML 架构是特殊的 XML 结构的定义(从其组织和数据类型两个方面)。XML 架构使用“XML 架构”语言来指定在架构中如何定义元素的每种类型,以及与元素关联的数据类型。与 DTD 相比,架构的最鲜明的特点,便是架构本身就是 XML 文档。这意味着阅读它所描述的 XML 的工具也可以阅读它。
    1G0;T
    1G0;T  Microsoft 的 XML 服务目前支持 XML 数据架构,它代表了在 1999 年 3 月 Internet Explorer 5 装运时 “W3C 架构”活动的快照。XML 数据架构允许开发人员在他们的 XML 文档中添加数据类型,以及定义开放的内容模型。这种对 DTD 功能的扩展对 XML 编程很关键。
    1G0;T
    1G0;T  但是 W3C 正在准备“XML 架构定义 (XSD)”,它将成为“XML 架构标准”。Microsoft 计划在此规范成为建议后,立即使对“XML 架构定义 (XSD)”的支持成为它核心 XML 服务的一部分。
    1G0;T
    1G0;T  什么是名称空间,它们为何重要?
    1G0;T
    1G0;T  名称空间是 XML 的另一个高级功能,并作为 XML 1.0 规范的一部分,在 W3C 笔记中作了概述。它们允许开发人员限定元素名称和关系。名称空间使元素名称唯一可识别,从而避免了名称相同,但是在不同词典中定义的元素之间发生名称冲突。它们允许混合来自不同名称空间的标记,这一点对多个来源的数据很重要。
    1G0;T
    1G0;T  例如,书店可以定义
    1G0;T
    1G0;T  名称空间有助于清晰地定义这种差别。
    1G0;T
    1G0;T  XSLT 和 XPATH 81277
  • 返回页面顶端
  • 上一篇:xml 中的常见问题 (二)
  • 下一篇:教您使用xml封装数据库操作语句的实现
  • 返回上一页 打印本文 加入收藏
  • 页面最后更新时间:2010年3月10日