您其时的方位:主页 > 言语编程 > XML

XML入门的常见问题(二)

2014-11-02  

  作者:AngelGavin  出处:CSDN

  Internet Explorer 5.0 对 XML 供给哪个等级的支撑?

  Internet Explorer 5 供给下列 XML 支撑:

  直接检查 XML。Microsoft XML 完成答运用户经过他们的 Web 浏览器运用 XSL 或许层叠款式表 (CSS) 检查 XML,就象检查 HTML 文档相同。

  高功用、验证 XML 引擎。Internet Explorer 4.0 开发人员了解的 XML 引擎现已得到了很大的增强,而且彻底支撑 W3C XML 1.0 和 XML 称号空间,这样开发人员就能够在 Web 上一致限制元素称号,然后避免了相同称号的元素之间的抵触。Windows 中的本机 XML 支撑意味着,当开发人员在运用程序和组件之间移动数据时,能够运用完好的 XML 处理功用来读取和处理数据。

  可扩展款式转化言语 (XSLT) 支撑。运用依据最新的 W3C Working Draft 的 Microsoft XSLT 处理器,开发人员能够对 XML 数据运用款式表,并以易于自界说的动态和灵敏办法来显现数据。Microsoft XSLT 处理器的查询功用也答应开发人员用程序,在客户机或服务器上,在 XML 数据集内部查找和摘取信息。

  XML 架构。架构(英文) 界说 XML 文档规矩,包含元素称号和丰厚的数据类型,它们的元素能够表现为组合,而且每个元素的特色都可用。为了启用多层运用程序,Microsoft 将依据提交给 W3C XML 作业组的减缩 XML 数据架构 (XDR) 来发布 XML 架构的技能预览。

  服务器端 XML。服务器端 XML 处理答应运用 XML 作为在多个分布式运用程序服务器(乃至是跨过操作体系鸿沟)之间传送数据的标准办法。

  XML 文档方针模型 (DOM)。XML DOM 是标准方针运用程序编程接口,它使开发人员能够用程序操控 XML 文档内容、结构、格局等等。Microsoft XML 完成包含对 W3C XML DOM 主张的彻底支撑,而且能够用脚本、Visual Basic 开发体系、C++ 和其他编程言语来拜访。

  C++ XML 数据源方针。XML DSO 答应将 HTML 元素直接绑定到 XML 数据岛。此外,它还提高了功用,有强壮的才干能够绑定到不同 XML 节点上,而且利用了 Internet Explorer 5 beta 中一切的新的数据绑定功用。
  HTML、动态 HTML 和 XML 之间的联络是什么?

  HTML 能够和 CSS 一同用于格局化和表明超链接页面。动态 HTML,经过 DOM,使 HTML 中的一切元素,都能够经过与言语无关的脚本和其他编程言语来拜访,然后在很大程度上提高了客户机端的交互才干,而且不需求对服务器的额定需求。页面的方针模型答应动态更改任何方面的内容(包含增加、删去和移动)。

  经过为结构化数据增加 XML,为开发人员供给了结构下一代丰厚、灵敏 Web 运用程序的技能。运用 XML,他们能够为桌面供给结构化数据,而且用 XML 方针模型核算数据。现在的开发人员能够在浏览器(例如 Microsoft Internet Explorer 4.0 和 Microsoft Internet Explorer 5)或许其他运用程序中,经过脚本显现依据 XML 的数据。此外,他们也能够对数据运用格局化规矩,而不需求运用 XSLT 款式表的杂乱脚本(实践上是将依据 XML 的数据转化为显现)。这两种显现依据 XML 数据的办法,都使得生成杂乱数据的多个视图成为或许。

  为什么 XML 这么重要?

  XML 将成为核算范畴的未来。作为一种技能,它的影响力将渗透到编程的每个方面,从嵌入式体系到图形界面,到分布式体系以及数据库办理。它实践上现已成为软件工业之间数据通讯的标准,而且敏捷替代 EDI 体系成为全球简直一切工业进行事务交流的首要媒体。它很有或许会成为创立和存储大多数文档的言语,不论是否在 Internet 上,而且有或许成为 Internet 运用程序服务器的根底,有些人信任它将替代许多现在出产的小包装产品。

  Microsoft 供给什么 XML 产品?

  Microsoft 正在尽力为许多范畴开发 XML 资源:

  数据拜访。最新的 ActiveX? 数据方针 (ADO) 的化身,现已支撑 XML 的生成和消费将近一年了,而且 Microsoft SQL Server 2000 为依据 SQL 的信息和 XML 之间的相互转化供给了许多接口。

  浏览器支撑。Microsoft 是第一个出产能够阅览 XML 文件(无论是用原始结构办法,仍是经过 XSL 或 CSS 款式表)的商业浏览器 (Internet Explorer 5) 的公司。

  BizTalk Server 2000。Microsoft? BizTalk(TM) Server 2000 供给了在很多不同格局(包含 XML)之间通讯的办法,来协助推进事务对事务的运用程序。BizTalk Server 也包含了许多架构生成和映射东西,然后大大简化了事务或商业需求的 XML 结构的开发。
  在 Web 上传输,有必要紧缩 XML 吗?

  一般来说,紧缩 XML 的需求是与运用程序有关的,而且很大程度上是服务器和客户机之间移动数据量的函数。用于描绘数据结构的符号的重复特性,使 XML 能够十分好地紧缩数据。值得注意的是 HTTP 1.1 服务器和客户机的紧缩都是标准的,XML 能够主动从中获益。

  XML 作为数据格局有多安全?有没有增加 XML 安全性的方案?

  XML 和 HTML 相同安全。正由于安全的 HTTP (HTTPS) 能够用于对 HTTP 增加暗码技能,然后维护了 HTML,因而它也能够用于维护 XML。XML 是表明结构化数据的依据文本格局。这能够使数据的简略性和互操作性最大化。对 XML 格局增加安全性和验证才干时能够采用许多进程。首要,XML 能够在传输到客户之前在服务器上加密,然后在客户机上解密。运用于数据本身的数字签名也能够验证 XML。

  承认

  什么是 DTD 及其用处?

  文档类型界说 (DTD) 界说了一类 XML 文档的正确语法。也便是说,它列出了许多元素称号,什么元素能够和其他元素一同显现,什么特色能够用于每种元素类型等等。DTD 运用 XML 文档运用的不同语法办法。

  Web 开发人员在运用 XML 描绘数据时有必要包含 DTD 吗?

  不。XML 能够用于描绘有或没有 DTD 的数据。术语“有用”XML 指代引证 DTD 的 XML 数据,而“杰出构成的”XML 是未运用 DTD 的 XML。此外,“杰出构成的”XML 仍是 XML 和标准一致符号言语 (SGML) 的根本差异之一。很明显,在这两种情况下,XML 本身都有必要恪守言语的标准(例如,一切符号都有必要是闭合的,而且符号不能堆叠)。

  什么是 XML 架构?它们与 DTD 的差异是什么?

  尽管 XML 1.0 供给了界说 XML 文档的内容模型的机制 — DTD — 可是很明显还需求界说内容模型的更全面更有用的办法。XML 架构是特别的 XML 结构的界说(从其安排和数据类型两个方面)。XML 架构运用“XML 架构”言语来指定在架构中怎么界说元素的每种类型,以及与元素相关的数据类型。与 DTD 比较,架构的最明显的特色,便是架构本身便是 XML 文档。这意味着阅览它所描绘的 XML 的东西也能够阅览它。

  Microsoft 的 XML 服务现在支撑 XML 数据架构,它代表了在 1999 年 3 月 Internet Explorer 5 装运时 “W3C 架构”活动的快照。XML 数据架构答应开发人员在他们的 XML 文档中增加数据类型,以及界说敞开的内容模型。这种对 DTD 功用的扩展对 XML 编程很要害。

  可是 W3C 正在预备“XML 架构界说 (XSD)”,它将成为“XML 架构标准”。Microsoft 方案在此标准成为主张后,立即便对“XML 架构界说 (XSD)”的支撑成为它中心 XML 服务的一部分。

  什么是称号空间,它们为何重要?

  称号空间是 XML 的另一个高档功用,并作为 XML 1.0 标准的一部分,在 W3C 笔记中作了概述。它们答应开发人员限制元素称号和联络。称号空间使元素称号仅有可辨认,然后避免了称号相同,可是在不同词典中界说的元素之间发作称号抵触。它们答应混合来自不同称号空间的符号,这一点对多个来历的数据很重要。

  例纾?榈昕梢远ㄒ?

  称号空间有助于明晰地界说这种不同。

  XSLT 和 XPATH

  什么是 XSLT?

  XSLT(英文) ,或许用于转化的可扩展款式表言语,它是在 1999 年 11 月 6 日取得同意的 W3C 主张。从符号和编程两重意义上说,这种言语供给了将 XML 结构转化到其他 XML 结构、HTML 或许任何数量的其他文本格局(例如 SQL)的机制。尽管它能够用于创立 Web 页面的显现输出,可是 XSLT 的实践功用在于能够改动底层结构,而不是简略地改动这些结构的媒体表明,就像在层叠款式表 (CSS) 中相同。

  XSL、XQL、XSL 形式 和 XSLT 之间的差异是什么?

  XSLT 源自 CSS 在对 XML 文档结构改动上的局限性,其时创立 XML 的原因更倾向于替代 HTML 而不是供给通用数据描绘言语。因而可扩展款式表言语 (XSL) 成为结构格局化 XML 新办法的效果。

  可是,“W3C 款式作业”组的成员和前期 XML 选用者很快就发现,能够将 XML 从一种格局转化到另一个格局的言语,能够极大地简化生成的很多代码。Microsoft 向 W3C 提交了一个主张,开端称号为 XML 查询言语(或 XQL),它随之被 W3C 采用为 XSL 形式言语。该言语的大多数功用终究都被纳入了 XSLT 标准中。

  终究标准结合了为不同初始条件而修正的 XSLT 参数,创立代码功用块的命名模板,以及很多用于数值和字符串处理的增强功用。XSLT 还为在言语中增加内置功用供给方便,供给了 Microsoft 可在自己的完成中用来增加许多极端有用功用(包含拜访 COM 方针和脚本)的产品。

  什么是 XPath?

  XPath(英文) 是为 XML 界说的查询言语,它供给在文档中挑选节点子集的简略语法。经过 XPath,经过指定类似于目录的途径(即称号)以及途径中的条件,能够检索元素调集。XPath 对 XSLT 和 XML DOM 都很重要,并与 XPointer 标准(答应依据一致资源定位符 [URL] 和 XPath 表达式的组合来挑选文档片断)有联络。

  为什么 XSLT 对 XML 很重要?

  XSLT 是将一种 XML 文档转化为另一种的言语。这意味着它供给了单源 XML 数据的机制,能够在 Web 页面中创立由用户动态更改的丰厚视图,能够为方针通讯过滤数据。XSLT 关于事务规矩编码现已满足强壮。它能够从数据生成图形(不仅仅是 Web 页面)。它乃至能够处理与其他服务器的通讯 — 特别是和能够集成到 XSLT 中的脚本模块协作 — 以及在 XSLT 本身内部生成恰当的音讯。尽管它不或许替代桌面体系中的大多数交互(出于功用和运用方便性两方面分原因),可是在未来的几年中,XSLT 很有或许终究成为体系之间进行通讯的首要“编程”言语。

  XSLT 和 CSS 之间的差异是什么?它们不是款式表吗?

  层叠款式表 (CSS) 的使命是对 HTML 元素指定一组显现特色。CSS 决议了页面的视觉外观,可是不会改动源文档的结构。

  另一方面,XSLT 也称为依据模板的言语,它答应将某种形式映射到源文档中,该源文档的输出是用 XML、HTML 或纯文本书写的。运用 XSLT,能够将 XML 文档的结构转化为不同的 XML 文档。例如,您能够更改 XML 文档的次序、增加或删去元素、履行条件测验或许用元素的调集进行迭代。

  XSLT 和 CSS 不是兼容标准。一种在 XML 中创立 Web 页面的有用技能,是用 XSLT 将 XML 转化为比如列表或表的结构,然后将 CSS 运用于成果,操控这些结构在恰当媒体中的显现。您乃至能够从 XSLT 创立 CSS。

  标准

  Microsoft 怎么与 XML 标准兼容?

  从 XML 言语开端发生起,Microsoft 就站在了 XML 的最前沿,而且很值得注意的是,W3C 在曩昔几年中所生成的大多数 XML 主张和作业草案,都包含来自至少一个(在某些情况下或许是数个)Microsoft 职工的输入和参加。Microsoft 现已屡次被委以重任,与 W3C 标准安排一同,保证 XML 的开发能使一切用户获益,而且在许多不同范畴的开发中都作出了重要贡献,包含 XML 标准、DOM、XSLT 和架构界说言语。Microsoft 许诺将与最新标准和标准保持一致。

  XML 和 World Wide Web Consortium (W3C) 之间的联络是什么?

  W3C 有一活泼的 XML 作业组。Microsoft 从 1996 年 6 月起便是该安排的一起发起者之一,从那时起许多业界企业都开端参加,包含 Netscape Communications Corp.、IBM 和 Oracle。有关 XML 标准进程的详细信息,请拜访 W3C Web 站点(英文)。

  XML 和 W3C 的位置联络怎么?

  XML 1.0 是在 1998 年 12 月被正式同意的,现在仍是个安稳的标准。有关其时 XML 标准的详细信息以及 W3C 内部的提交和审理进程,请拜见 W3C Web 站点(英文)。

  DOM 在 W3C 中的位置怎么?

  DOM Level 1 的 W3C 文档状况为“引荐”。这说明 W3C 现在正在提议将它作为 World Wide Web 上的标准。有关 DOM 和在 W3C 内部提交和审理进程的详细信息,请拜见 DOM 标准(英文)。

  东西支撑

  SQL Server 和 ADO 支撑 XML 吗?

  Microsoft ActiveX 数据方针 (ADO) 技能,供给许多将数据库记载集(数据记载调集)转化为 XML 格局的办法,以及从给定结构中获取 XML 并将其转化回 ADO 所支撑数据库(包含 SQL Server 和 Oracle 数据库)的东西。此外,经过 MSXML2 和 MSXML3 中的 XML 数据源方针,还能够将恣意 XML 直接加载到 ADO 中以生成记载集。

  SQL Server 2000 还答应经过 URL 直接设置和检索 XML,办法和调用 Web 页面十分类似。这是处理数据的强壮机制,由于它根本上意味着能够将 SQL Server 数据直接集成到 XML 过滤器和 Web 页面,根本上但凡有 XML 文档的当地都能够集成 SQL Server 数据。此外,还能够设置自界说模板,来操控怎么从 SQL Server 数据中发生 XML,使数据库成为生成 XHTML 页面的强壮东西。

  最终,比如 BizTalk Server 这样的运用程序还答应在恣意数量的不同数据源(从 XML 文档到数据库到 Excel 和 Word 文档)之间进行映射、为 Web 体系结构创立杂乱数据管道以及依据 XML 数据库需求结构有用的架构。

  现在有 Microsoft 东西能够协助我快速沿袭 XML 吗?

  Microsoft BizTalk Server 2000 是用于数据交流的、依据 XML 的服务器,它供给启用电子商务事务社会的根本结构和东西。BizTalk Server 的根底是依据规矩的事务文档路由、转化和盯梢根本结构。该根本结构答应公司经过在安排鸿沟之内或之间的运用程序中心交流事务文档,例如购买定单和发票,来集成、办理和主动化事务进程。有关详细信息,请拜见Microsoft BizTalk Server 2000(英文) 。

  什么是 SOAP?

  SOAP 是简略方针拜访协议,是创立大范围分布式、杂乱核算环境的东西,该核算环境可运用现有的 Internet 根本结构运行在 Internet 上。SOAP 能够使运用程序用许许多多办法在 Internet 上相互直接通讯。有关 SOAP 的详细信息,请拜见 SOAP 标准(英文)。

  XML 怎么适用于 Microsoft Windows? Distributed InterNet Applications (Windows DNA) 战略来结构三层并具有 Web 功用的运用程序?

  XML 正在快速成为将结构化数据从中心层传送到桌面的东西。依据 XML 的数据能够经过中心层署理与多种后端(数据库)源集成。架构(拜见“XML 数据”一节)能够改善该进程,而且开发人员能够更精确地描绘和交流数据。

  问题和解决方案

  为什么在调用了 Load() 办法后,我的文档方针依然为空?

  默许情况下操作是异步加载的。这意味着假如供给 http URL 地址,那么 load() 办法将直接回来,而且文档方针依然为空,由于数据还没有从服务器回来。为了纠正这个问题,请在代码中增加下面的行:

  xmldoc.async = false;

  一起,假如是从独立的 C++ 运用程序加载 http XML 文档,那么有必要查询音讯行列才干持续加载。