浅谈xml中schema的使用

来源 :科教导刊 | 被引量 : 0次 | 上传用户:crazy915
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要本文首先介绍了xml schema的一些相关概念,主要包括名称空间的声明、根元素的声明和数据类型的分类。数据类型主要分为三种,一种是原生数据类型,一种是派生数据类型,还有一种是自定义简单数据类型。又通过一个详细的例子来介绍schema的书写和对应xml文档和最终二者的引用。
  关键词xml schema 名称空间 数据类型
  中图分类号:TP31文献标识码:A
  
  在xml中,规范xml文档的除了DTD之外,还存在一种规格方法,也就是xml schema。Xml schema 是用来规范和描述xml文档的第二代标准,它必须以独立的文档保存,使用与xml文档相同的语法,其使用有一些类似与xml文档中的外部DTD。
  Xml schema 的数据结构类型主要分为三种,一种是原生数据类型,一种是派生数据类型,还有一种是自定义简单数据类型。原生数据类型不可以包括其他元素及其属性,只可以包含各种具体数据。一般常见的有string(字符串数据),float(标准的32位浮点数)和deimal(任意精度和位数的十进制数)。派生数据结构类型可以由原生数据结构派生出来,也可以由其他派生数据结构派生出来。最后是自定义简单数据类型。它有些类似于数据结构当中的结构体,属于典型的一个父元素包括几个子元素。
  了解这些之后,就可以开始对Xml schema进行编码了。首先要了解xml根元素的声明。其中对根元素的声明必须有且只有一个,这个根元素不仅表明了该文档是Xml schema的文档,而且还指明了其名称空间以及其他一些信息。
  一般Xml schema的声明格式如下:
  
  … …
  其中xmln是用来声明名称空间的关键词,这里的名称空间被映射到xsd前缀,但是一般来说,名称空间的前缀可以使用任意的标识符,而不只局限于xsd。
  一般在声明一个数据类型的XML文档元素时,通常会包含若干个子元素或者属性。像这种嵌套式的具体例子如下所示:
  
  
  
  
  

  

  上述例子中就声明了一个名为company的元素,其中包含有2个子元素,一个名为manager,一个名为department。
  除了元素之外,还有元素属性的声明。这个非常简单,只需要在名称之后加上type类型的声明就可以了,具体格式如下:
  
  上述例子声明了一个名为len的属性,并且规定该属性值的类型为一个十进制数。
  了解了xml shcema的文档声明、元素声明和元素属性声明之后,我们通过一个实例来具体分析schema的使用。
  首先我们定义一个关于大学的schema的文档,其中包括对它的声明,代码如下:
  
  
  然后是声明根元素schema以及相应的名称空间,并将该名称空间映射到前缀xsd,表示这是一个schema的文档。代码显示如下:
  
  接下来就是对元素的声明以及相关属性的定义。
  首先声明一个根元素,名叫university,其中包含有4个子元素,分别是UniversityName、school、address和faculty。其中UniversityName和faculty是字符类型的元素,address是引用了别的元素。而school是属于自定义复杂数据类型的元素。具体代码显示如下:
  
  
  
  
  
  
  
  

  

  

  其中的使用表示元素必须按照所排列的顺序出现。
  声明了根元素之后,就开始对根元素的子元素进行声明,一般ref类型的元素所引用的子元素是位于它后面的文档的。以下是对学院school的声明代码:
  
  (下转第85页)(上接第68页)
  
  
  
  

  

  School元素中又包含了一个department元素,该元素又引用了别的元素。所以school是一个自定义复杂的数据类型。以下是schoo所引用的department的声明语句:
  
  
  
  
   其中minOccurs=”1” maxOccurs=”5”是指專业名称最少有一个,最多有五个。声明完school之后,开始声明address。声明语句如下所示:
  
  
  
  
  
  
  
  至此,程序基本完结,只需在结尾处加上
即可。该schema非常形象的规范出一个xml文档的结构,所以必须给出被规范的xml文档。Xml文档命名为university.xml,其中xml代码如下:
  
  
  
  Zhongnan University of Economics and Law
  
  
  < DepartmentName>Computer Science and Technology< /DepartmentName>
   Computer Science and Technology
  E-business
  

  
