XML Schema帮你建模(1)

860411hp

860411hp

2016-02-19 14:50

下面图老师小编要跟大家分享XML Schema帮你建模(1),简单的过程中其实暗藏玄机,还是要细心学习,喜欢还请记得收藏哦!
 XML Schema是2001年5月正式发布的W3C(万维网联盟)的推荐标准,经过数年的大规模讨论和开发如今终于奠定下来,成为全球公认的XML环境下首选的数据建模工具。

  由于XML是SGML(标准通用标示语言)的一个子集,它也继承了SGML用于建模的DTD。使用DTD的好处是可以利用大量现有的DTD工具,使得开发应用代价维持在一个相对较低的水平。然而,DTD有不少缺陷:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

  1. DTD是基于正则表达式的,描述能力有限;

  2. DTD没有数据类型的支持,在大多数应用环境下能力不足;

  3. DTD的约束定义能力不足,无法对XML实例文档做出更细致的语义限制;

  4. DTD不够结构化,重用的代价相对较高;

  5. DTD并非使用XML作为描述手段,而DTD的构建和访问并没有标准的编程接口,无法使用标准的编程方式进行DTD维护。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

  XML Schema正是针对这些DTD的缺点而设计的,它完全使用XML作为描述手段,具有很强的描述能力、扩展能力和处理维护能力。


  XML Schema简介


  XML Schema的主要目的是用来定义一类XML文档(一个XML Application)。因此,模式的“实例文档”形式常常被用于描述一个与特定XML Schema相一致的XML文档。事实上,文档实例和Schema文档都不是必须要以文档的形式存在,它们可以以在应用之间传递的字节流的形式存在,或者作为一个数据库记录及XML的“信息项”的集合存在。然而为了简化入门,我们总是把实例和模式看作文档或者文件,认为它们总以文档实例或是模式文档的形式存在。

  这里我们将结合一个实例来对XML Schema进行简单的概述,希望大家通过阅读本节的内容初步掌握的使用方法和XML Schema文档实例的具体语义。XML Schema是Web Services技术中需要使用的一个基本工具,然而并不是XML Schema的所有特性都会被广泛地使用,因此,本文将不对XML Schema规范做系统的介绍。

  在介绍XML Schema语法之前,先来考虑一个XML实例文档po.xml。它描述了一个由家庭产品采购/支付应用生成的家庭产品购买订单(参阅代码1)。

  !--代码 1 po.xml,购买订单的XML实例文档--
  ?xml version="1.0"?
  purchaseOrder orderDate="1999-10-20"
  shipTo country="US"
  nameAlice Smith/name
  street123 Maple Street/street
  cityMill Valley/city
  stateCA/state
  zip90952/zip
  /shipTo
  billTo country="US"
  nameRobert Smith/name
  street8 Oak Avenue/street
  cityOld Town/city
  statePA/state
  zip95819/zip
  /billTo
  commentHurry, my lawn is going wild!/comment
  items
  item partNum="872-AA"
  productNameLawnmower/productName
  quantity1/quantity
  USPrice148.95/USPrice
  commentConfirm this is electric/comment
  /item
  item partNum="926-AA"
  productNameBaby Monitor/productName
  quantity1/quantity
  USPrice39.98/USPrice
  shipDate1999-05-21/shipDate
  /item
  /items
  /purchaseOrder

 

  这个购买订单由一个跟元素purchaseOrder及其子元素shipTo、billTo、comment和items组成。这些子元素(除了comment)也依次包含了其它的一些子元素。

  叶子元素包含的是一个数字而不是任何子元素,如USPrice这样的子元素。元素如果包含子元素或者是带有属性的,被称为复合类型;反之元素如果仅仅包含数字、字符串或者其它数据等,但不包含任何子元素的,则被称为简单类型。在这个实例文档中,复合类型和一些简单类型是在购买定单的模式文档中定义的,而其它一些标准的简单类型则是作为XML Schema内置的简单类型的形式出现的。

  在研究这个实例文档的购买订单模式文档之前,先介绍一下购买订单实例文档和模式文档之间的联系。一个实例文档实际上并不一定需要引用模式文档,当然,在事实上的使用中,很多实例文档确实引用了模式文档,

estriction
  /xsd:simpleType
  /xsd:schema

 

  购买订单模式文档由一个schema元素和一系列子元素组成,大多数子元素为element、complexType和simpleType,这些决定了实例文档中元素的表现方式和内容,大家最好能熟记element、complexType、simpleType这几个元素,这些将是我们一直需要使用的几个元素。

  同时,可以通过使用出现在schema元素中的命名空间声明xmlns:xsd="http://www.w3.org/2001/XMLSchema",使得模式文档中的每一个元素都有一个与XML Schema命名空间相联系的命名空间前缀“xsd:”。尽管在语法上,可以使用任意的前缀形式,但是,命名空间前缀“xsd:”被约定用于表示XML Schema命名空间。由于使用同样的前缀,所以同样的关联就会出现在内置的简单类型的名字中,例如xsd:string。这种形式关联的目的是用来表示当前的元素或简单类型是属于XML Schema语言的内置定义的,而不是属于模式文档作者自己的词汇表的。为了在这里清楚并且简单地表示,我们仅提及元素的名字和简单类型名,而忽略它们的前缀“xsd:”。

展开更多 50%)
分享

猜你喜欢

XML Schema帮你建模(1)

Web开发
XML Schema帮你建模(1)

XML Schema帮你建模(4)

Web开发
XML Schema帮你建模(4)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

XML Schema帮你建模(3)

Web开发
XML Schema帮你建模(3)

XML Schema帮你建模(2)

Web开发
XML Schema帮你建模(2)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

XML Schema用法

Web开发
XML Schema用法

XML Schema全接触

Web开发
XML Schema全接触

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

用WPS文字制作电子公章

用WPS文字制作电子公章

谁许下天荒地老 永生不离 - QQ图案分组

谁许下天荒地老 永生不离 - QQ图案分组
下拉加载更多内容 ↓