资源预览内容
第1页 / 共15页
第2页 / 共15页
第3页 / 共15页
第4页 / 共15页
第5页 / 共15页
第6页 / 共15页
第7页 / 共15页
第8页 / 共15页
第9页 / 共15页
第10页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
2019/1/21,1,XML实用教程 第7章,配合例子源代码一起使用,Power point 制作:耿祥义 张跃平,XML Schema模式简介,2019/1/21,2,本章主要内容 什么是XML Schema 初识XML Schema XML Schema模式的验证 简单类型元素 复杂类型元素 属性 使用正则表达式 难点 XML Schema模式的验证,第7章 导读,2019/1/21,3,概述,对XML的数据结构进行限制有两种方式:使用文档类型定义DTD(Document Type Definition)和XML Schema模式。 XML Schema模式是一个特殊的XML文件 XML Schema模式较DTD的一个最大的优势就是它能约束标记中包含的内容的数据类型 。,2019/1/21,4,7.1 什么是XML Schema,模式的目的是为了约束XML文件。我们已经知道,XML标记包含的内容可以有文本数据和标记组成,模式就是为了限制标记应当包含怎样的文本内容和子标记。 W3C XML Schema开发了一种新的模式,简称XML Schema模式,该模式不仅能实现DTD的大部分功能,而且能指定标记内容的“数据类型”。但XML Schema模式也不是万能的,XML Schema模式的出现并不意味着抛弃DTD,DTD可以实现XML Schema模式不能实现的功能,而且较XML Schema模式而言,具有更广泛的解析器支持。,2019/1/21,5,7.2.1 XML Schema模式的保存,7.2 初识XML Schema,XML Schema模式是扩展名为“.xsd”的一个文本文件,使用XML语法来编写,保存时所选择的编码必须和所约束的XML文件一致,2019/1/21,6,7.2.2 XML Schema模式的特点,XML Schema模式可以约束标记包含的文本的数据类型,这里所说的数据类型是指文本的表示形式。 比如,一个标记包含的文本被约束为int型,那么该标记包含的文本必须是由数字型字符组成。,2019/1/21,7,7.2.3 根标记,XML Schema模式的根标记必须是schema,使用的名称空间必须是: http:/www.w3.org/2001/XMLSchema 名称空间的前缀是xsd。例如: ,2019/1/21,8,7.2.4 元素标记,XML Schema模式用“element”标记来约束XML文件中的标记。“element”标记是XML Schema模式中根标记中最重要的子孙标记,为了和XML文件中的标记在称呼上有所区别,将XML Schema模式中的“element”标记称为elment元素,简称元素。 对于XML文件的中没有子标记的标记,XML Schema模式使用“简单类型”元素来给予约束。XML Schema中“简单类型”元素的格式为: 对于XML文件中有子标记的标记,XML Schema模式文件使用“复杂类型”元素来约束。XML Schema中“复杂类型”元素的格式为: . 例题7-1 p141,2019/1/21,9,7.2.5 属性标记,对于XML文件中的属性,XML Schema模式使用“attribue”标记来约束。,2019/1/21,10,7.3 XML Schema模式的验证,步骤 (1)得到一个SchemaFactory对象 SchemaFactory schemaFactory= SchemaFactory.newInstance(“http:/www.w3.org/2001/XMLSchema“); (2)创建Schema对象 Schema schema=schemaFactory.newSchema(new File(“pattern.xsd“); (3)得到验证器 Validator validator=schema.newValidator(); (4)验证 validator.validate(new StreamSource(new File(“cha8_1.xml“) ;,2019/1/21,11,7.4 简单类型元素,对于XML文件的中没有子标记的标记,即只有文本数据的标记,XML Schema模式可以使用内建的“简单类型”元素来约束。 例题7-2 p144,2019/1/21,12,7.5 复杂类型元素,对于XML文件中有子标记的标记,XML Schema模式使用“复杂类型”元素来给予约束。XML Schema中“复杂类型”元素的格式为: 对子标记约束的元素 例题7-3 p146,2019/1/21,13,7. 6 属性,对于XML文件中的属性,XML Schema模式使用“attribue”标记来约束,该标记的格式如下: 其中use可取值“required”、“optional”、“fixed”、“default”。 “attribue”标记必须在“复杂类型”元素中使用,指出“复杂类型”元素约束的XML标记应当有怎样的属性。 例题7-4 p147,2019/1/21,14,7.7.1 正则表达式,7.7 使用正则表达式,一个正则表达式是含有一些具有特殊意义字符的字符串,这些特殊字符称为正则表达式中的元字符。 比如,“dok”中的d就是有特殊意义的元字符,代表09中的任何一个。字符串“9ok”和“1ok”都是与“dok”匹配的字符串。 在正则表达式(模式)中可以使用一对方括号括起若干个字符,代表方括号中的任何一个字符。 在正则表达式中还有一些代表单个字符的元字符,见表7.2。 在正则表达式中经常使用限定符,比如,用X代表正则表达式中的一个元字符或普通字符,X?就表示X出现0次或1次,表7.3是正则表达式使用的限定符。,2019/1/21,15,7.7.2 使用正则表达式,元素中使用正则表达式可以约束XML标记包含的文本必须匹配于正则表达式。 元素的格式如下: 例题7-5 p150,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号