XML简明教程(6)什么是XML Schema

2016-02-19 17:19 5 1 收藏

人生本是一个不断学习的过程,在这个过程中,图老师就是你们的好帮手,下面分享的XML简明教程(6)什么是XML Schema懂设计的网友们快点来了解吧!

【 tulaoshi.com - Web开发 】

  XML Schema是一个基于XML的语法或schema规范,用来定义XML文档的标记方式。XML Sc hema是一个由Microsoft建议的schema规范,它与文档类型定义(DTD)相比具有很大的优势,而DTD是最初用来定义XML模型的schema规范。DTD存在很多缺点,包括使用非XML 语法,不支持数据类型定义,不具有扩展性等。例如,DTD不允许把元素内容定义为另外 一个元素,或字符串。想了解更多有关DTD的内容,可以参考W3C XML建议书。 XML Schema从几个方面改善了DTD,包括使用XML语法,支持数据类型定义和名域。例如,XML Schema允许你把一个元素说明为一个integer, float,Boolean, URL等类型。 

  在Internet Explorer 5中的XML解析器可以解析使用DTD或XML Schema的XML文档。 

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

  如何建立XML Schema? 

  请在下面的XML文档中找一找每个节点的schema声明。 

class xmlns="x-schema:classSchema.xml" student studentID="13429"  nameJane Smith/name  GPA3.8/GPA  /student /class

  你会注意到在上面文档中默认的名域是x-schema:classSchema.xml。这告诉解析器根据URL(classSchema.xml)上的schema(x-schema)来解析整个文档。 

  下面是上面那个文档的完整的schema。注意schema的根元素中的名域声明。第一个(xml ns=urn:schemas-microsoft-com:xml-data)表明这个XML文档是一个XML Schema。第二个(xmlns:dt=urn:schemas-microsoft-com:datatypes)允许schema处理者在ElementType和AttributeType声明中的type属性前加dt前缀来说明元素的类型和内容的特征 。 

Schema xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-mi crosoft-com:datatypes"  AttributeType name='studentID' dt:type='string' required='yes'/  ElementType name='name' content='textOnly'  ElementType name='GPA' content='textOnly' dt:type='float'/  ElementType name='student' content='mixed'  attribute type='studentID'/  element type='name'/  element type='GPA'/  /ElementType  ElementType name='class' content='eltOnly'  element type='student'/  /ElementType /Schema

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

  用来定义元素和属性的声明元素如下所示: 

  元  素 

  说  明 

ElementType 把类型和条件赋给一个元素,可以包含子元素 AttributeType 把类型和条件赋给一个属性 attribute 声明以前定义过的属性类型可以出现在名为ElementType的元素的作用域中 element 声明以前定义过的元素类型可以出现在名为ElementType的元素的作用域中

  Schema的内容以最深层的元素的AttributeType和ElementType声明开头。 

AttributeType name='studentID' dt:type='string' required='yes'/ ElementType name='name' content='textOnly' ElementType name='GPA' content='textOnly' dt:type='float'/

  ElementType声明后接着就是它的属性和子元素,如果一个元素有属性或子元素,必须把 这种方法包含在它的ElementType声明中,或者是必须在它们自己的 ElementType 或  ttributeType声明中进行前导声明。 

ElementType name='student' content='mixed'  attribute type='studentID'/  element type='name'/  element type='GPA'/ /ElementType

  不同于DTDs,XML Schema允许有一个开放的内容模式,你可以进行定义数据类型、使用默认值等等操作而不必限定内容。 

来源:https://www.tulaoshi.com/n/20160219/1614933.html

延伸阅读
标签: Web开发
什么是XML元素?? XML是一种标识语言,一组用来创建描述数据的语法标签的规则集。一个XML元素是由开始标签、结束标签以及标签之间的数据构成的。开始和结束标签用来描述标签之间的数据。标签之间的数据被认为是元素的值。例如,在下面一个XML元素的例子中,元素"di? rector"的值是"Ed?Wood"。Ed?Wood元素名("director")允许你把"Ed?Woo...
标签: Web开发
什么是XML文档?? 一个基本的XML文档就是一个XML元素,它可以嵌套XML元素。例如,下面的XML元素“books”就是一个有效的XML文档。? ? ???? ??????? ??????Hunter?S.?Thompson? ???? ? 处理指导? 构建一个基本的XML文档需要记住关键的四点:? 所有元素必须有结束标签;? 所有元素必须正确的嵌套(不允许交迭...
标签: Web开发
什么是C++?XML?DSO?? Microsoft??Internet?Explorer?5中内嵌了一个C++数据源对象(DSO),可以用来把XML连? 接到HTML中。Microsoft??Internet?Explorer?4中内嵌的Java?XML?DSO在Internet?Exp? lorer?5中仍然支持,但是新的C++?DSO有更好的性能,还可以直接连接XML数据岛。? 如何把XML连接到HTML上?? 考虑下面的XML文件...
标签: Web开发
什么是经过类型定义的XML值?? 经过类型定义的XML值是指在XML?Schema中被指定数据类型的元素值。XML解析器使用sc?hema来确认文档。XML?Schema信息可以放在schema文件中,也可以放在本身的XML文档中??。?如何访问经过类型定义的XML值?? 可以通过XML对象模型访问经过类型定义的数据。就好象你能通过调用元素节点的nodeV? alue属性找...
标签: Web开发
什么是XML文档中的数据类型?? XML文档中的数据类型是赋给实例中一个元素的类型,可以使用dt:dt属性来实现,也可以通过一个XML?Schema,一个XML文档的正式定义来实现。此外,数据类型可以声明为元素,XML解析器使用数据类型信息来验证文档的有效性。? 以前,XML元素的值局限于一个单一的类型String,因此想要处理XML文档的开发者需要花费...

经验教程

244

收藏

36
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部