XML模式:vCard

http://www.itjxue.com  2015-08-07 20:40  来源:未知  点击次数: 

记录联系方式对所有商务应用程序都非常重要,通过有效的 XML 结构来捕获这些信息可以简化此类数据的处理。

联系信息变化可能很大,因此应该选择 XML 。比如,有些公司和个人可能有多个地址、电话号码和电子邮件帐户。在 XML 结构中很容易声明多个此类信息片段。

vCard 结构经常在 Internet 上用于表示联系信息,它独立于平台,很容易生成和导入不同的应用程序。它支持 XML 结构的某些灵活性,但实际上是一种基于文本的简单格式,使用声明性字段和扩展来提供信息。不同于 XML,vCard 格式是扁平文本,就是说不能直接向各种元素增加信息。电话号码是一个很好的例子,它不一定和某个地址关联,而仅仅作为记录中的另一个电话号码。

W3 联盟提出一种 vCard 格式的 XML,它采用 RDF XML 标准,以便于格式化和交换联系信息。采用 RDF 框架可以在声明过程中保留一些结构化信息。比如,RDF 标准支持使用包、序列和替代来描述数据。包支持多次声明一个对象(比如多种角色),并且可以在序列不重要时使用包。序列用于定义对象的次序,比如机构中人员角色的层次结构。替代允许从列表中选择一项,比如多个电子邮件地址。

清单 6 显示了虚拟人物 Charles Perston 的 vCard。

清单 6. Charles Perston 的 vCard
               
BEGIN:VCARD
VERSION:3.0
N:Perston;Charles;;;
FN:Charles Perston
ORG:Perston Technology;
EMAIL;type=INTERNET;type=WORK;type=pref:null@perston.co.uk
TEL;type=WORK;type=pref:01234 567890
item1.ADR;type=WORK;type=pref:;;Perston House;Perston;Perstonshire;P1 0NS;UK
item1.X-ABADR:gb
X-ABUID:5AE47BB6-4E0F-4558-980C-BD3066FA6154\:ABPerson
END:VCARD

采用 vCard XML 标准,可用清单 7 中的结构表示同样的信息。

清单 7. 使用 vCard XML 标准表示 Charles Perston
               
<vCard:vCard xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
  xmlns:foaf="http://xmlns.com/foaf/0.1/" vCard:version="3.0"
  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" vCard:class="PUBLIC"
  xmlns:vCard="x-urn:cpan:ascope:xml-generator-vcard#">
  <vCard:fn>Charles Perston</vCard:fn>
  <vCard:n>
    <vCard:family>Perston</vCard:family>
    <vCard:given>Charles</vCard:given>
  </vCard:n>
  <vCard:adr vCard:del.type="pref;work">
    <vCard:street>Perston House</vCard:street>
    <vCard:locality>Perston</vCard:locality>
    <vCard:region>Perstonshire</vCard:region>
    <vCard:pcode>P1 0NS</vCard:pcode>
    <vCard:country>UK</vCard:country>
  </vCard:adr>
  <vCard:email vCard:email.type="internet;pref;work">null@perston.co.uk
                                                         </vCard:email>
  <vCard:org>
    <vCard:orgnam>Perston Technology</vCard:orgnam>
  </vCard:org>
</vCard:vCard>

XML 格式更长,但容易理解所看的内容以及各部分之间的关系。这种格式可以了解更详细的信息和细节。比方说,很容易在地址中找到需要的国家,在标准 vCard 输出中该信息是比较隐含的。

再比如,很容易使用 XPath 或者 SAX 事件提取国家的列表,以便了解位于不同地区的联系人的数目。

(责任编辑:IT教学网)

更多