2005年成人高考教育理论试题及答案下(专升本).ppt
《2005年成人高考教育理论试题及答案下(专升本).ppt》由会员分享,可在线阅读,更多相关《2005年成人高考教育理论试题及答案下(专升本).ppt(100页珍藏版)》请在三一文库上搜索。
1、第4章 命名空间与XML Schema,1,章节结构,4.1 命名空间 4.2 XML Schema,2,4.1 命名空间,命名空间(namespace): 零个或多个名称的集合,在命名空间中,每一个名称都是唯一的,并且是按照命名空间的规则来构建的。,3,为什么要用命名空间? 在XML的实际应用中,人们常常为不同行业和领域用XML制定不同的语言标准,比如电子商务、远程教育、电子书都分别用XML制定了语言标准,然后针对不同的语言编写不同的模块化处理程序 假如我们通过重新命名的方法解决名称冲突问题,那么我们将面临着,针对原名称开发的应用程序不可再利用的危险,4,5, wang 63880000 ,
2、 li 63880001 G , wang 63880000 3 , wang 63880000 3 A li 63880001 2 B ,?,为什么要用命名空间? 解决名称冲突的一个比较好的解决方案是:给不同的语言赋以不同的名称空间,应用程序通过名称空间来区分一个元素到底来自于哪一个语言,XML命名空间就是对这种方案的具体实现() 命名空间前缀(prefix):用来代替命名空间字符串URI和标记名称 简单说来,制定XML命名空间标准的初衷是为了解决XML文档中命名的冲突问题,6,名称空间,命名空间的定义: 是一个名称集合,将XML文档和引用的URI(uniform resource iden
3、tifier)标识的名域相结合,用不同的URI来标识不同的元素和属性,来限定其中的元素和属性。 W3C制定的命名空间,可以到http:/www.w3.org/TR/REC-xml-names查询 名称空间的作用域是定义名称的元素及其子树。,7,4.1.2 什么是URI,URI(uniform resource identifier) 通用资源标志符 使用命名空间必然要使用URI 主要用来界定资源对象的名称,该资源对象一经命名后即具唯一性,且具永续性 比如使用公司的网址:www.w3.org。则此网址具有唯一性,8,URI的两种表达形式: URL (uniform resource locato
4、r) :如http:/www.w3.org,最常用 URN (uniform resource name) :由IETF(internet engineering task force)组织制定,也指向一种资源对象 区别: URL除了显示资源地址外还会将整个通信协议表现出来,如http、ftp URN以资源名称作为标识,9,URN的使用: 基本语法:urn: NID(Namespaces Identifier):代表所要使用的资源组织名称,如ISBN组织、相关的政府组织等 NSS(Namespaces Specific String):是一个唯一的字符串,代表要使用的资源 举例: Urn:lo
5、c.gov:books Urn:ISBN:0-394-3866-6,10,4.1.3 使用命名空间的规则,规则1:引用命名空间的两种方法 NSAttName=PrefixedAttName| DefaultAttName 规范了声明命名空间的两种方法: 前置命名法 默认命名法 ,11,规则2:前置命名法的语法 PrefixedAttName=“xmlns:”+NCName 规范了声明前置命名法的语法: 由xmlns关键字来告诉解释程序该元素要套用的命名空间,在“:”之后加上为命名空间所取的别名 此规则可以让不同的元素与属性套用不同的命名空间. 以下是为命名空间起的别名ds xmlns:ds=h
6、ttp:/www.w3.org/tr/rec-htm140,12,规则3:使用默认命名法的语法 DefaultAttName=“xmlns” 规范了声明默认命名法的语法: 由xmlns关键字直接加上命名空间命名 此规则可以让引用的元素直接套用该命名空间,子元素也自动引用相同的命名空间,以下是默认的命名空间 xmlns=http:/www.w3.org/tr/rec-htm140,13,规则4:定义命名空间的构成 NCName=(Letter|_)(NCNameChar)* 规范了定义命名空间代名的构成方法: 使用字母或下划线开头,后跟任意数量的NCNameChar字符,14,规则5:命名空间代
7、名能使用的字符 NCNameChar:=Letter|Digit|.|-|_|CombiningChar| Extender 使用任意数量的字母、数字、点符、下划线及其他扩展字符,15,eg. 默认命名法,16, 精彩XML 默认命名法 ,eg. 前置命名法,17, 精彩XML 前置命名法 ,前置命名法和默认命名法的区别: 前置命名法必须为所引用的命名空间另取一个别名,使用时直接使用别名即可;而默认命名法没有别名 使用默认命名法,元素一经引用命名空间,则元素的子元素会自动引用相同的命名空间;但是使用前置命名法,元素的任何子元素及属性仍要加上别名前缀,18,如果在一份XML文档中引用单一的命名空
8、间,则使用前置命名空间或默认命名空间都可以;但如果引用多个命名空间时,则需要两种命名空间的配合使用。,19, 引用多个命名空间 画一个方形 有关矩形的相关信息 2004/11/17 ,默认命名法,前置命名法,默认命名法,综上所述,XML命名空间通过将元素和属性名称与URI所标识的命名空间相联系,提供了一种简单的方法来验证在XML文档中使用的元素和属性的名称,以保证其唯一性,而不会引起冲突。元素或属性的定义由一个唯一的名称定义,名称包括两个部分:命名空间的URI和本地名称。 引用前置命名法空间中的元素、属性的方法: 前缀名:元素名 或 前缀名:属性名 声明时若前缀名省略,则声明的是缺省的空间,引
9、用缺省名空间中的元素、属性时可不加前缀名,20,4.2 XML Schema,4.2.1 XML Schema概念 对于XML Schema语言有两种模型: Microsoft开发的Microsoft XML Schema Microsoft XML Schema已经开发成熟并运用到实际 W3C开发的W3C XML Schema。 最为正式的XML Schema语言是由W3C指定的XML Schema规范,简称为XSD(XML Schema Definition)。xsd也提供了数据类型的支持和结构定义的方法。 XSD(XML schema definition),本身也是一个XML文档,用于
10、描述另一个XML文档,如果被描述的XML文档符合schema中的XML描述,那么就可以说它是该schema的一个有效实例,21,22,XML Schema的标准共分为3个部分: 第一部分为引导(primer),是对Schema的总体介绍,其目的是帮助读者快速理解如何使用Schema语法创建Schema文档 第二部分为结构(structure),是为描述XML 1.0文档结构和内容约束提供了文档定义 第三部分是数据类型(datatypes),为Schema及其他XML规范定义了数据类型,让用户定义出更明确的类型,4.2.2 DTD与XML Schema,DTD的优点与不足 DTD有许多优点:相对
11、简单,语法紧凑,而且广泛地为XML实现者理解和支持;如果设计得当,它可以是高度模块化的、灵活的和可扩展的。 DTD也有一些不足,它采用独有的非XML语法,仅提供非常有限的、仅适用于属性的数据类型。,23,DTD 与Schema不同之处 与DTD的结构不同:Schema本身是一XML文档 支持命名空间:XML文档只能引用一份DTD 多样化的数据类型: Schema中类型丰富。如布尔型、数字、日期和时间、URI、整型、小数、实数以及时间间隔 高度扩充性:只要设置XML Schema中的模式属性为open,可以加上未被定义的新元素,24,Schema作用,Schema 文档用来验证XML 文档的正确
12、性,用来判断实例是否符合模式中所描述的所有约束,涉及到检查实例中所有的元素和属性。 Schema 主要检验如下内容: 验证数据的显示格式是否正确及是否超出值的范围; 验证所有必需的信息都存在; 确保不同使用者对文档理解的方式相同。 除了对XML 文档的验证外,Schema 文档还在一定程度上扩充实例: 为元素和属性添加默认值和固定值; 使具有简单类型的元素和属性值中的空白符规范化。,XML Schema的优点: 1) XML Schema基于XML,没有专门的语法 2) XML Schema可以象其他XML文件一样解析和处理 3) XML Schema支持一系列的数据类型(int、float、
13、Boolean、date等) 4) XML Schema提供可扩充的数据模型。 5) XML Schema支持综合命名空间 6) XML Schema支持属性组。,26,4.2.4 XML Schema与命名空间,编写XML Schema时,必须引用一个命名空间 一般是http:/www.w3c.org/2001/XMLSchema 微软制作的命名空间schemas-microsoft-com:xml-data XML Schema应用命名空间可用URL或URN,27,28, This is a sample ,XML Schema文件中引用URN,XML Schema文件中引用URL,Sch
14、ema 的引用,一个模式可能由多个模式文档构成。 多个模式文档通过包含或导入机制来形成模式, 当其他模式文档与主模式文档具有相同的目标名称空间时,需要使用包含; 当模式文档之间各自拥有不同的目标名称空间时,需要使用导入。,29,【例5.3】 关于多个模式文档通过包含实现定义的例子,代码如源程序code5_3.xsd 所示。 要验证XML 文档,必须指定Schema 文档的位置。 模式的位置可以利用 带有名称空间模式的xsi:schemaLocation 属性 以及不带名称空间XML 模式的xsi:noNamespace SchemaLocation属性来指定, 它们位于根/顶级元素中或XML
15、文档的任何其他元素中。,30,指明xsd文件中 预定义的元素、属性和数据类型的来源,当Schema 文档不包括targetNamespace 属性时,应当通过XML 文档根元素的noNamespaceSchemaLocation 属性及W3C的Schema 实例名称空间(xmlns:xsi=“http:/www.w3.org /2001/XMLScheam-instance”)来引用XML Schema 文件。 eg1.xml:,31,noNamespaceSchemaLocation属性 来指定XML文档的schema,4.2.3 XML Schema的结构,XML Schema的基本架构也
16、是一个树状的XML结构 根元素名称一定是元素 根元素下面声明其他元素 XSD文档至少要包括以下几部分: Schema根元素和XML模式命名空间的定义 Element定义,32,关于书籍信息的XML 文档,代码如源程序2.xml 所示。, 三国演义 罗贯中 80.00 滚滚长江东逝水,浪花淘尽英雄。是非成败转头空。青山依旧在,几度夕阳红。白发渔樵江渚上,惯看秋月春风。一壶浊酒喜相逢。古今多少事,都付笑谈中。 经典好书 文艺出版社 1998.10 ,33,Eg. 关于书籍信息模式定义的完整例子,代码如源程序2.xsd 所示。,34,Eg. 关于书籍信息模式定义的完整例子,代码如源程序2.xsd 所
17、示。,35,Eg. 引用2.xsd文件来验证的2-1.xml, 三国演义 罗贯中 80.00 滚滚长江东逝水,浪花淘尽英雄。是非成败转头空。青山依旧在,几度夕阳红。白发渔樵江渚上,惯看秋月春风。一壶浊酒喜相逢。古今多少事,都付笑谈中。 经典好书 文艺出版社 1998-10-01 ,36,37,XML Schema的结构图,Schema元素说明,38,schema 在schema 文档中必须定义一个且只能定义一个schema 根元素。 根元素表明了文档类型 根元素还包括模式的约束、XML 模式名称空间的定义,其他名称空间的定义、版本信息、语言信息和其他一些属性。 定义如下:,39, ,元素的声明
18、 语法: 其中,name 是元素类型的名称,必须是以字母或下划线开头,而且只能够包含字母、数字、下划线、连接符及句号。 type 属性是必要的,说明元素的数据类型。 XSD 中的元素是利用element 来声明的。其中name 属性是元素的名字,type 属性是元素值的类型,在这里可以是XML Schema 中内置的数据类型或其他类型。,40,eg:,41,Element.xsd ,Element.xml 罗贯中,Attribute 定义属性的方法如下: eg.,42,Attr.xsd ,Attr.xml ,元素类型分为: 简单类型 简单数据类型的元素不能加入子元素,不可加入任何属性,即简单数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2005 年成 高考 教育 理论 试题 答案
链接地址:https://www.31doc.com/p-3406552.html