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

598874922

598874922

2016-02-19 17:19

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

  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文档。 

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

  如何建立XML Schema? 

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

  请在下面的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

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

  元  素 

  说  明 

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允许有一个开放的内容模式,你可以进行定义数据类型、使用默认值等等操作而不必限定内容。 

展开更多 50%)
分享

猜你喜欢

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

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

XML简明教程第6课 使用XML Schema

Web开发
XML简明教程第6课 使用XML Schema

s8lol主宰符文怎么配

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

XML简明教程(1)什么是XML元素

Web开发
XML简明教程(1)什么是XML元素

XML简明教程(2)什么是XML文档

Web开发
XML简明教程(2)什么是XML文档

lol偷钱流符文搭配推荐

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

XML简明教程(4)什么是XML对象模型

Web开发
XML简明教程(4)什么是XML对象模型

XML简明教程(5)什么是XML名域

Web开发
XML简明教程(5)什么是XML名域

lolAD刺客新符文搭配推荐

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

XML入门指南(3)XML语法

XML入门指南(3)XML语法

XML初学进阶学习笔记(1)

XML初学进阶学习笔记(1)
下拉加载更多内容 ↓