阅读内容 

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

[日期:2005-04-10] 来源:中国站长学院  作者:无从考证 [字体: ]
什么是XML?Schema??
XML?Schema是一个基于XML的语法或schema规范,用来定义XML文档的标记方式。XML?Sc?
hema是一个由Microsoft建议的schema规范,它与文档类型定义(DTD)相比具有很大的?
优势,而DTD是最初用来定义XML模型的schema规范。DTD存在很多缺点,包括使用非XML?
语法,不支持数据类型定义,不具有扩展性等。例如,DTD不允许把元素内容定义为另外?
一个元素,或字符串。想了解更多有关DTD的内容,可以参考W3C?XML建议书。?XML?Sch?
ema从几个方面改善了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的根元素中的名域声明。第一个(XML?
ns=”urn:schemas-microsoft-com:XML-data”)表明这个XML文档是一个XML?Schema。第?
二个(XMLns:dt=”urn:schemas-microsoft-com:datatypes”)允许schema处理者在Elem?
entType和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?或?A?
ttributeType声明中进行前导声明。?
?
??????
??????
??????
?
不同于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的XM?
L文档。下载这些示例程序可以与XML文档和schema一起运行。如果你想要根据一个sche?
ma来测试XML的有效性,可以从XML?Validator?处下载文档或查看Mime?Type?Viewer中的?
XML文件。?
一些说明:?
ElementType和?AttributeType?声明必须放在attribute和element内容声明之前。例如?
,在上面的schema中,元素的ElementType声明必须放在元素的Element?

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

阅读:
录入:

推荐 】 【 打印
上一篇:XML简易教程之二
下一篇:XML介绍系列(1)
相关新闻      
本文评论       全部评论
发表评论
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款


点评: 字数
姓名:
Advertisement
内容查询


Advertisement