北京信息科技大学xml第4和5讲schema.pptVIP

  • 1
  • 0
  • 约1.61千字
  • 约 23页
  • 2020-02-12 发布于江苏
  • 举报
第4讲 Schema Schema文档初识 注释的定义 元素的定义 属性的定义 简单类型的定义 复杂类型的定义 XML Schema相关实践 Schema文档初识 Schema文档初识 注释的定义 schema中有对注释的特别支持,即采用元素annotation来声明。元素annotation可以作为根元素schema、element元素、attribute元素等的子元素。元素annotation的属性有abstract、block、default、final、fixed、id、name、nillable、substitutionGroup、type等。元素的子元素有appinfo、documentation等子元素。 元素的定义 元素的名字name、类型type、属性 元素的定义——类型 基本类型 String、boolean、decimal、float、double、datetime、time、integer、 用户定义类型 简单类型 复杂类型 属性的定义 属性的名字name、类型type 全局属性 局部属性 Schema文档实例 简单类型的定义 简单类型的元素是指元素的内容为字符串,没有属性,也没有子元素。 属性的类型都是简单类型。 简单类型的定义通过元素simpleType来定义。 简单类型的定义 复杂类型的定义 只有元素才有复杂类型元素之说,属性没有复杂类型。 复杂类型的定义通过元素complexType来定义。 全局复杂类型的定义 局部复杂类型的定义 复杂类型的元素分类 元素内容是简单类型值,但元素包含属性,称这种元素的类型为包含简单内容的复杂类型,用simpleContent子元素定义。 元素内容包含子元素,不管其是否包含属性都属于复杂类型元素,称这种元素的类型为包含复杂内容的复杂类型,用complexContent子元素定义。 简单内容的复杂类型 在simpleContent子元素下只能通过extension或者restriction子元素之一对已有类型(只能是简单类型或使用simpleContent…/元素定义的复杂类型)进行限制: 复杂内容的复杂类型 在complexContent子元素下只能通过extension或者restriction子元素之一对已有类型(anyType类型)进行限制。 Schema约定,定义通过限制anyType类型派生出来的复杂类型可以省略 complexContent…/和restriction…/元素,直接使用sequence…/、choice…/、all…/和attribute…/定义元素和属性。 包含子元素的元素的定义 将元素定义为全局元素,即将element…/元素放在schema…/元素的根元素下定义。 将元素定义为局部元素,即将element…/元素放在sequence…/、 choice…/、 all…/等元素内定义。 sequence指定元素下的子元素必须严格按声明时指定的次序出现。 all指定元素下的子元素可以按任意顺序出现一次或不出现,且最多只能出现一次。 choice指定元素下的子元素在任意时刻只能出现其中的一个,用于互斥的情况。 XML Schema相关实践 元素或属性的类型可以单独定义,也可以在定义元素或属性的内部声明。单独定义的好处是如果有多个不同元素或属性的类型相同则该类型只需定义一次,在元素或属性定义时指定其type属性值即可。 类型单独定义实例 类型在元素或属性内部定义实例 XML Schema文档实践 使用Schema规范XML文档内容。要求包括:课程名称、实验名称、实验环境、实验学时、实验指导老师等信息。 * * *

文档评论(0)

1亿VIP精品文档

相关文档