《XML基础及应用开发》复习提纲◆考试题型一、选择题(每小题2分,共40分)二、填空题(每空1分,共10分)三、简答题(6小题,共25分)四、设计题(3小题,共25分)◆复习内容一、英文缩写的中文全称XML:可扩展标记语言SGML:标准通用标记语言HTML:超文本标记语言DTD:文档类型定义XSL:可扩展样式表语言CSS:级联样式表或层叠样式表二、XML基本语法1、XML文档声明P.181.XML文档主要由两部分组成:文档序文和文档根元数。
2.根据XML规范,每个正规的XML文档都要由一个XML文档声明开始,不允许在其前面有其他任何的字符、空格以及注释。
3.XML声明的基本语法格式为:<?xml version=”1.0”encoding=”gb2312”standalone=”yes”?>4.version=”1.0”:说明使用的XML版本为1.0。
5. 默认使用UTF-8。
2、XML元素的定义P.22-251.元素的基本形式:1.开始标记和结束标记必须成对出现。
2.XML元素的开始标记和结束标记必须同名,但要在结束标记前面加上一个斜杆。
3.各个元素的开始标记和结束标记可以嵌套使用,但不能交叉使用。
4.空元素标记可以省略结束标记,但必须以“/”结束。
2.元素的命名规则1.英文名称必须以英文字母或下划线“_ ”开头,中文名称可以以汉字开头或下划线“_ ”开头。
2.元素名称前不能出现空格。
3. 在英文元素名称在,元素名称应该区分大小写。
元素的嵌套4. 一个XML文档只有一个根元素,它是XML文档的入口,代表文档本身。
3、XML元素属性的定义P.27元素中属性声明的语法格式:空元素<标记名属性名1=“属性值1”属性名2=“属性值2”····>元素内容</标记名>非空元素<标记名属性名1=“属性值1”属性名2=“属性值2”····/>定义:1.属性的命名规则与元素的命名规则相同,属性名区分大小写。
2.元素可以定义多个属性,属性之间必须用空格隔开。
3.属性名和属性值必须成对出现。
4. 属性值必须用单引号或双引号作为一对分隔符将其括起来。
5.属性不能再元素的结束标记中出现。
4、XML文档注释P.30-331.注释的格式:<!—注释内容-->2.放在<?xml version=”1.0” encoding=”gb2312” standalone=”yes”?>下面,根元素的前面。
3.注释不能出现XML声明之前,XML声明必须是文档最前面的部分。
4.注释不能放在标记中。
5.XML注释中不能包含另一个注释。
5、XML的相关技术:DTD、XSL、Xpath6、根据XML文档结构图(P.27 图2-4)完成XML文档的编写三、文档类型定义(DTD)1、DTD的用途P.42DTD是用来描述XML文档的一种常见方法,用来定义文档的逻辑结构。
2、元素的声明(基本字符元素、含有子元素的元素、空元素)P.45-511.元素声明的语法:ELEMENT:元素声明语句的关键字,用大写字母表示,指示该语句元素声明语句。
2.基本字符元素声明XML文档中的基本元素是指那些含有字符数据,而不含有任何子元素的元素。
在相应的DTD中,声明基本字符元素的具体格式如下:<!ELEMENT 元素名称(#PCDATA)>这里的PCDATA是指可解析字符数据,小括号和PCDATA前面的“#”不能省略。
3.含有子元素的元素声明有时XML文档中的一个元素可以包含若干指定的子元素,也就是说,元素含有子元素。
在相应的DTD中,声明含有子元素的元素的具体格式如下:<!ELEMENT 父元素名(子元素名1,子元素名2,子元素名3,…)>这种声明方式是十分严格的,也就是说,经上述声明的元素只能包含所指定的子元素,而不能直接包含其他任何字符数据;同时这些元素在XML文档中必须以声明中的排列顺序依次出现在其父元素中,每个子元素必须出现且只能够出现一次。
3、控制子元素出现次数的特定符号P.49DTD中控制子元素出现次数的特定符号无符号:没有基数操作符,表示必须出现且只能出现一次。
?:可不出现或只出现一次*:可不出现或可多次出现,即可出现任意次。
+:出现一次或多次,即至少出现一次。
EMPTY元素声明例如,在HTML中,<BR>、<HR>、<IMG>等标记都是没有内容的,称之为空元素。
在XML文档中也可能会包含一些空元素,这些空元素只有一个独立标记,而没有任何内容。
在对应的DTD中,空元素的声明格式为:<!ELEMENT 元素名EMPTY>下面的语句定义了一个空元素:<!ELEMENT style EMPTY>空元素在XML文档中的表示格式为<元素名/>,可以没有结束标记,但必须在标记名之后添加“/”。
对于上面例子的空元素声明,在XML文档中使用此空元素的格式为:<style/>4、实体的声明与引用(内部一般实体、外部一般实体、内部参数实体)P.53在DTD中,声明实体的一般格式为:<!ENTITY [%] 实体名实体值>(1)在XML文档或者DTD中引用内部一般实体时,需要在实体名前加“&”符号,在实体名后添加“;”符号。
其对应的XML文档的使用格式为:&实体名;(2)内部参数实体的定义和使用。
一般实体可在XML元素中引用,也可以在DTD中引用;但参数实体只能在DTD中引用,并且通常情况下只能在外部DTD 文档中引用。
声明内部参数实体的格式为:<!ENTITY % 实体名实体值>在DTD中引用内部参数实体时,需要在实体名面前加“%”,在实体名后添加“;”,其语法格式如下:%实体名;在DTD中定义外部一般实体的格式为:<!ENTITY 实体名SYSTEM 实体URL>在XML文档中,引用外部一般实体时,同样需在实体名面前加“&”,在实体名后加“;”。
其引用的语法格式为:&实体名;声明外部参数实体的语法格式为:<!ENTITY % 实体名SYSTEM 实体URL>5、属性的声明(属性默认值的设置、CDATA)P.54-57DTD中对属性定义的一般语法为:<!ATTLIST 元素名属性1名称属性1类型属性1的缺省取值元素名属性2名称属性2类型属性2的缺省取值…元素名属性n名称属性n类型属性n的缺省取值>属性默认值的设置1.必须赋值的属性:REQUIRED在DTD中,为元素声明属性必须赋值的格式为:<!A TTLIST 元素名属性名元素类型#REQUIRED>2.属性值可有可无的属性:IMPLIED在DTD中,为元素声明一个属性值可有可无的属性的格式为:<!A TTLIST 元素名属性名属性类型# IMPLIED>3.有固定取值的属性:FIXED在DTD中,为元素声明一个属性值固定的属性的格式为:<!A TTLIST 元素名属性名属性类型#FIXED“缺省值”>DTD中属性的数据类型CDATA:属性值为普通字符数据。
6、XML文档引用外部DTD文件的方法P.70首先,XML声明中必须把standalone属性的属性值设置为no,用以说明这个XML 文档不是自成一体的。
代码如下:<?xml version=”1.0” encoding=”GB2312” standalone=”no”?>其次,在DOCTYPE声明中,应该加入SYSTEM属性,代码格式如下:<!DOCTYPE 根元素名SYSTEM“外部DTD文件的URL”>四、名称空间1、名称空间的声明P.79XML名称空间的声明语法格式如下:<元素名称xmlns:名称空间前缀=“URI”>五、XML Schema1、XML Schema简介P.86XML Schema可以用来详细规定XML文档的数据类型及组织结构。
而XML Schema只能保存成一个独立的外部文档。
XML Schema称为XML模式或者XML 架构。
2、XML Schema的数据类型(常用内置数据类型的使用)P.91自定义简单数据类型P.93-95使用Schema文档元素simpleType和complexType来定义简单数据类型和复杂数据类型。
XML Schema的内置基本数据类型string:使用字符组成的字符串,如“Hi,how are you!”等decimal:各种精度的浮点数,如38.987,-12.658754634666756等dataTime:格式为CCYY-MM-DDThh:mm:ss的特定日期时间数据,如2010-05-12T10:20:00XML Schema的内置派生数据类型ID:XML文档的ID属性,在整个XML文档中是唯一的,不可重复,且必须以字母开头用于描述数据类型细节的子元素minInclusive:包含给定值的最小取值manInclusive:包含给定值的最大取值length:数据内容的长度minLength:数据内容的最小长度manLength:数据内容的最大长度pattern:正则表达式字符串enumeration:枚举数据列表P94 (1)---(4)要看~~~3、XML文档引用XML Schema文档的方法P.99<?xml version=”1.0” encoding=”GB2312”?><根元素xmlns:xsd=/2001/XMLSchema-instancexsd:noNamespaceSchemaLocation=”例5-3.xsd”>……</根元素>4、元素的声明(注意name和ref属性的区别)P.96、P.105、P.107(1)name和ref属性的区别name:表示元素的名称,是元素声明中可选项。
Ref:表示对某个已经存在的元素的引用。
(2)maxOccurs和minOccurs的使用maxOccurs:表示该元素在XML文档中可能出现的最大次数。
minOccurs:表示该元素在XML文档中可能出现的最小次数。
(3)纯文本内容元素的声明纯文本内容的元素师指没有任何子元素而只含有文本和属性的元素,也称为简单内容的复杂类型元素。
简单类型元素是指包含文本内容而不包含任何属性和子元素的元素(4)纯元素的声明纯元素是指允许包含子元素,不能有自己的直接文本内容的元素。
详情请关注P107噢~亲。
5、属性的声明P.102-104(1)use属性的使用元素attribute的属性use用于声明某个属性是否必须出现或者是可选的,当use默认值为required时,说明元素必须有属性。