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

2016-02-19 20:38 11 1 收藏

今天天气好晴朗处处好风光,好天气好开始,图老师又来和大家分享啦。下面给大家推荐XML简明教程第6课 使用XML Schema,希望大家看完后也有个好心情,快快行动吧!

【 tulaoshi.com - Web开发 】

什么是XML?Schema??

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

???????
?????????Jane?Smith?
?????????3.8?
??????

你会注意到在上面文档中默认的名域是“x-schema:classSchema.XML”。这告诉解析器根据URL(“classSchema.XML”)上的schema(x-schema)来解析整个文档。下面是上面那个文档的完整的schema。注意schema的根元素中的名域声明。第一个(XMLns=”urn:schemas-microsoft-com:XML-data”)表明这个XML文档是一个XML?Schema。第二个(XMLns:dt=”urn:schemas-microsoft-com:datatypes”)允许schema处理者在ElementType和AttributeType声明中的type属性前加dt前缀来说明元素的类型和内容的特征?
。?
XMLns="urn:schemas-microsoft-com:xml-data"?xmlns:dt="urn:schemas-mi?
crosoft-com:datatypes"?
??????
??????
??????
??????
??????????
??????????
??????????
??????
??????
??????????
??????

用来定义元素和属性的声明元素如下所示:?
元????素?
?说????明?
ElementType?把类型和条件赋给一个元素,可以包含子元素?
AttributeType?把类型和条件赋给一个属性?
attribute?声明以前定义过的属性类型可以出现在名为ElementType的元素的作用域中?
element?声明以前定义过的元素类型可以出现在名为ElementType的元素的作用域中?
 ?
Schema的内容以最深层的元素的“AttributeType”和“ElementType”声明开头。?



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

??????
??????
??????

不同于DTDs,XML?Schema允许有一个开放的内容模式,你可以进行定义数据类型、使用默认值等等操作而不必限定内容。?
在下面的schema中,?元素的类型被定义并有一个默认值,但在??元素中没有其他节点被声明。?
XMLns="urn:schemas-microsoft-com:xml-data"?xmlns:dt="urn:schemas-mic?
rosoft-com:datatypes"?
???????
???????
??????????
???????
???????
???????
??????????
??????????
???????

上面的schema允许你只验证你所关心的区域,这使你对文档的验证级别有更多的控制,并允许你使用schema提供的一些特性而不必严格确认。尝试一下!试着处理一下下面的XML文档的schema。?

???
????Fidelma?MCGInn?
????425-655-3393?
???
???
????5523918?
????shovel?
????39.99?
???
??1998-10-23?
??1998-11-03?

如果你处理完schema,在XML?Validator中运行?.下载MSDN?Online的区域中提供了一套?XML?sample?files,?包括一个有相关schema的XML文档。下载这些示例程序可以与XML文档和schema一起运行。如果你想要根据一个schema来测试XML的有效性,可以从XML?Validator?处下载文档或查看Mime?Type?Viewer中的XML文件。?
一些说明:?

ElementType和?AttributeType?声明必须放在attribute和element内容声明之前。例如,在上面的schema中,元素的ElementType声明必须放在元素的Element?

Type声明之前。 

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

order属性的默认值是建立在content属性的值上的。当content值为“eltOnly”时,order默认值是seq。当content值为“mixed”时,order默认值是“many”。see?如果想了解有关这些缺省值的信息,可以查看?XML?Schema?Reference。

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

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

延伸阅读
标签: Web开发
一个基本的XML文档就是一个XML元素,它可以嵌套XML元素。例如,下面的XML元素bo  oks就是一个有效的XML文档。  books   book isbn="0345374827"  titleThe Great Shark Hunt/title  authorHunter S. Thompson/author   /book  /books&nb...
标签: Web开发
XML对象模型是一个对象集,可以使用这个对象集来访问或处理存储在XML文档中的数据 。XML文档构成一颗树,树上的每一个元素可以看作是一个节点,具有不同属性和方法的 对象代表了树和它的节点,每个节点包含文档中的实际数据。 如何访问树中的节点? 可以通过象脚本来访问树中的节点。这些对象是在解析器装载并解析XML文档时由X...
标签: Web开发
XML名域是一组可以用作XML文档的元素或属性名称的名称集。为了避免元素之间出现相 同名称的冲突,名域限定Web中的名称必须是唯一的。名域由某些URI(Universal Reso urce Identifier)来进行识别,不管是URL(Uniform Resource Locator),还是URN( Uniform Resource Number)都没有关系,它并不管指向...
标签: Web开发
数据岛是指存在于HTML页面中的XML代码。数据岛允许你在HTML页面中集成XML,对XML编  写脚本,而不需要通过脚本或OBJECT标签读取XML。几乎所有能够存在于一个结构完整  的XML文档中的东西都能存在于一个数据岛中。包括处理指示、DOCTYPE声明和内部子集  。(注意,编码串不能放在数据岛中。)  XML...
标签: Web开发
Microsoft? Internet Explorer 5中内嵌了一个C++数据源对象(DSO),可以用来把XML连接到HTML中。Microsoft? Internet Explorer 4中内嵌的Java XML DSO在Internet Explorer 5中仍然支持,但是新的C++ DSO有更好的性能,还可以直接连接XML数据岛。  如何把XML连接到HTML...

经验教程

946

收藏

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