Wuhan
  Zhengyuan Road
  NO.1

  

  至此xml文檔全部书写完毕,最后的操作是需要在XML Schema和XML文档之间建立引用关系。schema文档来规范某个xml文档时必须在该xml文档的根元素中指明用来验证该文档的schema的位置。这里又分两种情况进行讨论。第一种是当schema的根元素中包含了一个特定的targetNamespace时,可以通过schemaLocation属性以及W3C的实例名称空间来声明短语。一般格式如下:
  Xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
  第二种情况就是根元素中没有targetNamespace属性,这种情况则需要在相应的XML文档的根元素中,通过noNamespaceSchemaLocation属性以及W3C的schema实例名称空间声明来制定所引用的schema文档。
  只有将xml文档和schema联系起来之后,schema就可以熟练的规范xml文档了,此时的xml文档就是一个格式良好的xml文档了。
其他文献
摘要通过分析当前工科院校材料力学的教学现状,创建材料力学新的教学内容和课程体系;以学生为本,对教学方法与教学手段进行改革;建立新的材料力学课程考试体系和考试方法。  关键词材料力学 教学内容改革 教学方法改革  中图分类号:G420文献标识码:A    1 材料力学教学现状及存在的问题  材料力学是各工科专业非常重要的专业基础课,它对于培养学生解决工程实际问题的能力及对其它后续课程的学习具有举足轻
摘要本文分析了前馈控制在时滞对象系统的不足之处,提出在内模控制中加入前馈装置去抑制已知扰动。仿真实例说明了这种方法是正确可行的。  关键词前馈装置 内模控制 时滞系统  中图分类号:TP2文献标识码:A    0 引言  內模控制(InternalModelControl简称IMC)是在80年代初由GarciaC.E等提出的,当时产生的背景主要有两方面:一是对当时的两种预测控制算法MAC和DMC进
摘要本文分析了现代教育思想的特点和当前的高等教育教学改革的现状、重要性及存在的问题,并且从转变旧的教育观的角度, 就工程力学课程的教学改革以及提高课堂教学质量方面, 作一些探讨。  关键词现代教育思想 教学改革 工程力学教学质量  中图分类号:G420文献标识码:A    0引言  近几十年来, 教育事业的发展在全国范围内出现了前所未有的新情况, 各种教学改革的实验风起云涌, 一些创造性的教学理论
第一部分载睫状神经营养因子PEG-PLGA超声微泡的制备及其特性检测目的:1、采用双乳化法制备载睫状神经营养因子(CNTF)的聚乙二醇-乳酸/羟基乙酸共聚物(PEG-PLGA)超声微泡。2、检测
摘要在常见数学分析的教科书中,关于求数列的极限方法介绍了不少,如单调有界定理、柯西收敛准则、两边夹法则等,另外还有将数列的极限转化为函数的极限,再用洛比达法则来求取的方法。但对于求上、下极限,各种教材均把它作为一种新的概念介绍,虽对其定义及性质有较详细的论述,但对如何运用上、下极限来判断数列的敛散性及如何求极限值这些方面则介绍甚少。本文将求迭代数列的极限与求某函数的不动点联系在一起,给出几个定理,
摘要本文介绍了分块矩阵的初等变换的概念,以及初等变换在分块矩阵中的应用。  关键词分块矩阵 初等变换 应用  中图分类号:O13文献标识码:A    矩阵分块的方法是矩阵理论中基本方法之一,分块矩阵的初等变换则是处理分块矩阵的有关问题的重要工具.本文着重阐述了初等变换在分块矩阵问题中的应用。  1 预备知识  定义1 以下分块矩阵的变换称为广义的初等变换:  (1) 交换两行(列);  (2) 某
目的:探讨不同程度慢性心力衰竭(CHF)患者血浆和肽素(copeptin)水平变化情况,并分析其与左室重构及心功能指标的相关性。  方法:选取宁夏医科大学总医院心脑血管病医院心内科2014
摘要在许多实际的物理系统中,都存在各种类型的反馈,尽管反馈理论首先是在电子技术领域中产生的。事实上,反馈概念与理论获得了日益广泛的应用,超越了工程领域。本文主要讨论电子电路中的反馈现象。  关键词放大电路 反馈 判定  中图分类号:TN7文献标识码:A    在许多实际的物理系统中,都存在各种类型的反馈,尽管反馈理论首先是在电子技术领域中产生的。事实上,反馈概念与理论获得了日益广泛的应用,超越了工
项目名称:兴耀·鑫都汇板块:滨江区最新动态:目前项目在售38—69平米LOFT公寓,总价44万元/套起户型面积:酒店式公寓40—70平方米交付时间:待定项目地址:滨江区江陵路和滨康路