vCard 3.0学习笔记

原文: rel="File-List" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"> rel="themeData" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"> rel="colorSchemeMapping" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml">  http://www.w3.org/TR/vcard-rdf

rel="File-List" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"> rel="themeData" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"> rel="colorSchemeMapping" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml">

vCard 3.0

Technical Report: http://www.w3.org/TR/vcard-rdf

The namespace: http://www.w3.org/2001/vcard-rdf/3.0#

Basic Properties

FN

NICKNAME

BDAY

MAILER

GEO

TITLE

ROLE

CATEGORIES

NAME:此Name并不是指当前描述的人的名字

SOURCE:对应RDF中的about属性,用于描述唯一的指定一个人

NOTE

PRODID

REV

SORT-STRING

CLASS

e.g. <vCard:FN> Corky Crystal </vCard:FN>

      <vCard:BDAY> 1980-01-01 </vCard:BDAY>

      <vCard:TITLE> Computer Officer Class 3 </vCard:TITLE>

      <vCard:ROLE> Programmer </vCard:ROLE>

Grouping & Ordering

vCard某个属性有多个值,RDF提供三种机制:Bags多值且顺序不重要,Sequences多值且顺序重要,Alternatives多者择一且第一个为默认值,Group

e.g. <vCard:ROLE>          <rdf:bag>
            <rdf:li> Programmer </rdf:li>
            <rdf:li> Fire Warden </rdf:li>
         </rdf:bag>
     </vCard:ROLE>

 

      <vCard:TITLE>          <rdf:seq>
            <rdf:li> Principal Research Scientist </rdf:li>
            <rdf:li> Visiting Professor </rdf:li>
         </rdf:seq>
     </vCard:TITLE>

 

     <vCard:EMAIL>          <rdf:alt>
            <rdf:li> corky@qqqfoo.com </rdf:li>
            <rdf:li> info@qqqfoo.com </rdf:li>
            <rdf:li> corky2000cool@hotmail.com </rdf:li>
         </rdf:alt>
     </vCard:EMAIL>

 

   <vCard:GROUP>
     <rdf:bag>
       <rdf:li rdf:parseType="Resource">
         <vCard:NICKNAME> Corky Porky </vCard:NICKNAME>
         <vCard:NOTE> Only used by close friends </vCard:NOTE>
       </rdf:li>        <rdf:li rdf:parseType="Resource">
         <vCard:NICKNAME> Princess Corky </vCard:NICKNAME>
         <vCard:NOTE> Only used by my Mother </vCard:NOTE>
       </rdf:li>
     </rdf:bag>
   </vCard:GROUP>

rdf:parseType=Resource指明,虽然<rdf:li>是一个<rdf:Description>的元素,但是也要进行处理(应该是指在智能代理中进行分析,不能单单把它当作一个<rdf:Description>的元素)。

Properties with Attributes

使用http://www.w3.org/2001/vcard-rdf/3.0#<type>来声明一个资源的类型,其中<type>是正式定义的vCard类型,而属性值必须通过<rdf:value>给出

e.g. <vCard:TEL rdf:parseType="Resource">
    <rdf:value> +61 7 555 5555 </rdf:value>
    <rdf:type rdf:resource="http://www.w3.org/2001/vcard-rdf/3.0#work"/>
    <rdf:type rdf:resource="http://www.w3.org/2001/vcard-rdf/3.0#voice"/>
   </vCard:TEL>

vCard属性可能有的类型参数:

   vCard Property  Type Parameter Values
   --------------  -----------------------------------------------
    TEL            home, msg, work, pref, voice, fax, cell, video,
                   pager, bbs, modem, car, isdn, pcs
    EMAIL          internet, x400, pref
    ADR            dom, intl, postal, parcel, home, work, pref
    LABEL          dom, intl, postal, parcel, home, work, pref
    TZ             text

如果这个类型参数是在外部定义的(即不是vCard中的已有类型),就需要使用"vCard:TYPE"来声明。

e.g. UID指定为"United States Social Security Number"类型

    <vCard:UID vCard:TYPE="US-SSN">987-65-4320</vCard:UID>

除了UID之外,vCard中还未指定的参数类型包括:

   vCard Property  Type Parameter Values
   --------------  -----------------------------------------------
    UID            Any IANA registered or non-standard identifier formats
    LOGO           Any IANA registered or non-standard image formats
    PHOTO          Any IANA registered or non-standard image formats
    SOUND          Any IANA registered or non-standard audio formats
