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

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

本文详细介绍XML简明教程(6)什么是XML Schema

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

  在下面的schema中,<GPA> 元素的类型被定义并有一个默认值,但在 <student> 元素中没有其他节点被声明。 
<Schema xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-mic 
rosoft-com:datatypes"> 
<AttributeType name="scale" default="4.0"/> 
<ElementType name="GPA" content="textOnly" dt:type="float"> 
 <attribute type="scale"/> 
</ElementType> 
<AttributeType name="studentID"/> 
<ElementType name="student" content="eltOnly" model="open" order="many"> 
 <attribute type="studentID"/> 
 <element type="GPA"/> 
</ElementType> 
</Schema>

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

  试着处理一下下面的XML文档的schema。 
<order> 
<customer> 
<name>Fidelma McGinn</name> 
<phone_number>425-655-3393</phone_number> 
</customer> 
<item> 
<number>5523918</number> 
<description>shovel</description> 
<price>39.99<price> 
</item> 
<date_of_purchase>1998-10-23</date_of_purchase> 
<date_of_delivery>1998-11-03</date_of_delivery> 
</order>

  如果你处理完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中,<GPA>元素的ElementType声明必须放在<student>元素的ElementType声明之前。

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

责编:豆豆技术应用

正在加载评论...