XML使用3-XML约束_第1页
XML使用3-XML约束_第2页
XML使用3-XML约束_第3页
XML使用3-XML约束_第4页
XML使用3-XML约束_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、XMLXML约束约束 TipTip:XMLXML约束概述约束概述 l什么是XML约束 在XML技术里,可以编写一个文档来约束一个XML 文档的书写规范,这称之为XML约束。 l为什么需要XML约束 l常用的约束技术 XML DTD XML Schema TipTip:DTDDTD约束快束入门约束快束入门 lDTD(Document Type Definition),全称为文档类型定义。 文件清单:文件清单:book.xmlbook.xml Java就业培训教程 张孝祥 39.00元 JavaScript网页开发 张孝祥 28.00元 文件清单:文件清单:book.dtd DTD文件应使用文件应

2、使用UTF-8或或Unicode TipTip:编程校验:编程校验XMLXML文档正确性文档正确性 lIE5以上浏览器内置了XML解析工具:Microsort.XMLDOM,开 发人员可以编写javascript代码,利用这个解析工具装载xml文件, 并对xml文件进行dtd验证。 l创建xml文档解析器对象 var xmldoc = new ActiveXObject(Microsoft.XMLDOM); l开启xml校验 xmldoc.validateOnParse = true; l装载xml文档 xmldoc.load(book.xml); l获取错误信息 xmldoc.parseEr

3、ror.reason; xmldoc.parseError.line TipTip:编写:编写DTDDTD约束的两种方式约束的两种方式 lDTD约束即可以作为一个单独的文件编写,也可以在 XML文件内编写。 TipTip:在:在xmlxml文件内编写文件内编写DTDDTD !DOCTYPE 书架 Java就业培训教程 张孝祥 39.00元 . TipTip:引用:引用DTDDTD约束约束 lXML文件使用文件使用 DOCTYPE 声明语句来指明它所遵循声明语句来指明它所遵循 的的DTD文件,文件,DOCTYPE声明语句有两种形式:声明语句有两种形式: 当引用的文件在本地时,采用如下方式:当引用

4、的文件在本地时,采用如下方式: 例如: 。在在xml文件中手写一下。文件中手写一下。 当引用的文件是一个公共的文件时,采用如下方式:当引用的文件是一个公共的文件时,采用如下方式: 例如:例如: TipTip:DTDDTD约束语法细节约束语法细节 l元素定义 l属性定义 l实体定义 TipTip: DTD DTD 的语法细节:元素定义的语法细节:元素定义1 1 l在DTD文档中使用ELEMENT声明一个XML元素,语法格式如下 所示: l元素类型可以是元素内容、或类型 如为元素内容:则需要使用()括起来,如 如为元素类型,则直接书写,DTD规范定义了如下几种类型: EMPTY:用于定义空元素,例

5、如 ANY:表示元素内容为任意类型。 TipTip: DTD DTD 的语法细节:元素定义的语法细节:元素定义2 2 l元素内容中可以使用如下方式,描述内容的组成关系 用逗号分隔,表示内容的出现顺序必须与声明时一致。 用|分隔,表示任选其一,即多个只能出现一个 l在元素内容中也可以使用+、*、?等符号表示元素出现的次数: +: 一次或多次 (书+) ?: 0次或一次 (书?) *: 0次或多次 (书*) l也可使用圆括号( )批量设置,例 TipTip:属性定义属性定义 lxml文档中的标签属性需通过文档中的标签属性需通过ATTLIST为其设置属性为其设置属性 l语法格式:语法格式: l属性声

6、明举例:属性声明举例: l对应对应XML文件:文件: TipTip:属性定义属性定义 l举例:举例: !ATTLIST l设置说明:设置说明: #REQUIRED:必须设置该属性 #IMPLIED:可以设置也可以不设置 #FIXED:说明该属性的取值固定为一个值,在 XML 文件中不能为该属性设置其 它值。但需要为该属性提供这个值 直接使用默认值:在 XML 中可以设置该值也可以不设置该属性值。若没设置则 使用默认值。 TipTip:常用属性值类型常用属性值类型 lCDATA:表示属性值为普通文本字符串表示属性值为普通文本字符串。 lENUMERATED lID lENTITY(实体) Tip

