! t+ S: G' N5 L% k8 r8 n; ~ “可扩展标记语言”(XML) 提供一种描述结构化数据的方法。与主要用于控制数据的显示和外观的 HTML 标记不同,XML 标记用于定义数据本身的结构和数据类型。 , E- Q. ^8 w# ?+ h
- v3 N/ g" F+ \
XML 使用一组标记来描绘数据元素。每个元素封装可能十分简单也可能十分复杂的数据。您可以定义一组无限制的 XML 标记。例如,您可以定义一些XML 标记来声明订单中的数据,如价格、税收、发货地址、帐单地址等等。由于 XML标记在整个单位中以及跨单位采用,因此来自各种不同数据存储区的数据将更容易交换和操作。 7 Z& o( O" C3 k0 `* W3 L
9 J6 P* q& F0 }2 }/ ]& H/ S7 ] XML是一种简单、与平台无关并被广泛采用的标准。XML 相对于 HTML的优点是它将用户界面与结构化数据分隔开来。这种数据与显示的分离使得集成来自不同源的数据成为可能。客户信息、订单、研究结果、帐单付款、病历、目录数据及其他信息都可以转换为 XML。 $ Z" F: B8 O5 o0 [. U! X
* R: ]" @0 { V \% ~ XML 与 HTML ) m% N7 T5 l2 K: [ 以下是要记住的有关 XML 与 HTML 之间关系的几个要点: 4 v. c! ?: r+ o. a" B
* E: |4 S+ h$ @; y' x
a.. XML 不是要替换 HTML;实际上 XML 可以视作对 HTML 的补充。XML 和 HTML 的目标不同:HTML 的设计目标是显示数据并集中于数据外观,而 XML 的设计目标是描述数据并集中于数据的内容。 1 l/ M6 s U$ a0 c& g, o7 L9 w b.. 与 HTML 相似,XML 不进行任何操作。虽然 XML 标记可用于描述订单之类的项的结构,但它不包含可用于发送或处理该订单以及确保按该订单交货的任何代码。其他人必须编写代码来实际对 XML 格式的数据执行这些操作。 7 `- @5 n5 S9 U" r7 `, w2 U. ^ c.. 与 HTML 不同,XML 标记由架构或文档的作者定义,并且是无限制的。HTML 标记则是预定义的;HTML 作者只能使用当前 HTML 标准所支持的标记。 + l7 m' d* q! W" G @: R, S) w
$ V6 A: d$ Z8 S- r7 d XML 的使用 0 _4 V' l' A1 n B5 \( I, g XML 是一种极灵活的、传递数据的方式。以下全部是可使用 XML 的场合的示例: # I& p, ^' S. n" i: I2 R " M* U" {" \5 }0 S3 `! b* f9 A a.. 普通文档 8 f) @! Z! u: n" Q
b.. 结构化记录,如约会记录或订单 5 {6 U9 g n6 P4 ~3 v* u8 s3 d
c.. 移动数据的 Internet/Intranet Web 应用程序 # F! L9 r1 }: ^
d.. 带有数据的对象,如对象或 ActiveX 控件的持久格式 # \, O, i: i4 V9 Y0 u
e.. 数据记录,如查询的结果集 ( q0 w( [; C9 y# _ f.. Web 站点的元内容,如“信道定义格式”(CDF) 9 g1 M8 O0 j2 v" Y& u g.. 图形显示,如应用程序的用户界面 ) [" W9 H) O: }' P8 ]* n# }
h.. Web 上信息与人的链接 , d' m0 A7 Z4 ?3 U+ h* p
i.. C# 代码(可以用 XML 形式);有关更多信息,请参见 XML 文档 1 Q- w% a; |$ I
j.. 用于定位可用 XML Web services 的发现文档;有关更多信息,请参见 XML Web services 发现。 $ C8 {, M' M( @/ ` - x J5 ?+ i! K+ e# Z 以下列出存储信息时 XML 相对于其他格式的若干优越性: : M$ C. @" E& ~+ y5 T) {4 h G
# S/ u5 J2 T4 @
a.. XML 格式是基于文本的,这使得它们更容易读、更便于记录,有时也更便于调试。 * V; S9 c( [3 ?# x; x b.. XML 文档可使用已为 HTML 建立的很多基础结构,包括 HTTP 协议和某些浏览器。HTTP 允许穿过防火墙传输 XML。 # T# g8 w3 a. |2 G
c.. XML 分析已有完善的定义,且已广泛应用,使得在各种环境中从 XML 文档检索信息成为可能。 + U/ n. c7 }: r( P! y
d.. 应用程序可依赖 XML 分析器进行某些结构验证以及数据类型检查(当使用架构时)。 ' Y8 [$ B" n2 d% T( K. H; H+ h7 {5 w
e.. XML 建立在 Unicode 基础上,使得创建国际化文档更容易。不过,XML 并不适合于所有情况。XML文档往往比它们替换的二进制格式详细。它们占用更多的网络带宽和存储空间,或需要更多的处理器时间进行压缩。XML分析可能比分析高度优化的二进制格式慢,并且可能需要更多内存。然而,精心的应用程序设计能够 - W% w- F9 P7 { 避免一些问题。 $ [/ f8 J' ?: x, O
2 k! ]! }0 C8 H, H6 k3 u验证 XML 文档 & [8 D& C2 b7 e5 F/ W* e" i9 { 若要验证 XML 文档包含所需数据和结构,必须将一个 XML 架构与 XML 文档相关联。XML 架构是定义如何构造元素和属性来形成 XML文档的规则。您可以在单位之间共享架构,以使得传输和处理共享数据变得简单。有关更多信息,请参见 XML 架构介绍。 $ h) r2 Z1 S7 t. q4 p
4 A& s6 B* k9 A, l0 C! t 显示 XML 数据 9 N p! \; t& V
有几种方式可用于显示(或提供)XML 数据。 2 E- l! _ ^$ F! U& | ( K6 ?1 n: y# P7 Q. {; h- w 还有数据绑定的机制可与样式表一起使用,以便以可视形式展示 XML 数据,以及添加交互性。 ( s3 { f# M8 c5 j( Z- K l4 ?1 Y( x0 A1 b2 }! ?6 e
以下是显示 XML 的几种方法: ( C2 {5 L& S( I+ Y! Q / b4 m0 B9 g# x9 B a.. XSLT — 可扩展样式表语言 ; T" E1 k* P9 k) j6 E) C( o% W b.. CSS — 级联样式表 0 j* \3 k6 ~# N/ V5 v, h c.. Microsoft Internet Explorer # q' F; \" @6 m, ~- T
有关更多信息,请参见 MSDN Online XML 开发人员中心 Web 站点 ) `) L0 d6 f& u: N M
(http://msdn.microsoft.com/xml/default.asp)。 ) P1 W" W9 c8 Z }5 o ' F# F7 U, [4 I0 c. U XML 资源 1 v# V- v# {, C; U! L 如果您熟悉 HTML,则可以学习创建 XML 文档,只要求它们有效且符合标准格式。有关 " ?! e! @/ |) d2 E! [6 h
XML 的更多信息,请参见 XML SDK 和 MSDN Online XML 开发人员中心 Web 站点 3 b0 W; O# Z0 F" V (http://msdn.microsoft.com/xml/default.asp)。 # A1 g" q6 B" \* C3 j % c7 g% N6 H4 E& T- R 有关更多信息,请参见万维网联合会 (W3C) 的 XML 规范 ' q0 i* @ @3 M/ b% G0 |: b (http://www.w3.org/XML/)。 , o7 }# A* l3 ?1 a! ~. a5 l0 E$ G 4 j6 g# y2 l. I3 P( d( p7 w9 a 8 U( c! q6 q$ N, f4 C0 H Q: 那为什么有很多大型的网站,还是用html而不是xml呢? ; ^+ v$ i3 C$ t1 {, u4 F5 j& j
; `2 U2 X% S t, p0 |1 v$ d6 q, \/ n( l 1 M7 U7 q6 Z8 ~0 u A:XML和HTML实质上是不一样的,你说大型站点使用HTML,如果是静态数据用HTML速度当然最快了,但是维护欠佳! 4 y! @; S- O: S% H 一般使用XML+CSS进行站点设计,但XML+CSS局限性比较大,还是用XML+XSLT吧 3 T! b/ E- L; f6 L' V$ ]8 M Z6 F. Z0 C5 j5 b& F& r
3 z9 L S2 `- t0 h2 e1 U Q: 现在我直接用xml开发一个网站,再直接上传到现在提供的普通静态空间,它能显示吗? . Q6 B ]/ {) y+ l5 {3 D& T. c% R3 s1 Z, r5 g
0 U1 E: K% f# e0 ^5 Z A: 如果可以假定用户都使用(或至少装置了)IE6就没有什么问题。 4 o! |; T. p, P5 {$ w' m1 V: M8 U; S+ ^2 p2 r+ v: B- p
如果用户使用其它浏览器,那就应该在服务器端进行XML->HTML的转换,普通静态空间不支持。可以选支持XMLDOM的ASP或PHP空间。因此运行环境是不同的