注意1URL属性的值必须是已验证的URIRDF提供了一个速记机制即使用"rdf:resource"属性对其进行编码,如<vCard:URL rdf:resource="http://qqqfoo.com/me.html"/>
2LABEL property可能有一个包含XML标记的格式化文本,可以通过将"rdf:parseType"设置为Literal来指定不解释这个文本,而是当作纯文本进行处理,如
  <vCard:LABEL rdf:parseType="Resource">
    <rdf:type rdf:resource="http://www.w3.org/2001/vcard-rdf/3.0#postal"/>
    <rdf:value rdf:parseType="Literal">
      Corky Crystal<br/>
      <b>qqqfoo.com Pty Ltd</b><br/>
      PO Box 555<br/>
      Coolville, AUSTRALIA
    </rdf:value>
  </vCard:LABEL>
Structured Properties
   
   
很多vCard属性定义了子结构,维护和表达它们很重要,而且RDF模式下完全支持这种子结构。
    vCard Property  Substructure Name      Property Type Name
    --------------  --------------------   ------------------
     N              Family Name            Family
                    Given Name             Given
                    Additional Names       Other
                    Honorific Prefixes     Prefix
                    Honorific Suffixes     Suffix
        ADR            Post Office Box        Pobox
                    Extended Address       Extadd
                    Street Address         Street
                    Locality               Locality
                    Region                 Region
                    Postal Code            Pcode
                    Country                Country
     ORG            Organisation Name      Orgname
                    Organisation Unit      Orgunit
e.g.     <vCard:N rdf:parseType="Resource">
        <vCard:Family> Crystal </vCard:Family>
        <vCard:Given>  Corky </vCard:Given>
        <vCard:Other>  Jacky </vCard:Other>
        <vCard:Prefix> Dr </vCard:Prefix>
        <vCard:Suffix> III </vCard:Suffix>
     </vCard:N>
注意 1、即使Label propery有使用NADR定义的相同的结构,我们也不能使用这些值,因为Label的值是不准备被解释说明的格式化文本
2Organisational Units隐含了顺序特征(由高到低),所以需要使用<rdf:seq>来声明。
Binary Values
   
   

vCard中很多属性可以通过两种方式指定二进制值:内部的可以编码成Base64,或这通过URI引用外部的。这些属性有:

PHOTO

LOGO

SOUND

KEY

内部:     <vCard:PHOTO vCard:ENCODING="b" vCard:TYPE="image/jpeg">
          MSJD9s99DS(S@W99329(#9....</vCard:PHOTO>
外部:     <vCard:PHOTO vCard:TYPE="image/gif" rdf:resource="http://qqqfoo.com/me.gif"/>

Agent Property

Agent属性允许声明描述另一个vCard资源。RDF允许一个vCard资源内联在另一个里。

e.g. <vCard:FN> Corky Crystal </vCard:FN>
      <vCard:TITLE> Research Director </vCard:TITLE>
      <vCard:AGENT rdf:parseType="Resource">
         <vCard:FN>    John Mutton </vCard:FN>
         <vCard:TITLE> Personal Assistant </vCard:TITLE>
         <vCard:EMAIL> john@qqqfoo.com </vCard:EMAIL>
      </vCard:AGENT>

也可以通过URI指定对一个外部资源的引用:

      <vCard:FN> Corky Crystal </vCard:FN>
      <vCard:TITLE> Research Director </vCard:TITLE>
      <vCard:AGENT rdf:resource="http://qqqfoo.com/staff/mutton/"/>

RDF vCard Language

使用"xml:lang"属性(取值定义在RFC1766文档中)来指定vCard中属性值的语言类型:

      <vCard:FN xml:lang="en"> Corky Crystal </vCard:FN>
      <vCard:TITLE xml:lang="en"> Computer Officer Class 3 </vCard:TITLE>
      <vCard:ROLE xml:lang="en"> Programmer </vCard:ROLE>

也可以使用Alternative来指定同一个概念的不用语言表示:

     <vCard:ROLE>          <rdf:alt>
            <rdf:li xml:lang="en"> Programmer </rdf:li>
            <rdf:li xml:lang="fr"> Programmeur </rdf:li>
            <rdf:li xml:lang="it"> Programmatore </rdf:li>
         </rdf:alt>
     </vCard:ROLE>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值