7、Tip:属性值类型属性值类型ENUMERATED !DOCTYPE !DOCTYPE 购物篮购物篮 !ELEMENT EMPTY !ATTLIST / / / / l属性的类型可以是一组取值的列表,在 XML 文件中 设置的属性值只能是这个列表中的某个值(枚举) TipTip:属性值类型属性值类型 ID !DOCTYPE 联系人列表 张三 李四 l表示属性的设置值为一 个唯一值。 lID 属性的值只能由字母, 下划线开始,不能出现 空白字符 TipTip:实体定义实体定义 l实体用于为一段内容创建一个别名,以后在XML文档中 就可以使用别名

8、引用这段内容了。 l在DTD定义中,一条语句用于定义一个 实体。 l实体可分为两种类型:引用实体和参数实体。 TipTip:实体定义实体定义引用实体引用实体 l引用实体主要在 XML 文档中被应用 l语法格式: :直接转变成 实体内容 l引用方式: l举例: TipTip:实体定义实体定义参数实体参数实体 l参数实体被 DTD 文件自身使用 l语法格式:语法格式: l引用方式:引用方式: %实体名称; l举例举例1: l举例举例2: . XML SchemaXML Schema lXML Schema 也是一种用于定义和描述 XML 文档结构与内容的 模式语言,其出现是为了克服 DTD 的局限

9、性 lXML Schema VS DTD: XML Schema符合XML语法结构。 DOM、SAX等XML API很容易解析出XML Schema文档中的内 容。 XML Schema对名称空间名称空间支持得非常好。 XML Schema比XML DTD支持更多的数据类型,并支持用户自 定义新的数据类型。 XML Schema定义约束的能力非常强大,可以对XML实例文档 作出细致的语义限制。 XML Schema不能像DTD一样定义实体,比DTD更复杂,但Xml Schema现在已是w3c组织的标准,它正逐步取代DTD。 SchemaSchema约束快速入门约束快速入门 lXML Schem

10、a 文件自身就是一个XML文件,但它的扩展名通常为.xsd。 l一个XML Schema文档通常称之为模式文档模式文档(约束文档),遵循这个文档书写的 xml文件称之为实例文档实例文档。 l和XML文件一样,一个XML Schema文档也必须有一个根结点,但这个根结点 的名称为Schema。 l编写了一个XML Schema约束文档后,通常需要把这个文件中声明的元素绑定 到一个地址上,在XML Schema技术中有一个专业术语来描述这个过程, 即把XML Schema文档声明的元素绑定到一个名称空间名称空间上,以后XML文件就可 以通过这个URI(即名称空间)来告诉解析引擎,xml文档中编写的

11、元素来自哪 里,被谁约束。 SchemaSchema入门案例入门案例 book.xsd文件 SchemaSchema入门案例入门案例 java从入门到精通 明日科技 59.80 名称空间的概念名称空间的概念 l在XML Schema中,每个约束模式文档都可以被赋以一个唯一的 名称空间,名称空间用一个唯一的URI(Uniform Resource Identifier,统一资源标识符)表示。 在Xml文件中书写标签时, 可以通过名称空间声明(xmlns),来声明当前编写的标签来自 哪个Schema约束文档。如: 此处使用此处使用abyg来指向声明的名称,以便于后面对名称空间的引用。来指向声明的名

12、称,以便于后面对名称空间的引用。 l注意:名称空间的名字语法容易让人混淆,尽管以 http:/ 开始, 那个 URL 并不指向一个包含模式定义的文件。事实上,这个 URL:http:/根本没有指向任何文件,只是一个分 配的名字。 使用名称空间引入使用名称空间引入SchemaSchema l为了在一个XML文档中声明它所遵循的Schema文件 的具体位置,通常需要在Xml文档中的根结点中使用 schemaLocation属性来指定,例如: lschemaLocation此属性有两个值。第一个值是需要使 用的命名空间。第二个值是供命名空间使用的 XML schema 的位置,两者之间用空格分隔。 l注意,在使用schemaLocation属性时,也需要指定该 属性来自哪里。 使用默认名称空间使用默认名称空间 l基本格式:基本格式: xmlns=URI l举例:举例: JavaScript网页开发 张孝祥 28.00元 使用名称空间引入多个使用名称空间引入多个XML SchemaXML Schema文档文档 文件清单:文件清单:xmlbook.xml JavaScript网页开发 张孝祥 28.00元 不使用名称空间引入不使用名称空间引入XML SchemaXML Schema文档文档 文件清单:文件清单:xmlbook.xml JavaScript网页开发

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论