免费智能真题库 > 历年试卷 > 数据库系统工程师 > 2009年上半年 数据库系统工程师 上午试卷 综合知识
  第70题      
  知识点:   什么是XML   XML
  关键词:   文档        章/节:   数据库主流应用技术       

 
以下不符合XML文档语法规范的是(70).
 
 
  A.  文档的第一行必须是XML文档声明
 
  B.  文档必须包含根元素
 
  C.  每个开始标记必须和结束标记配对使用
 
  D.  标记之间可以交叉嵌套
 
 
 

   知识点讲解    
   · 什么是XML    · XML
 
       什么是XML
        XML(Extensible Markup Language),意为可扩展的标记语言。XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。它也是元标记语言,即定义了用于定义其他与特定领域有关的、语义的、结构化的标记语言的句法语言。
        关于XML要理解的第一件事是,它不只是像HTML超文本标记语言或是格式化的程序。这些语言定义了一套固定的标记,用来描述一定数目的元素。如果标记语言中没有所需的标记,用户也就没有办法了。这时只好等待标记语言的下一个版本,希望在新版本中能够包括所需的标记,但是这样一来就得依赖于软件开发商的选择了。但是XML是一种元标记语言。用户可以定义自己需要的标记。这些标记必须根据某些通用的原理来创建,但是在标记的意义上,也具有相当的灵活性。例如,假如用户正在处理与家谱有关的事情,需要描述人的出生、死亡、埋葬地、家庭、结婚、离婚等,这就必须创建用于每项的标记。新创建的标记可在文档类型定义(Document Type Definition,DTD)中加以描述。XML定义了一套元句法,与特定领域有关的标记语言都必须遵守。如果一个应用程序可以理解这一元句法,那么它也就自动地能够理解所有的由此元语言建立起来的语言。浏览器不必事先了解多种不同的标记语言使用的每个标记。事实是,浏览器在读入文档或是它的DTD时才了解了给定文档使用的标记。关于如何显示这些标记的内容的详细指令是附加在文档上的另外的样式单提供的。有了XML就意味着不必等待浏览器的开发商来满足用户的需要了。用户可以创建自己需要的标记,当需要时,告诉浏览器如何显示这些标记就可以了。
        关于XML要了解的第二件事是,XML标记描述的是文档的结构和意义。它不描述页面元素的格式化。可用样式单为文档增加格式化信息。文档本身只说明文档包括什么标记,而不是说明文档看起来是什么样的。XML是一种元标记语言,可用来设计与特定专业领域有关的标记语言。每种基于XML的标记语言都叫作XML应用程序。这种应用不是像Web浏览器或XML Pro那样的编辑器一样地使用XML,而是在特定的领域中应用XML,如化学上用的化学标记语言(Chemical Markup Language,CML)。每种XML应用程序有它自己的句法和词汇表。这种句法和词汇表遵守XML的基本规则。这有点像人类语言,每种语言都有它们自己的词汇表和语法,但同时遵循人体解剖学和大脑结构所要求的基本规则。XML是以文本数据为基础的非常灵活的格式。在本章中讨论的广泛的应用都选择了XML作为基础的原因是(排除大肆宣传的因素),XML提供了切合实际的并清楚地描述了的易于读写的格式。应用程序将这种格式用于它的数据,就能够将大量的处理细节让几个标准工具和库函数去解决。更进一步说,对于这样的程序也容易将附加的句法和语义加到XML提供的基本结构之上。
 
       XML
        XML(eXtensible Markup Language,可扩展标记语言)实际上是Web上表示结构化信息的一种标准文本格式,同HTML一样,都来自SGML(Standard Generalized Markup Language,标准通用标记语言)。
               XML的特征
               XML具有以下特征。
               (1)XML是元标记语言。HTML定义了一套固定的标签,有其特定的含义。XML则允许用户自己定义所需的标签。
               (2)XML描述的是结构和语义。XML标签描述的是文档的结构和意义,而不是页面元素的格式。
               (3)XML文档的显示使用特有技术支持,如通过样式单为文档增加格式化信息。
               XML基本语法
               一个正规的XML文档由3个部分组成,即一个可选的序言、文档的主体和可选的尾声。一个XML文档通常以一个XML声明开始,后面通过XML元素来组织数据。XML元素包括标签和字符数据。
               下面是一份格式正规的XML文档:
               
               可以看出,XML文档序言部分从文档的第一行开始,它可以包括XML声明、文档类型声明、处理指令等。文档的主体则是文档根元素所包含的那一部分。XML尾声部分在文档的末尾,它可以包含注释、处理指令或空白等。
               应用程序接口
               XML文档本身是一个文本文件,在需要访问文档中的内容时,需要XML解析器进行语法验证和提取内容。两个著名的XML解析器的标准规范分别是W3C标准组织制定的文档对象模型(Document Object Model, DOM)和XML_DEV邮件列表成员定义的简单应用程序接口(Simple APIs for XML, SAX)。
               XML程序接口框图如下图所示。
               
               XML程序接口框图
               从上图中可以看出,应用程序不是直接对XML文档进行操作,而是首先由XML解析器对XML文档进行分析,然后应用程序通过XML解析器所提供的DOM接口或SAX接口对分析结果进行操作,从而实现对XML文档的访问。
               1)文档对象模型
               在应用程序中,基于DOM的XML解析器将一个XML文档转换成一棵DOM树,应用程序通过DOM树来实现对XML文档数据的操作。DOM API提供给用户的是一种随机访问机制。通过它,应用程序不仅可以在任意时刻访问XML文档中的任何数据,而且可以任意地插入、删除、修改和存储XML文档的内容。
               DOM解析器所采用的树型结构思想与XML文档结构吻合,应用十分广泛,但是对机器性能的要求较高,实现效率不是十分理想。
               2)简单应用程序接口
               与DOM不同,SAX采用的是顺序访问模式,是一种快速读写XML数据的方式。当SAX解析器对XML文档进行分析时,会触发一系列事件,并激活相应的事件处理函数,应用程序通过这些事件函数实现对XML文档的访问。同DOM解析器相比,SAX实现简单,效率较高,但是缺乏灵活性,仅适用于访问XML数据,不适用于对文档进行更改的应用程序。
               XML文档的显示
               由于XML中的标签许多是开发者自己定义的,主要用于说明文档所表述数据的内存结构关系,因此其显示格式需要特殊的机制来定义。层叠样式单(Cascading Style-Sheets, CSS)和扩展样式单语言(eXtensible Stylesheet Language, XSL)是W3C推荐的表达XML文档数据显示格式的两种标准。
               1)层叠样式单
               CSS最初主要应用于HTML,可以保证文档显示格式的一致性和较好的格式化。通过CSS可以产生如字体、颜色和位置等不同样式的显示格式信息。CSS可以存在于相应文档的页面中,也可以独立的文件形式存在。推荐使用独立的样式文件,以便于维护。CSS在功能上不如扩展样式单语言强大,但是开发相对容易。
               2)扩展样式单语言
               扩展样式单语言遵守XML的语法规则,是XML的一种具体应用。XSL可以分为3个部分,即转换工具(XSLT)、格式对象(FO)和XML分级命令处理工具XPath。一个XML文档的显示过程是这样的:首先根据XML文档构造源树,然后根据给定的XSL将构造的源树转换为可以显示的结果树,最后按照FO解释结果树,产生一个可以在屏幕或其他媒体中输出的结果。
               描述树转换的部分协议,已经从XSL中分离出来,取名为XSLT。XSLT的主要功能就是将源树转换为结果树。在XSLT中定义了与XML文档中各个逻辑成分相匹配的模板以及匹配转换方式。具体的转换过程,既可以在服务器端进行,也可以在客户端进行。
   题号导航      2009年上半年 数据库系统工程师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第70题    在手机中做本题