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

http://tech.ddvip.com   2006年04月03日    社区交流

本文详细介绍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文档。 

  如何建立XML Schema? 

  请在下面的XML文档中找一找每个节点的schema声明。 
<class xmlns="x-schema:classSchema.xml"> 
<student studentID="13429"> 
 <name>Jane Smith</name> 
 <GPA>3.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>

责编:豆豆技术应用

正在加载评论...