xml

XML简介

1.1 XML简介

1.1.1 什么是XML

   XMLeXtensible Markup Language)可扩展标记语言,是 Web 上的数据通用语言。它使开发人员能够将结构化数据,从许多不同的应用程序传递到桌面,进行本地计算和演示,并且它还支持用户自己可以定义自己的一组标签,用来增强数据的自描述。XML允许为特定应用程序创建唯一的数据格式。它还是在服务器之间传输结构化数据的理想格式。

    XML文档是基于文本格式的,其允许开发人员描述结构化数据并在各种应用之间发送和交换这些数据。

    XML 1.0 是在 1998 12 月由W3C正式批准的,现在仍是个稳定的标准。

W3C 有一个活跃的 XML 工作组,致力于XML规范的推广。

    W3CWorld Wide Web Consortiumhttp://www.w3.org/)创建于 1994年,宗旨是研究Web规范和指导方针,致力于推动Web发展,保证各种Web技术能很好地协同工作。其大约有500名会员组织,它的主任Tim Berners-Leehttp://www.w3.org/People/Berners-Lee/1989年发明了WebW3C推行的主要规范有HTMLCSSXMLXHTMLDOMDocument Object Model

1.1.2  XML可以代替HTML

XML HTML 提供更大的灵活性,但是它不可能很快代替 HTML。实际上,XMLHTML能够很好地在一起工作。Microsoft 希望许多作者和开发人员都能同时使用 XML HTML,比如用 XSLT 来生成 HTML

1.1.3  HTMXHTMLXML之间的关系是什么?

HTML可以和 CSS 一起用于格式化和表示超链接页面。动态HTML,通过 DOM,使HTML中的所有元素,都可以通过与语言无关的脚本和其他编程语言来访问,从而在很大程度上提高了客户机端的交互能力,而且不需要对服务器的额外需求。页面的对象模型允许动态更改任何方面的内容(包括增加、删除和移动)。

    1.1.4 XML继承自SGML

 

 

 

 

 

 

 

 


      SGML (Standard Generalized Markup Language) 标准通用标记语言。SGML是基于一种IBM早先创建出的通用标记语言的,这种标记语言包括GMLISIL。一个SGML语言程序,要由三部分组成,即语法定义文件类型定义(简称DTD--Definition Type Document)文件实例。语法定义,定义了文件类型定义和文件实例的语法结构;文件类型定义,定义了文件实例的结构和组成结构的元素类型。文件实例是SGML语言程序的主体部分。

    SGML本身并不是一个文档语言,但它描述了一种文档语言,因此它是一种元语言。SGML的思想是基于文档应该有结构和语义结构而设计的。它不关心这些语义元素如何显示,而只关心如何组织它。因此显示的方式可能有所不同。        

在继承中,XML继承了SGMLHTML的优点,也就是说,它不仅继承了SGML的特色,还结合了HTML的特点。其采用了SGML的主要框架,有时,人们也将XML称为SGML的子集。因此,HTMLSGML的应用,而XMLSGML的子集。

    XML是由SGML修整并改造而来,它是一种元语言,用于描述其他语言。在应用中,HTML用于定义描述数据的显示方式标签,而XML用于描述数据的逻辑结构

 大多数Internet浏览器(如Internet Explorer)都支持XML

 例程1:(一个XML文件)

   

1.2 XML的优势与应用范围

      XML 正在数量惊人的应用程序中使用,范围从 Web 站点创建和文档化到数据库集成和分布式编程。在下面几个领域中,XML 有其用武之地:

l  业务对业务的传输

业务数据(发票、购买定单、会计和税务信息等等)是以 XML 格式在厂商之间电子传输的。与旧的电子数据交换 (EDI) 格式相比,XML 提供了许多优点,而不仅仅是可以在传输中从一种发票格式转换到另一种。

l  分布式编程

XML是非常理想的复杂多平台应用程序构造方案,这样就使得 Windows 服务器和其他操作系统的集成成为可能。

l  Web 站点体系结构

由于XML的层次结构和分布式特性,Web站点开发人员在他们Web站点的总体体系结构和导航结构中越来越多地使用它。此外,越来越多的目录表和索引表、跟踪用户信息及Web站点状态的XML结构、基于 HTML 的组件和处理数据流的渠道,都用XML XSLT 编写。

l  数据库操作

XML正成为与数据库交互的流行工具 — 无论从 SQL 查询中检索XML数据集,还是用XML记录更新数据库。而且我们还有分离实现的优点。通过将数据压缩为 SML,就不需要对实际的数据库结构有任何了解。

l  文档管理

目前的大多数公司都陷在文书工作的海洋里,而且会越来越糟。XML 正在越来越多地用于将文档编码成 XML,使文档更易于检索或提供链接到文档的注释上下文,以便更有效地进行参考。

1.3 XML文档结构

      XML文档是由一组使用唯一名称标识的实例组成的。所有文档都以根或文档实体开始,而且所有实体都是可选的。实体可以被视为更复杂功能的别名。单个实体名称可以代替许多文本。在别名方案中,每当需要引用某个文本时,只需使用别名,处理器会展开别名的内容。如下图所示,XML文档的结构组成:

 

1.3.1 构建 XML 文档的步骤:

1.   陈述XML声明

2.   创建根元素

3.   创建XML代码

1.3.2 XML文档的各种内容

l  数据与标记

