Internet Explorer for Pocket PC所支持的Microsoft XML
[作者]:菩提树下的杨过 [来源]:互联网 [收录时间]:2007-8-3 21:32:14

  随着Pocket PC的面世,从掌上设备下载、查看并操纵XML(扩展标示语言)数据已成为可能。XML允许开发人员通过一致的标准方式在应用程序中提供复杂的结构化数据。

  实现、名称空间及对数据类型的支持

  XML实现支持Worldwide Web Consortium (W3C) XML Data提案的一个子集,并且在功能上与W3C的DCD,文档内容描述提案非常接近。

  请看下面这段XML文件:

<CONTACTS>
  <CONTACT>
    <NAME>Stephanie Smith</NAME>
    <BIRTHDATE>1971-07-01</BIRTHDATE>
    <EMAIL>ssmith@abcdef.com</EMAIL>
    <PHONE>(425) 111-1111</PHONE>
  </CONTACT>
  <CONTACT>
    <NAME> Bill Williams</NAME>
    <BIRTHDATE>1968-09-17</BIRTHDATE>
    <EMAIL>billw@abcdef.com</EMAIL>
    <PHONE>(425) 111-1111</PHONE>
  </CONTACT>
  <CONTACT>
    <NAME>Christopher Jones</NAME>
    <BIRTHDATE>1999-09-08</BIRTHDATE>
    <EMAIL>cjones@abcdef.com</EMAIL>
    <PHONE>(425) 111-1111</PHONE>
  </CONTACT>
</CONTACTS>

  借助MSXML for Pocket PC所支持的新的XML实现,通过在根元素上声明以下名称空间,我们可以对上述数据进行验证:

  这条语句将"contactSchema.xml"实现设置为文档的缺省名称空间。如果需要的话,还可以在文档中声明其它名称空间,但在未作特殊声明的情况下,将使用缺省名称空间。

  现在,让我们来观察一下针对上述XML文档的完整实现:

<Schema xmlns="urn:schemas-microsoft-com:xml-data"
  xmlns:dt="urn:schemas-microsoft-com:datatypes">

<ElementType name="NAME" content="textOnly"/>
<ElementType name="BIRTHDATE"
       content="textOnly"
       dt:type="date"/>
<ElementType name="EMAIL" content="textOnly"/>
<ElementType name="PHONE" content="textOnly"/>

<ElementType name="CONTACT" content="eltOnly">
 <element type="NAME"/>
 <element type="BIRTHDATE"/>
 <element type="EMAIL"/>
 <element type="PHONE"/>
</ElementType>

<ElementType name="CONTACTS"
       content="eltOnly"
       order="many">
 <element type="CONTACT"/>
</ElementType>
</Schema>

  属性

  xmlns='urn:schemas-microsoft-com:xml-data'

  将针对此XML文档的缺声名称空间设置为实现名称空间。这意味着该实现必须符合XML实现的语法。与此类似,属性

  xmlns:dt='urn:schemas-microsoft-com:datatypes'

  用于声明数据类型名称空间。这样便可以在实现内部声明数据类型。此外,我还在"type"属性前使用前缀"dt"来规定"BIRTHDATE"变量的类型。