XML 文档由数据以及描述该数据的标记组成。数据通常是字符数据,但也可以是二进制数据。标记包括标签、注释、处理指令、DTD和引用等。

<NAME>盛大</NAME>

l  注释

XMLHTML使用相同的注释符。

使用注释要注意以下规则:

n  注释文本中不应包含“-”或“”符号

n  注释绝对不能放在标签中

n  注释不能放在实体声明中,也不能放在XML声明之前

n  注释可用于注释标签集(多行注释)

n  注释不能嵌套

l  处理指令

处理指令是为使用该XML文档的应用提供的一则信息命令,由解析器进行解析。XML声明也是一个处理指令,其说明格式如下所示:

l  实体

实体是XML的存储单元。实体可以包含常用的短语、字符、文件、数据库记录或任何包含数据的项。分为预定义实体和自定义实体:

n  预定义实体:

&lt;  <    &gt;  >   &amp;  &   &quot;  "   &apos;  '

<order value="He said,&quot;Don&apos;t jump">

n  一般实体:

<letter>&address;</letter>

n  参数实体

当实体和实体引用都只需在 DTD 中出现时,则使用参数实体。参数实体,无论是内部还是外部,都只在 DTD 中使用。它们不能在文档内容中使用,因为处理器无法识别。它包括“%”说明符。

                

l  标签间的字符数据类别

1.   开始标签和结束标签之间的文本被定义为“字符数据”

2.   字符数据可以是“<”以外的任何合法 (Unicode) 字符

                 

               

l  DOCTYPE声明

XML文档中,<!DOCTYPE name[…]>声明跟在XML声明的后面。实体必须在文档DOCTYPE声明中声明。

    1.3.3 格式良好和有效的XML 文档

n  格式良好的XML文档

如果一个XML文档满足了最低的要求集(在定义XML语法的XML1.0规范中定义),则该文档被视为格式良好。其满足以下条件:

HTML不同,XML规定元素属性值必须使用引号分隔。

n  有效的XML文档

有效的XML文档是格式良好的XML文档,其符合DTD(文档类型定义)的规则。在DTD中定义了文档中的标记必须遵循的规则,还包含了指定文档总体结构的定义以及可以接受的数据内容值的类型。有效的XML文档还符合SGML文档的标准。

1.3.4    解释器

XML解析器用于读取XML文档,并解析其内容给计算机识别。在加载文档时,检查XML文档的格式是否良好以及是否有效,并创建一个文档树形结构或数据结构。IE5有内置的XML解析器,称为MSXMLIE6是解析器称为Microsoft Parser。其不符合W3C标准。

 

解析器分为两类:

n  非验证解析器:它检查文档的格式是否良好

n  验证解析器:它使用DTD检查文档的有效性

 

1.4 使用DTD构建有效的XML文档

DTD(Document type Definition)文档类型定义。DTD指定了XML文档的语法结构,其目的在于定义XML文档的合法构建块,从而使XML解析器能够理解和解析文档的内容。DTD包含XML文档中的标签及其类型和属性的列表定义。有效的XML文档就是符合其DTD的文档。DTD以简单文本文件的形式出现,可以存储在XML文件中,也可以存储在独立的外部文件中。引用DTDXML文档将包含<!DOCTYPE>声明,此声明包含DTD声明,或指定外部DTD的位置。

       1.4.1 DTD的结构

DTD包括许多组件,如DOCTYPE声明、元素声明和属性声明。在XML中,元素是文档的一个逻辑组件。在XML文档中声明的每个元素都必须在DTD中具有对应的元素声明,以便在验证时识别身份。

DTD的一般结构如下:

可以在XML文件中声明DTD,也可以将它存储在独立的文件。如果存储在独立的文件,使用.dtd扩展名进行保存。

 

       1.4.2 DTD的元素声明

              DTD中,使用元素声明来声明XML元素。语法如下:

        

        <!ELEMENT SHOWROOM (TV|LAPTOP)+>

n  空元素

EMPTY元素内容类型指定该元素没有子元素或字符数据。将关键字EMPTY放在括号中,可以声明空元素。如下:

空元素可以具有属性。

n  带有数据的元素

带有数据的元素是使用它们的数据类型声明的,数据类型在括号声明

n  带有子元素的元素

n  混合型元素

              1 序列:  <!ELEMENT  A (B, C)>

              2:  选择:    <!ELEMENT  A (B | C)>

元素的规则:

n  只出现一次

 

n  至少要出现一次

n  出现零次或多次

n  出现零次或一次

 

       1.4.3 DTD的元素属性声明

             

属性的规则:

n  默认属性值

n  IMPLIED属性值

如果开发人员不希望强迫作者提供属性,而且也没有默认值。

n  REQUIRED属性值

如果没有默认值,但仍然希望在文档中出现此属性。

n  FIXED属性值

如果希望属性具有固定值,使作者不能更改。

 

属性的类型:

n  枚举类型

n  ID唯一和IDREF参照及IDREFS多参照

n  ENTITY实体和ENTITIES实体集

n  NMTOKENNMTOKENS

它们用于指定任何有效的一个或多个XML名称。将其他组件与元素关联时,可以使用这些属性。这些属性以单个/多个记号作为值。

       1.4.4 DTD内的实体应用

             

1.5      XML命名空间

命名空间有助于标准化元素和属性,并为它们加上唯一的标志。确保元素名称没有冲突,并阐明它们的来源,但它们不确定如何处理元素。XML解析器必须知道元素的意义以及何何处理它们。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值