draft-ietf-vcarddav-vcardrev-13.txt   draft-ietf-vcarddav-vcardrev-14.txt 
Network Working Group S. Perreault Network Working Group S. Perreault
Internet-Draft Viagenie Internet-Draft Viagenie
Obsoletes: 2425, 2426, 4770 P. Resnick Obsoletes: 2425, 2426, 4770 P. Resnick
(if approved) QUALCOMM Incorporated (if approved) QUALCOMM Incorporated
Updates: 2739 (if approved) August 2, 2010 Updates: 2739 (if approved) December 9, 2010
Intended status: Standards Track Intended status: Standards Track
Expires: February 3, 2011 Expires: June 12, 2011
vCard Format Specification vCard Format Specification
draft-ietf-vcarddav-vcardrev-13 draft-ietf-vcarddav-vcardrev-14
Abstract Abstract
This document defines the vCard data format for representing and This document defines the vCard data format for representing and
exchanging a variety of information about individuals and other exchanging a variety of information about individuals and other
entities (e.g., formatted and structured name and delivery addresses, entities (e.g., formatted and structured name and delivery addresses,
email address, multiple telephone numbers, photograph, logo, audio email address, multiple telephone numbers, photograph, logo, audio
clips, etc.). clips, etc.).
Status of This Memo Status of This Memo
skipping to change at page 1, line 43 skipping to change at page 1, line 43
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on February 3, 2011. This Internet-Draft will expire on June 12, 2011.
Copyright Notice Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the Copyright (c) 2010 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 3, line 36 skipping to change at page 3, line 36
6.2.4. PHOTO . . . . . . . . . . . . . . . . . . . . . . . . 30 6.2.4. PHOTO . . . . . . . . . . . . . . . . . . . . . . . . 30
6.2.5. BDAY . . . . . . . . . . . . . . . . . . . . . . . . . 31 6.2.5. BDAY . . . . . . . . . . . . . . . . . . . . . . . . . 31
6.2.6. DDAY . . . . . . . . . . . . . . . . . . . . . . . . . 32 6.2.6. DDAY . . . . . . . . . . . . . . . . . . . . . . . . . 32
6.2.7. BIRTH . . . . . . . . . . . . . . . . . . . . . . . . 32 6.2.7. BIRTH . . . . . . . . . . . . . . . . . . . . . . . . 32
6.2.8. DEATH . . . . . . . . . . . . . . . . . . . . . . . . 33 6.2.8. DEATH . . . . . . . . . . . . . . . . . . . . . . . . 33
6.2.9. ANNIVERSARY . . . . . . . . . . . . . . . . . . . . . 34 6.2.9. ANNIVERSARY . . . . . . . . . . . . . . . . . . . . . 34
6.2.10. SEX . . . . . . . . . . . . . . . . . . . . . . . . . 34 6.2.10. SEX . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.3. Delivery Addressing Properties . . . . . . . . . . . . . . 35 6.3. Delivery Addressing Properties . . . . . . . . . . . . . . 35
6.3.1. ADR . . . . . . . . . . . . . . . . . . . . . . . . . 35 6.3.1. ADR . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.3.2. LABEL . . . . . . . . . . . . . . . . . . . . . . . . 36 6.3.2. LABEL . . . . . . . . . . . . . . . . . . . . . . . . 36
6.4. Communications Properties . . . . . . . . . . . . . . . . 36 6.4. Communications Properties . . . . . . . . . . . . . . . . 37
6.4.1. TEL . . . . . . . . . . . . . . . . . . . . . . . . . 36 6.4.1. TEL . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.4.2. EMAIL . . . . . . . . . . . . . . . . . . . . . . . . 37 6.4.2. EMAIL . . . . . . . . . . . . . . . . . . . . . . . . 38
6.4.3. IMPP . . . . . . . . . . . . . . . . . . . . . . . . . 38 6.4.3. IMPP . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.4.4. LANG . . . . . . . . . . . . . . . . . . . . . . . . . 38 6.4.4. LANG . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.5. Geographical Properties . . . . . . . . . . . . . . . . . 39 6.5. Geographical Properties . . . . . . . . . . . . . . . . . 40
6.5.1. TZ . . . . . . . . . . . . . . . . . . . . . . . . . . 39 6.5.1. TZ . . . . . . . . . . . . . . . . . . . . . . . . . . 40
6.5.2. GEO . . . . . . . . . . . . . . . . . . . . . . . . . 40 6.5.2. GEO . . . . . . . . . . . . . . . . . . . . . . . . . 41
6.6. Organizational Properties . . . . . . . . . . . . . . . . 40 6.6. Organizational Properties . . . . . . . . . . . . . . . . 41
6.6.1. TITLE . . . . . . . . . . . . . . . . . . . . . . . . 40 6.6.1. TITLE . . . . . . . . . . . . . . . . . . . . . . . . 41
6.6.2. ROLE . . . . . . . . . . . . . . . . . . . . . . . . . 41 6.6.2. ROLE . . . . . . . . . . . . . . . . . . . . . . . . . 42
6.6.3. LOGO . . . . . . . . . . . . . . . . . . . . . . . . . 42 6.6.3. LOGO . . . . . . . . . . . . . . . . . . . . . . . . . 42
6.6.4. ORG . . . . . . . . . . . . . . . . . . . . . . . . . 42 6.6.4. ORG . . . . . . . . . . . . . . . . . . . . . . . . . 43
6.6.5. MEMBER . . . . . . . . . . . . . . . . . . . . . . . . 43 6.6.5. MEMBER . . . . . . . . . . . . . . . . . . . . . . . . 44
6.6.6. RELATED . . . . . . . . . . . . . . . . . . . . . . . 44 6.6.6. RELATED . . . . . . . . . . . . . . . . . . . . . . . 45
6.7. Explanatory Properties . . . . . . . . . . . . . . . . . . 46 6.7. Explanatory Properties . . . . . . . . . . . . . . . . . . 47
6.7.1. CATEGORIES . . . . . . . . . . . . . . . . . . . . . . 46 6.7.1. CATEGORIES . . . . . . . . . . . . . . . . . . . . . . 47
6.7.2. NOTE . . . . . . . . . . . . . . . . . . . . . . . . . 46 6.7.2. NOTE . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.7.3. PRODID . . . . . . . . . . . . . . . . . . . . . . . . 47 6.7.3. PRODID . . . . . . . . . . . . . . . . . . . . . . . . 48
6.7.4. REV . . . . . . . . . . . . . . . . . . . . . . . . . 47 6.7.4. REV . . . . . . . . . . . . . . . . . . . . . . . . . 48
6.7.5. SOUND . . . . . . . . . . . . . . . . . . . . . . . . 48 6.7.5. SOUND . . . . . . . . . . . . . . . . . . . . . . . . 49
6.7.6. UID . . . . . . . . . . . . . . . . . . . . . . . . . 49 6.7.6. UID . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.7.7. CLIENTPIDMAP . . . . . . . . . . . . . . . . . . . . . 49 6.7.7. CLIENTPIDMAP . . . . . . . . . . . . . . . . . . . . . 50
6.7.8. URL . . . . . . . . . . . . . . . . . . . . . . . . . 50 6.7.8. URL . . . . . . . . . . . . . . . . . . . . . . . . . 51
6.7.9. VERSION . . . . . . . . . . . . . . . . . . . . . . . 50 6.7.9. VERSION . . . . . . . . . . . . . . . . . . . . . . . 51
6.8. Security Properties . . . . . . . . . . . . . . . . . . . 51 6.8. Security Properties . . . . . . . . . . . . . . . . . . . 52
6.8.1. CLASS . . . . . . . . . . . . . . . . . . . . . . . . 51 6.8.1. CLASS . . . . . . . . . . . . . . . . . . . . . . . . 52
6.8.2. KEY . . . . . . . . . . . . . . . . . . . . . . . . . 52 6.8.2. KEY . . . . . . . . . . . . . . . . . . . . . . . . . 53
6.9. Calendar Properties . . . . . . . . . . . . . . . . . . . 53 6.9. Calendar Properties . . . . . . . . . . . . . . . . . . . 54
6.9.1. FBURL . . . . . . . . . . . . . . . . . . . . . . . . 53 6.9.1. FBURL . . . . . . . . . . . . . . . . . . . . . . . . 54
6.9.2. CALADRURI . . . . . . . . . . . . . . . . . . . . . . 53 6.9.2. CALADRURI . . . . . . . . . . . . . . . . . . . . . . 54
6.9.3. CALURI . . . . . . . . . . . . . . . . . . . . . . . . 54 6.9.3. CALURI . . . . . . . . . . . . . . . . . . . . . . . . 55
6.10. Extended Properties and Parameters . . . . . . . . . . . . 55 6.10. Extended Properties and Parameters . . . . . . . . . . . . 56
7. Synchronization . . . . . . . . . . . . . . . . . . . . . . . 55 7. Synchronization . . . . . . . . . . . . . . . . . . . . . . . 56
7.1. Mechanisms . . . . . . . . . . . . . . . . . . . . . . . . 55 7.1. Mechanisms . . . . . . . . . . . . . . . . . . . . . . . . 56
7.1.1. Matching vCard Instances . . . . . . . . . . . . . . . 55 7.1.1. Matching vCard Instances . . . . . . . . . . . . . . . 56
7.1.2. Matching Property Instances . . . . . . . . . . . . . 55 7.1.2. Matching Property Instances . . . . . . . . . . . . . 56
7.1.3. PID Matching . . . . . . . . . . . . . . . . . . . . . 56 7.1.3. PID Matching . . . . . . . . . . . . . . . . . . . . . 57
7.2. Example . . . . . . . . . . . . . . . . . . . . . . . . . 56 7.2. Example . . . . . . . . . . . . . . . . . . . . . . . . . 57
7.2.1. Creation . . . . . . . . . . . . . . . . . . . . . . . 56 7.2.1. Creation . . . . . . . . . . . . . . . . . . . . . . . 57
7.2.2. Initial Sharing . . . . . . . . . . . . . . . . . . . 57 7.2.2. Initial Sharing . . . . . . . . . . . . . . . . . . . 58
7.2.3. Adding and Sharing a Property . . . . . . . . . . . . 57 7.2.3. Adding and Sharing a Property . . . . . . . . . . . . 58
7.2.4. Simultaneous Editing . . . . . . . . . . . . . . . . . 58 7.2.4. Simultaneous Editing . . . . . . . . . . . . . . . . . 59
7.2.5. Global Context Simplification . . . . . . . . . . . . 59 7.2.5. Global Context Simplification . . . . . . . . . . . . 61
8. Example: Authors' vCards . . . . . . . . . . . . . . . . . . . 60 8. Example: Authors' vCards . . . . . . . . . . . . . . . . . . . 62
9. Security Considerations . . . . . . . . . . . . . . . . . . . 60 9. Security Considerations . . . . . . . . . . . . . . . . . . . 62
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 61 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 63
10.1. MIME Type Registration . . . . . . . . . . . . . . . . . . 61 10.1. MIME Type Registration . . . . . . . . . . . . . . . . . . 63
10.2. Registering New vCard Elements . . . . . . . . . . . . . . 63 10.2. Registering New vCard Elements . . . . . . . . . . . . . . 65
10.2.1. Registration Procedure . . . . . . . . . . . . . . . . 63 10.2.1. Registration Procedure . . . . . . . . . . . . . . . . 65
10.2.2. Vendor Namespace . . . . . . . . . . . . . . . . . . . 63 10.2.2. Vendor Namespace . . . . . . . . . . . . . . . . . . . 65
10.2.3. Registration Template for Properties . . . . . . . . . 64 10.2.3. Registration Template for Properties . . . . . . . . . 66
10.2.4. Registration Template for Parameters . . . . . . . . . 64 10.2.4. Registration Template for Parameters . . . . . . . . . 66
10.2.5. Registration Template for Value Data Types . . . . . . 65 10.2.5. Registration Template for Value Data Types . . . . . . 67
10.2.6. Registration Template for Values . . . . . . . . . . . 65 10.2.6. Registration Template for Values . . . . . . . . . . . 67
10.3. Initial vCard Elements Registries . . . . . . . . . . . . 66 10.3. Initial vCard Elements Registries . . . . . . . . . . . . 68
10.3.1. Properties Registry . . . . . . . . . . . . . . . . . 66 10.3.1. Properties Registry . . . . . . . . . . . . . . . . . 68
10.3.2. Parameters Registry . . . . . . . . . . . . . . . . . 68 10.3.2. Parameters Registry . . . . . . . . . . . . . . . . . 70
10.3.3. Value Data Types Registry . . . . . . . . . . . . . . 68 10.3.3. Value Data Types Registry . . . . . . . . . . . . . . 70
10.3.4. Values Registries . . . . . . . . . . . . . . . . . . 69 10.3.4. Values Registries . . . . . . . . . . . . . . . . . . 71
11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 71 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 73
12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 72 12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 74
12.1. Normative References . . . . . . . . . . . . . . . . . . . 72 12.1. Normative References . . . . . . . . . . . . . . . . . . . 74
12.2. Informative References . . . . . . . . . . . . . . . . . . 74 12.2. Informative References . . . . . . . . . . . . . . . . . . 76
Appendix A. Differences from RFCs 2425 and 2426 . . . . . . . . . 75 Appendix A. Differences from RFCs 2425 and 2426 . . . . . . . . . 77
A.1. New Structure . . . . . . . . . . . . . . . . . . . . . . 75 A.1. New Structure . . . . . . . . . . . . . . . . . . . . . . 77
A.2. Removed Features . . . . . . . . . . . . . . . . . . . . . 75 A.2. Removed Features . . . . . . . . . . . . . . . . . . . . . 77
A.3. New Properties and Parameters . . . . . . . . . . . . . . 76 A.3. New Properties and Parameters . . . . . . . . . . . . . . 78
A.4. Other Changes . . . . . . . . . . . . . . . . . . . . . . 76 A.4. Other Changes . . . . . . . . . . . . . . . . . . . . . . 78
Appendix B. Change Log (to be removed by RFC Editor prior to Appendix B. Change Log (to be removed by RFC Editor prior to
publication) . . . . . . . . . . . . . . . . . . . . 76 publication) . . . . . . . . . . . . . . . . . . . . 78
B.1. Changes in -13 . . . . . . . . . . . . . . . . . . . . . . 76 B.1. Changes in -14 . . . . . . . . . . . . . . . . . . . . . . 78
B.2. Changes in -12 . . . . . . . . . . . . . . . . . . . . . . 77 B.2. Changes in -13 . . . . . . . . . . . . . . . . . . . . . . 79
B.3. Changes in -11 . . . . . . . . . . . . . . . . . . . . . . 78 B.3. Changes in -12 . . . . . . . . . . . . . . . . . . . . . . 80
B.4. Changes in -10 . . . . . . . . . . . . . . . . . . . . . . 78 B.4. Changes in -11 . . . . . . . . . . . . . . . . . . . . . . 81
B.5. Changes in -09 . . . . . . . . . . . . . . . . . . . . . . 79 B.5. Changes in -10 . . . . . . . . . . . . . . . . . . . . . . 81
B.6. Changes in -08 . . . . . . . . . . . . . . . . . . . . . . 79 B.6. Changes in -09 . . . . . . . . . . . . . . . . . . . . . . 82
B.7. Changes in -07 . . . . . . . . . . . . . . . . . . . . . . 79 B.7. Changes in -08 . . . . . . . . . . . . . . . . . . . . . . 82
B.8. Changes in -06 . . . . . . . . . . . . . . . . . . . . . . 80 B.8. Changes in -07 . . . . . . . . . . . . . . . . . . . . . . 82
B.9. Changes in -05 . . . . . . . . . . . . . . . . . . . . . . 81 B.9. Changes in -06 . . . . . . . . . . . . . . . . . . . . . . 83
B.10. Changes in -04 . . . . . . . . . . . . . . . . . . . . . . 81 B.10. Changes in -05 . . . . . . . . . . . . . . . . . . . . . . 84
B.11. Changes in -03 . . . . . . . . . . . . . . . . . . . . . . 81 B.11. Changes in -04 . . . . . . . . . . . . . . . . . . . . . . 84
B.12. Changes in -02 . . . . . . . . . . . . . . . . . . . . . . 82 B.12. Changes in -03 . . . . . . . . . . . . . . . . . . . . . . 84
B.13. Changes in -01 . . . . . . . . . . . . . . . . . . . . . . 82 B.13. Changes in -02 . . . . . . . . . . . . . . . . . . . . . . 85
B.14. Changes in -00 . . . . . . . . . . . . . . . . . . . . . . 83 B.14. Changes in -01 . . . . . . . . . . . . . . . . . . . . . . 85
B.15. Changes in -00 . . . . . . . . . . . . . . . . . . . . . . 86
1. Introduction 1. Introduction
Electronic address books have become ubiquitous. Their increased Electronic address books have become ubiquitous. Their increased
presence on portable, connected devices as well as the diversity of presence on portable, connected devices as well as the diversity of
platforms exchanging contact data call for a standard. This memo platforms exchanging contact data call for a standard. This memo
defines the vCard format, which allows the capture and exchange of defines the vCard format, which allows the capture and exchange of
information normally stored within an address book or directory information normally stored within an address book or directory
application. application.
skipping to change at page 6, line 46 skipping to change at page 6, line 46
2.1.1. 2.1.1.
A logical line MAY be continued on the next physical line anywhere A logical line MAY be continued on the next physical line anywhere
between two characters by inserting a CRLF immediately followed by a between two characters by inserting a CRLF immediately followed by a
single white space character (space, ASCII decimal 32, or horizontal single white space character (space, ASCII decimal 32, or horizontal
tab, ASCII decimal 9). The folded line MUST contain at least one tab, ASCII decimal 9). The folded line MUST contain at least one
character. Any sequence of CRLF followed immediately by a single character. Any sequence of CRLF followed immediately by a single
white space character is ignored (removed) when processing the white space character is ignored (removed) when processing the
content type. For example the line: content type. For example the line:
DESCRIPTION:This is a long description that exists on a long line. NOTE:This is a long description that exists on a long line.
can be represented as: can be represented as:
DESCRIPTION:This is a long description NOTE:This is a long description
that exists on a long line. that exists on a long line.
It could also be represented as: It could also be represented as:
DESCRIPTION:This is a long descrip NOTE:This is a long descrip
tion that exists o tion that exists o
n a long line. n a long line.
The process of moving from this folded multiple-line representation The process of moving from this folded multiple-line representation
of a property definition to its single line representation is called of a property definition to its single line representation is called
unfolding. Unfolding is accomplished by regarding CRLF immediately unfolding. Unfolding is accomplished by regarding CRLF immediately
followed by a white space character (namely HTAB ASCII decimal 9 or followed by a white space character (namely HTAB ASCII decimal 9 or
SPACE ASCII decimal 32) as equivalent to no characters at all (i.e., SPACE ASCII decimal 32) as equivalent to no characters at all (i.e.,
the CRLF and single white space character are removed). the CRLF and single white space character are removed).
skipping to change at page 7, line 35 skipping to change at page 7, line 35
Folding is done after any content encoding of a type value. Folding is done after any content encoding of a type value.
Unfolding is done before any decoding of a type value in a content Unfolding is done before any decoding of a type value in a content
line. line.
3.2. ABNF Format Definition 3.2. ABNF Format Definition
The following ABNF uses the notation of [RFC5234], which also defines The following ABNF uses the notation of [RFC5234], which also defines
CRLF, WSP, DQUOTE, VCHAR, ALPHA, and DIGIT. CRLF, WSP, DQUOTE, VCHAR, ALPHA, and DIGIT.
vcard-entity = 1*(vcard) vcard-entity = 1*(vcard)
vcard = "BEGIN" ":" "VCARD" CRLF vcard = "BEGIN" ":" "VCARD" CRLF
"VERSION" ":" "4.0" CRLF "VERSION" ":" "4.0" CRLF
1*contentline 1*contentline
"END" ":" "VCARD" CRLF "END" ":" "VCARD" CRLF
; A vCard object MUST include the VERSION and FN properties. ; A vCard object MUST include the VERSION and FN properties.
; VERSION MUST come first. ; VERSION MUST come first.
contentline = [group "."] name *(";" param) ":" value CRLF contentline = [group "."] name *(";" param) ":" value CRLF
; When parsing a content line, folded lines must first ; When parsing a content line, folded lines must first
; be unfolded according to the unfolding procedure ; be unfolded according to the unfolding procedure
; described above. ; described above.
; When generating a content line, lines longer than 75 ; When generating a content line, lines longer than 75
; characters SHOULD be folded according to the folding ; characters SHOULD be folded according to the folding
; procedure described above. ; procedure described above.
group = 1*(ALPHA / DIGIT / "-") group = 1*(ALPHA / DIGIT / "-")
name = "SOURCE" / "KIND" / "FN" / "N" / "NICKNAME" name = "SOURCE" / "KIND" / "FN" / "N" / "NICKNAME"
/ "PHOTO" / "BDAY" / "DDAY" / "BIRTH" / "DEATH" / "PHOTO" / "BDAY" / "DDAY" / "BIRTH" / "DEATH"
/ "ANNIVERSARY" / "SEX" / "ADR" / "LABEL" / "TEL" / "EMAIL" / "ANNIVERSARY" / "SEX" / "ADR" / "LABEL" / "TEL" / "EMAIL"
/ "IMPP" / "LANG" / "TZ" / "GEO" / "TITLE" / "ROLE" / "LOGO" / "IMPP" / "LANG" / "TZ" / "GEO" / "TITLE" / "ROLE" / "LOGO"
/ "ORG" / "MEMBER" / "RELATED" / "CATEGORIES" / "NOTE" / "ORG" / "MEMBER" / "RELATED" / "CATEGORIES" / "NOTE"
/ "PRODID" / "REV" / "SOUND" / "UID" / "CLIENTPIDMAP" / "URL" / "PRODID" / "REV" / "SOUND" / "UID" / "CLIENTPIDMAP" / "URL"
/ "CLASS" / "KEY" / "FBURL" / "CALADRURI" / "CALURI" / "XML" / "CLASS" / "KEY" / "FBURL" / "CALADRURI" / "CALURI" / "XML"
/ iana-token / x-name / iana-token / x-name
; Parsing of the param and value is based on the "name" as ; Parsing of the param and value is based on the "name" as
; defined in ABNF sections below. ; defined in ABNF sections below.
; Group and name are case-insensitive. ; Group and name are case-insensitive.
iana-token = 1*(ALPHA / DIGIT / "-") iana-token = 1*(ALPHA / DIGIT / "-")
; identifier registered with IANA ; identifier registered with IANA
x-name = "x-" 1*(ALPHA / DIGIT / "-") x-name = "x-" 1*(ALPHA / DIGIT / "-")
; Names that begin with "x-" or "X-" are ; Names that begin with "x-" or "X-" are
; reserved for experimental use, not intended for released ; reserved for experimental use, not intended for released
; products, or for use in bilateral agreements. ; products, or for use in bilateral agreements.
param = language-param / encoding-param / value-param / pref-param param = language-param / encoding-param / value-param / pref-param
/ pid-param / type-param / geo-param / tz-param / / pid-param / type-param / geo-param / tz-param /
/ sort-as-param / calscale-param / version-param / sort-as-param / calscale-param / version-param
/ fmttype-param / any-param / fmttype-param / any-param
; Allowed parameters depend on property name. ; Allowed parameters depend on property name.
param-value = *SAFE-CHAR / DQUOTE *QSAFE-CHAR DQUOTE param-value = *SAFE-CHAR / DQUOTE *QSAFE-CHAR DQUOTE
any-param = (iana-token / x-name) "=" param-value any-param = (iana-token / x-name) "=" param-value *("," param-value)
NON-ASCII = %x80-FF NON-ASCII = %x80-FF
; Use is restricted by UTF-8 ; Use is restricted by UTF-8
QSAFE-CHAR = WSP / %x21 / %x23-7E / NON-ASCII QSAFE-CHAR = WSP / %x21 / %x23-7E / NON-ASCII
; Any character except CTLs, DQUOTE ; Any character except CTLs, DQUOTE
SAFE-CHAR = WSP / %x21 / %x23-39 / %x3C-7E / NON-ASCII SAFE-CHAR = WSP / %x21 / %x23-39 / %x3C-7E / NON-ASCII
; Any character except CTLs, DQUOTE, ";", ":" ; Any character except CTLs, DQUOTE, ";", ":"
VALUE-CHAR = WSP / VCHAR / NON-ASCII VALUE-CHAR = WSP / VCHAR / NON-ASCII
; Any textual character ; Any textual character
A line that begins with a white space character is a continuation of A line that begins with a white space character is a continuation of
the previous line, as described above. The white space character and the previous line, as described above. The white space character and
immediately preceeding CRLF should be discarded when reconstructing immediately preceeding CRLF should be discarded when reconstructing
the original line. Note that this line-folding convention differs the original line. Note that this line-folding convention differs
from that found in [RFC5322], in that the sequence <CRLF><WSP> found from that found in [RFC5322], in that the sequence <CRLF><WSP> found
anywhere in the content indicates a continued line and should be anywhere in the content indicates a continued line and should be
removed. removed.
Property names and parameter names are case insensitive (e.g., the Property names and parameter names are case insensitive (e.g., the
skipping to change at page 9, line 26 skipping to change at page 9, line 26
grouping MAY simply strip off any text before a "." to the left of grouping MAY simply strip off any text before a "." to the left of
the type name and present the types and values as normal. the type name and present the types and values as normal.
Properties defined in a vCard instance may have multiple values Properties defined in a vCard instance may have multiple values
depending on the property cardinality. The general rule for encoding depending on the property cardinality. The general rule for encoding
multi-valued properties is to simply create a new content line for multi-valued properties is to simply create a new content line for
each value (including the property name). However, it should be each value (including the property name). However, it should be
noted that some value types support encoding multiple values in a noted that some value types support encoding multiple values in a
single content line by separating the values with a comma ",". This single content line by separating the values with a comma ",". This
approach has been taken for several of the content types defined approach has been taken for several of the content types defined
below (date, time, integer, float), for space-saving reasons. below (date, time, integer, float).
3.3. Property Value Escaping 3.3. Property Value Escaping
Some properties may contain one or more values delimited by a COMMA Some properties may contain one or more values delimited by a COMMA
character (ASCII decimal 44). Therefore, a COMMA character in a character (ASCII decimal 44). Therefore, a COMMA character in a
value MUST be escaped with a BACKSLASH character (ASCII decimal 92), value MUST be escaped with a BACKSLASH character (ASCII decimal 92),
even for properties that don't allow multiple instances (for even for properties that don't allow multiple instances (for
consistency). consistency).
Some properties (e.g. N and ADR) comprise multiple fields delimited Some properties (e.g. N and ADR) comprise multiple fields delimited
skipping to change at page 10, line 13 skipping to change at page 10, line 13
Finally, BACKSLASH characters in values MUST be escaped with a Finally, BACKSLASH characters in values MUST be escaped with a
BACKSLASH character. NEWLINE (ASCII decimal 10) characters in values BACKSLASH character. NEWLINE (ASCII decimal 10) characters in values
MUST be encoded by two characters: a BACKSLASH followed by an 'n' MUST be encoded by two characters: a BACKSLASH followed by an 'n'
(ASCII decimal 110). (ASCII decimal 110).
In all other cases, escaping MUST NOT be used. In all other cases, escaping MUST NOT be used.
3.4. Character Set 3.4. Character Set
The character set for vCard is UTF-8 as defined in [RFC3629]. There The character set for vCard is UTF-8 as defined in [RFC3629]. There
is no way to override this. is no way to override this. It is invalid to specify a different
character set in the "charset" MIME parameter (see Section 10.1).
This overrides both [RFC2046] section 4.1.2 and [RFC2616] section
3.7.1.
4. Property Value Data Types 4. Property Value Data Types
Standard value types are defined below. Standard value types are defined below.
value = text value = text
/ text-list / text-list
/ date-list / date-list
/ time-list / time-list
/ date-time-list / date-time-list
skipping to change at page 12, line 22 skipping to change at page 12, line 22
this is a text value this is a text value
this is one value,this is another this is one value,this is another
this is a single value\, with a comma encoded this is a single value\, with a comma encoded
A formatted text line break in a text value type MUST be represented A formatted text line break in a text value type MUST be represented
as the character sequence backslash (ASCII decimal 92) followed by a as the character sequence backslash (ASCII decimal 92) followed by a
Latin small letter n (ASCII decimal 110) or a Latin capital letter N Latin small letter n (ASCII decimal 110) or a Latin capital letter N
(ASCII decimal 78), that is "\n" or "\N". (ASCII decimal 78), that is "\n" or "\N".
For example a multiple line DESCRIPTION value of: For example a multiple line NOTE value of:
Mythical Manager Mythical Manager
Hyjinx Software Division Hyjinx Software Division
BabsCo, Inc. BabsCo, Inc.
could be represented as: could be represented as:
DESCRIPTION:Mythical Manager\nHyjinx Software Division\n NOTE:Mythical Manager\nHyjinx Software Division\n
BabsCo\, Inc.\n BabsCo\, Inc.\n
demonstrating the \n literal formatted line break technique, the demonstrating the \n literal formatted line break technique, the
CRLF-followed-by-space line folding technique, and the backslash CRLF-followed-by-space line folding technique, and the backslash
escape technique. escape technique.
4.2. URI 4.2. URI
"uri": The "uri" value type should be used to identify values that "uri": The "uri" value type should be used to identify values that
are referenced by a URI (including a Content-ID URI), instead of are referenced by a URI (including a Content-ID URI), instead of
skipping to change at page 15, line 37 skipping to change at page 15, line 37
Examples for "timestamp": Examples for "timestamp":
19961022T140000 19961022T140000
19961022T140000Z 19961022T140000Z
19961022T140000-05 19961022T140000-05
19961022T140000-0500 19961022T140000-0500
4.4. BOOLEAN 4.4. BOOLEAN
"boolean": The "boolean" value type is used to express boolen values. "boolean": The "boolean" value type is used to express boolean
These values are case insensitive. values. These values are case insensitive.
Examples: Examples:
TRUE TRUE
false false
True True
4.5. INTEGER 4.5. INTEGER
"integer": The "integer" value type is used to express signed "integer": The "integer" value type is used to express signed
skipping to change at page 16, line 17 skipping to change at page 16, line 17
1234567890 1234567890
-1234556790 -1234556790
+1234556790,432109876 +1234556790,432109876
4.6. FLOAT 4.6. FLOAT
"float": The "float" value type is used to express real numbers. If "float": The "float" value type is used to express real numbers. If
sign is not specified, the value is assumed positive "+". Multiple sign is not specified, the value is assumed positive "+". Multiple
"float" values can be specified using the comma-separated notation. "float" values can be specified using the comma-separated notation.
Note: Scientific notation is disallowed. Implementors wishing to
use their favorite language's %f formatting should be careful.
Examples: Examples:
20.30 20.30
1000000.0000001 1000000.0000001
1.333,3.14 1.333,3.14
4.7. BINARY 4.7. BINARY
"binary": The "binary" value type specifies that the property value "binary": The "binary" value type specifies that the property value
is inline, encoded binary data. This value type can be specified in is inline, encoded binary data. This value type can be specified in
skipping to change at page 16, line 43 skipping to change at page 16, line 46
folding method defined in Section 3.1. folding method defined in Section 3.1.
4.8. LANGUAGE-TAG 4.8. LANGUAGE-TAG
"language-tag": A single language tag, as defined in [RFC5646]. "language-tag": A single language tag, as defined in [RFC5646].
5. Property Parameters 5. Property Parameters
A property can have attributes associated with it. These "property A property can have attributes associated with it. These "property
parameters" contain meta-information about the property or the parameters" contain meta-information about the property or the
property value. property value. In some cases the property parameter can be multi-
valued in which case the property parameter value elements are
separated by a COMMA (US-ASCII decimal 44).
Property parameter values that contain the COLON (US-ASCII decimal Property parameter value elements that contain the COLON (US-ASCII
58), SEMICOLON (US-ASCII decimal 59) or COMMA (US-ASCII decimal 44) decimal 58), SEMICOLON (US-ASCII decimal 59) or COMMA (US-ASCII
character separators MUST be specified as quoted-string text values. decimal 44) character separators MUST be specified as quoted-string
Property parameter values MUST NOT contain the DQUOTE (US-ASCII text values. Property parameter values MUST NOT contain the DQUOTE
decimal 22) character. The DQUOTE (US-ASCII decimal 22) character is (US-ASCII decimal 34) character. The DQUOTE character is used as a
used as a delimiter for parameter values that contain restricted delimiter for parameter values that contain restricted characters or
characters or URI text. URI text.
Applications MUST ignore x-param and iana-param values they don't Applications MUST ignore x-param and iana-param values they don't
recognize. recognize.
5.1. LANGUAGE 5.1. LANGUAGE
The LANGUAGE property parameter is used to identify data in multiple The LANGUAGE property parameter is used to identify data in multiple
languages. There is no concept of "default" language, except as languages. There is no concept of "default" language, except as
specified by any "Content-Language" MIME header parameter that is specified by any "Content-Language" MIME header parameter that is
present. The value of the LANGUAGE property parameter is a language present. The value of the LANGUAGE property parameter is a language
tag as defined in Section 2 of [RFC5646]. tag as defined in Section 2 of [RFC5646].
Examples:
ROLE;LANGUAGE=tr:hoca
ABNF: ABNF:
language-param = "LANGUAGE=" Language-Tag language-param = "LANGUAGE=" Language-Tag
; Language-Tag is defined in section 2.1 of RFC 5646 ; Language-Tag is defined in section 2.1 of RFC 5646
5.2. ENCODING 5.2. ENCODING
The ENCODING property parameter is used to specify an alternate The ENCODING property parameter is used to specify an alternate
encoding for a value. If the value contains a CRLF, it must be encoding for a value. If the value contains a CRLF, it must be
encoded, since CRLF is used to separate lines in the content-type encoded, since CRLF is used to separate lines in the content-type
skipping to change at page 18, line 16 skipping to change at page 18, line 23
The VALUE parameter is optional, and is used to identify the value The VALUE parameter is optional, and is used to identify the value
type (data type) and format of the value. The use of these type (data type) and format of the value. The use of these
predefined formats is encouraged even if the value parameter is not predefined formats is encouraged even if the value parameter is not
explicitly used. By defining a standard set of value types and their explicitly used. By defining a standard set of value types and their
formats, existing parsing and processing code can be leveraged. The formats, existing parsing and processing code can be leveraged. The
predefined data type values MUST NOT be repeated in COMMA separated predefined data type values MUST NOT be repeated in COMMA separated
value lists except within the N, NICKNAME, ADR and CATEGORIES value lists except within the N, NICKNAME, ADR and CATEGORIES
properties. properties.
Including the value type explicitly as part of each property provides
an extra hint to keep parsing simple and support more generalized
applications. For example a search engine would not have to know the
particular value types for all of the items for which it is
searching. Because the value type is explicit in the definition, the
search engine could look for dates in any item type and provide
results that can still be interpreted.
ABNF: ABNF:
value-param = "VALUE=" value-type value-param = "VALUE=" value-type
value-type = "text" value-type = "text"
/ "uri" / "uri"
/ "date" / "date"
/ "time" / "time"
/ "date-time" / "date-time"
/ "timestamp" / "timestamp"
/ "boolean" / "boolean"
/ "integer" / "integer"
/ "float" / "float"
/ "binary" / "binary"
/ "language-tag" / "language-tag"
/ "utc-offset"
/ iana-token ; registered as described in section 12 / iana-token ; registered as described in section 12
/ x-name / x-name
5.4. PREF 5.4. PREF
The PREF parameter is optional, and is used to indicate that the The PREF parameter is optional, and is used to indicate that the
corresponding instance of a property is preferred by the vCard corresponding instance of a property is preferred by the vCard
author. Its value MUST be an integer between 1 and 100 that author. Its value MUST be an integer between 1 and 100 that
quantifies the level of preference. Lower values correspond to a quantifies the level of preference. Lower values correspond to a
higher level of preference, 1 being most preferred. higher level of preference, 1 being most preferred.
skipping to change at page 20, line 36 skipping to change at page 20, line 36
The ALTID property MAY also be used in may contexts other than with The ALTID property MAY also be used in may contexts other than with
the LANGUAGE parameter. Here's an example with two representations the LANGUAGE parameter. Here's an example with two representations
of the same photo in different file formats: of the same photo in different file formats:
PHOTO;ALTID=1;ENCODING=b;FMTTYPE=image/jpeg:... PHOTO;ALTID=1;ENCODING=b;FMTTYPE=image/jpeg:...
PHOTO;ALTID=1;ENCODING=b;FMTTYPE=image/jp2:... PHOTO;ALTID=1;ENCODING=b;FMTTYPE=image/jp2:...
ABNF: ABNF:
altid-param = "ALTID=" text altid-param = "ALTID=" param-value
5.6. PID 5.6. PID
The PID parameter is used to identify a specific property among The PID parameter is used to identify a specific property among
multiple instances. It plays a role analogous to the UID property multiple instances. It plays a role analogous to the UID property
(Section 6.7.6) on a per-property instead of per-vCard basis. It MAY (Section 6.7.6) on a per-property instead of per-vCard basis. It MAY
appear more than once in a given property. It MUST NOT appear on appear more than once in a given property. It MUST NOT appear on
properties that may have only one instance per vCard. Its value is properties that may have only one instance per vCard. Its value is
either a single small positive integer, or a pair of small positive either a single small positive integer, or a pair of small positive
integers separated by a dot. Multiple values may be encoded in a integers separated by a dot. Multiple values may be encoded in a
skipping to change at page 21, line 18 skipping to change at page 21, line 18
pid-value = 1*DIGIT ["." 1*DIGIT] pid-value = 1*DIGIT ["." 1*DIGIT]
5.7. TYPE 5.7. TYPE
The TYPE parameter has multiple, different uses. In general, it is a The TYPE parameter has multiple, different uses. In general, it is a
way of specifying class characteristics of the associated property. way of specifying class characteristics of the associated property.
Most of the time, its value is a comma-separated subset of a pre- Most of the time, its value is a comma-separated subset of a pre-
defined enumeration. In this document, the following properties make defined enumeration. In this document, the following properties make
use of this parameter: FN, NICKNAME, PHOTO, ADR, LABEL, TEL, EMAIL, use of this parameter: FN, NICKNAME, PHOTO, ADR, LABEL, TEL, EMAIL,
IMPP, LANG, TZ, GEO, TITLE, ROLE, LOGO, ORG, RELATED, CATEGORIES, IMPP, LANG, TZ, GEO, TITLE, ROLE, LOGO, ORG, RELATED, CATEGORIES,
NOTE, SOUND, URL, KEY, FIBURL, CALADRURI, and CALURI. The TYPE NOTE, SOUND, URL, KEY, FBURL, CALADRURI, and CALURI. The TYPE
parameter MUST NOT be applied on other properties defined in this parameter MUST NOT be applied on other properties defined in this
document. document.
The "work" and "home" values act like tags. The "work" value implies The "work" and "home" values act like tags. The "work" value implies
that the property is related to an individual's work place, while the that the property is related to an individual's work place, while the
"home" value implies that the property is related to an individual's "home" value implies that the property is related to an individual's
personal life. When neither "work" nor "home" is present, it is personal life. When neither "work" nor "home" is present, it is
implied that the property is related to both an individual's work implied that the property is related to both an individual's work
place and personal life in the case that the KIND property's value is place and personal life in the case that the KIND property's value is
"individual", or to none in other cases. "individual", or to none in other cases.
skipping to change at page 22, line 13 skipping to change at page 22, line 13
calscale-value = "gregorian" / iana-token / x-name calscale-value = "gregorian" / iana-token / x-name
5.9. SORT-AS 5.9. SORT-AS
The "sort-as" parameter is used to specify the string to be used for The "sort-as" parameter is used to specify the string to be used for
national-language-specific sorting. Without this information, national-language-specific sorting. Without this information,
sorting algorithms could incorrectly sort this vCard within a sorting algorithms could incorrectly sort this vCard within a
sequence of sorted vCards. When this property is present in a vCard, sequence of sorted vCards. When this property is present in a vCard,
then the given strings are used for sorting the vCard. then the given strings are used for sorting the vCard.
This parameter's value is a single structured text value which MUST This parameter's value is a comma-separated list which MUST have as
have as many or less components as the corresponding property value many or less elements as the corresponding property value has
has. components.
ABNF: ABNF:
sort-as-param = "SORT-AS=" sort-as-value sort-as-param = "SORT-AS=" sort-as-value
sort-as-value = list-component *(";" list-component) sort-as-value = param-value *("," param-value)
Examples: For the case of surname and given name sorting, the Examples: For the case of surname and given name sorting, the
following examples define common sort string usage with the N following examples define common sort string usage with the N
property. property.
FN:Rene van der Harten FN:Rene van der Harten
N;SORT-AS="Harten;Rene":van der Harten;Rene,J.;Sir;R.D.O.N. N;SORT-AS="Harten,Rene":van der Harten;Rene,J.;Sir;R.D.O.N.
FN:Robert Pau Shou Chang FN:Robert Pau Shou Chang
N;SORT-AS="Pau Shou Chang;Robert":Shou Chang;Robert,Pau;; N;SORT-AS="Pau Shou Chang,Robert":Shou Chang;Robert,Pau;;
FN:Osamu Koura FN:Osamu Koura
N;SORT-AS="Koura;Osamu":Koura;Osamu;; N;SORT-AS="Koura,Osamu":Koura;Osamu;;
FN:Oscar del Pozo FN:Oscar del Pozo
N;SORT-AS="Pozo;Oscar":del Pozo Triscon;Oscar;; N;SORT-AS="Pozo,Oscar":del Pozo Triscon;Oscar;;
FN:Chistine d'Aboville FN:Chistine d'Aboville
N;SORT-AS="Aboville;Christine":d'Aboville;Christine;; N;SORT-AS="Aboville,Christine":d'Aboville;Christine;;
FN:H. James de Mann FN:H. James de Mann
N;SORT-AS="Mann;James":de Mann;Henry,James;; N;SORT-AS="Mann,James":de Mann;Henry,James;;
If sorted by surname the results would be: If sorted by surname the results would be:
Christine d'Aboville Christine d'Aboville
Rene van der Harten Rene van der Harten
Osamu Koura Osamu Koura
H. James de Mann H. James de Mann
Robert Pau Shou Chang Robert Pau Shou Chang
Oscar del Pozo Oscar del Pozo
skipping to change at page 23, line 27 skipping to change at page 23, line 27
H. James de Mann H. James de Mann
Osamu Koura Osamu Koura
Oscar del Pozo Oscar del Pozo
Rene van der Harten Rene van der Harten
Robert Pau Shou Chang Robert Pau Shou Chang
5.10. GEO 5.10. GEO
The GEO parameter can be used to indicate global positioning The GEO parameter can be used to indicate global positioning
information that is specific to an address. Its value is the same as information that is specific to an address. Its value is the same as
that of the GEO property. that of the GEO property (see Section 6.5.2).
ABNF: ABNF:
geo-param = "GEO=" DQUOTE uri DQUOTE geo-param = "GEO=" DQUOTE uri DQUOTE
5.11. TZ 5.11. TZ
The TZ parameter can be used to indicate time zone information that The TZ parameter can be used to indicate time zone information that
is specific to an address. Its value is the same as that of the TZ is specific to an address. Its value is the same as that of the TZ
property. property.
ABNF: ABNF:
tz-param = "TZ=" DQUOTE (text / uri) DQUOTE tz-param = "TZ=" (param-value / DQUOTE uri DQUOTE)
5.12. VERSION 5.12. VERSION
The VERSION parameter indicates the version number of a property The VERSION parameter indicates the version number of a property
value's format. In this specification, it is only used witht the XML value's format. In this specification, it is only used with the XML
property (Section 6.1.5) to indicate the XML version of the value. property (Section 6.1.5) to indicate the XML version of the value.
ABNF: ABNF:
version-param = "VERSION=" param-value version-param = "VERSION=" param-value
5.13. FMTTYPE 5.13. FMTTYPE
The FMTTYPE parameter indicates the content type [RFC4288] of a The FMTTYPE parameter indicates the content type [RFC4288] of a
property's value. It is most often used on properties with a property's value. It is most often used on properties with a
skipping to change at page 27, line 39 skipping to change at page 27, line 39
Purpose: To include extended XML-encoded vCard data in a plain Purpose: To include extended XML-encoded vCard data in a plain
vCard. vCard.
Value type: A single text value (default) or a single binary value. Value type: A single text value (default) or a single binary value.
Cardinality: (0,n) Cardinality: (0,n)
Special notes: The content of this property is a single XML element Special notes: The content of this property is a single XML element
whose namespace MUST be explicitly specified using the xmlns whose namespace MUST be explicitly specified using the xmlns
attribute and MUST NOT be the vCard 4 namespace attribute and MUST NOT be the vCard 4 namespace
("urn:ietf:params:xml:ns:vcard-4.0"). The element is to be ("urn:ietf:params:xml:ns:vcard-4.0"). (This implies that it
cannot duplicate a standard vCard property.) The element is to be
interpreted as if it was contained in a <vcard> element, as interpreted as if it was contained in a <vcard> element, as
defined in [I-D.ietf-vcarddav-vcardxml]. defined in [I-D.ietf-vcarddav-vcardxml].
The fragment is subject to normal line folding and escaping, i.e. The fragment is subject to normal line folding and escaping, i.e.
replace all backslashes with "\\", then replace all newlines with replace all backslashes with "\\", then replace all newlines with
"\n", then fold long lines. "\n", then fold long lines.
The VERSION parameter (Section 5.12) indicates the XML version of The VERSION parameter (Section 5.12) indicates the XML version of
the property's content (e.g. "1.0"). It MUST be present. the property's content (e.g. "1.0"). It MUST be present.
skipping to change at page 29, line 22 skipping to change at page 29, line 22
Purpose: To specify the components of the name of the object the Purpose: To specify the components of the name of the object the
vCard represents. vCard represents.
Value type: A single structured text value. Each component can have Value type: A single structured text value. Each component can have
multiple values. multiple values.
Cardinality: (0,1) Cardinality: (0,1)
Special note: The structured property value corresponds, in Special note: The structured property value corresponds, in
sequence, to the Surname (also known as family name), Given Names, sequence, to the Family Names (also known as surnames), Given
Honorific Prefixes, and Honorific Suffixes. The text components Names, Honorific Prefixes, and Honorific Suffixes. The text
are separated by the SEMI-COLON character (ASCII decimal 59). components are separated by the SEMI-COLON character (ASCII
Individual text components can include multiple text values decimal 59). Individual text components can include multiple text
separated by the COMMA character (ASCII decimal 44). This values separated by the COMMA character (ASCII decimal 44). This
property is based on the semantics of the X.520 individual name property is based on the semantics of the X.520 individual name
attributes. The property SHOULD be present in the vCard object attributes. The property SHOULD be present in the vCard object
when the name of the object the vCard represents follows the X.520 when the name of the object the vCard represents follows the X.520
model. model.
The SORT-AS parameter MAY be applied to this property. The SORT-AS parameter MAY be applied to this property.
ABNF: ABNF:
N-param = "VALUE=text" / sort-as-param / language-param N-param = "VALUE=text" / sort-as-param / language-param
skipping to change at page 30, line 16 skipping to change at page 30, line 16
Purpose: To specify the text corresponding to the nickname of the Purpose: To specify the text corresponding to the nickname of the
object the vCard represents. object the vCard represents.
Value type: One or more text values separated by a COMMA character Value type: One or more text values separated by a COMMA character
(ASCII decimal 44). (ASCII decimal 44).
Cardinality: (0,n) Cardinality: (0,n)
Special note: The nickname is the descriptive name given instead of Special note: The nickname is the descriptive name given instead of
or in addition to the one belonging to a person, place, or thing. or in addition to the one belonging to a the object the vCard
It can also be used to specify a familiar form of a proper name represents. It can also be used to specify a familiar form of a
specified by the FN or N properties. proper name specified by the FN or N properties.
ABNF: ABNF:
NICKNAME-param = "VALUE=text" / type-param / language-param NICKNAME-param = "VALUE=text" / type-param / language-param
/ altid-param / pid-param / pref-param / any-param / altid-param / pid-param / pref-param / any-param
NICKNAME-value = text-list NICKNAME-value = text-list
Examples: Examples:
NICKNAME:Robbie NICKNAME:Robbie
skipping to change at page 31, line 7 skipping to change at page 31, line 7
used and no explicit ENCODING parameter is needed. used and no explicit ENCODING parameter is needed.
Value type: A single value. The default is binary value. It can Value type: A single value. The default is binary value. It can
also be reset to uri value. The uri value can be used to specify also be reset to uri value. The uri value can be used to specify
a value outside of this MIME entity. a value outside of this MIME entity.
Cardinality: (0,n) Cardinality: (0,n)
Special notes: This property SHOULD include the parameter FMTTYPE to Special notes: This property SHOULD include the parameter FMTTYPE to
specify the graphic image format type. The FMTTYPE parameter specify the graphic image format type. The FMTTYPE parameter
value MUST be an image media type as specified in [RFC4288]. The value MUST be an image media type as specified in [RFC4288]. The
full media type name, including the "image/" prefix, SHOULD be full media type name, including the "image/" prefix, MUST be used.
used. However, implementations SHOULD be able to handle bare However, implementations SHOULD be able to handle bare subtypes.
subtypes.
ABNF: ABNF:
PHOTO-param = inline-param / refer-param / altid-param / type-param PHOTO-param = inline-param / refer-param / altid-param / type-param
PHOTO-value = inline-value / refer-value PHOTO-value = inline-value / refer-value
; Value and parameter MUST match. ; Value and parameter MUST match.
PHOTO-param =/ pid-param / pref-param / any-param PHOTO-param =/ pid-param / pref-param / any-param
inline-param = "VALUE=binary" / encoding-param / fmttype-param inline-param = "VALUE=binary" / encoding-param / fmttype-param
skipping to change at page 35, line 26 skipping to change at page 35, line 26
COLON character (ASCII decimal 59). COLON character (ASCII decimal 59).
Cardinality: (0,n) Cardinality: (0,n)
Special notes: The structured type value consists of a sequence of Special notes: The structured type value consists of a sequence of
address components. The component values MUST be specified in address components. The component values MUST be specified in
their corresponding position. The structured type value their corresponding position. The structured type value
corresponds, in sequence, to the post office box; the extended corresponds, in sequence, to the post office box; the extended
address (e.g. apartment or suite number); the street address; the address (e.g. apartment or suite number); the street address; the
locality (e.g., city); the region (e.g., state or province); the locality (e.g., city); the region (e.g., state or province); the
postal code; the country name. When a component value is missing, postal code; the country name (full name in the language specified
the associated component separator MUST still be specified. in Section 5.1). When a component value is missing, the
associated component separator MUST still be specified.
The text components are separated by the SEMI-COLON character The text components are separated by the SEMI-COLON character
(ASCII decimal 59). Where it makes semantic sense, individual (ASCII decimal 59). Where it makes semantic sense, individual
text components can include multiple text values (e.g., a "street" text components can include multiple text values (e.g., a "street"
component with multiple lines) separated by the COMMA character component with multiple lines) separated by the COMMA character
(ASCII decimal 44). (ASCII decimal 44).
The property can include the "PREF" parameter to indicate the The property can include the "PREF" parameter to indicate the
preferred delivery address when more than one address is preferred delivery address when more than one address is
specified. specified.
The GEO and TZ parameters MAY be used with this property. The GEO and TZ parameters MAY be used with this property.
ABNF: ABNF:
ADR-param = "VALUE=text" / language-param / geo-param / tz-param ADR-param = "VALUE=text" / language-param / geo-param / tz-param
/ altid-param / pid-param / pref-param / type-param / altid-param / pid-param / pref-param / type-param
/ any-param / any-param
ADR-value = list-component 6(";" list-component) ADR-value = ADR-component-pobox ";" ADR-component-ext ";"
ADR-component-street ";" ADR-component-locality ";"
ADR-component-region ";" ADR-component-code ";"
ADR-component-country
ADR-component-pobox = list-component
ADR-component-ext = list-component
ADR-component-street = list-component
ADR-component-locality = list-component
ADR-component-region = list-component
ADR-component-code = list-component
ADR-component-country = list-component
Example: In this example the post office box and the extended address Example: In this example the post office box and the extended address
are absent. are absent.
ADR;GEO="geo:12.3457,78.910":;;123 Main Street;Any Town;CA ADR;GEO="geo:12.3457,78.910":;;123 Main Street;Any Town;CA
;91921-1234;USA ;91921-1234;U.S.A.
6.3.2. LABEL 6.3.2. LABEL
Purpose: To specify the formatted text corresponding to a delivery Purpose: To specify the formatted text corresponding to a delivery
address of the object the vCard represents. address of the object the vCard represents.
Value type: A single text value. Value type: A single text value.
Cardinality: (0,n) Cardinality: (0,n)
skipping to change at page 36, line 33 skipping to change at page 37, line 7
/ pref-param / altid-param / type-param / any-param / pref-param / altid-param / type-param / any-param
LABEL-value = text LABEL-value = text
Example: A multi-line address label. Example: A multi-line address label.
LABEL:Mr.John Q. Public\, Esq.\nMail Drop: TNE QB\n LABEL:Mr.John Q. Public\, Esq.\nMail Drop: TNE QB\n
123 Main Street\nAny Town\, CA 91921-1234\nU.S.A. 123 Main Street\nAny Town\, CA 91921-1234\nU.S.A.
6.4. Communications Properties 6.4. Communications Properties
These properties are concerned with information associated with the These properties describe information about how to communicate with
way communications with the object the vCard represents are carried the object the vCard represents.
out.
6.4.1. TEL 6.4.1. TEL
Purpose: To specify the telephone number for telephony communication Purpose: To specify the telephone number for telephony communication
with the object the vCard represents. with the object the vCard represents.
Value type: A single URI value. It is expected that the URI scheme Value type: A single URI value. It is expected that the URI scheme
will be "tel", as specified in [RFC3966], but other schemes MAY be will be "tel", as specified in [RFC3966], but other schemes MAY be
used. used.
Cardinality: (0,n) Cardinality: (0,n)
Special notes: This property is based on the X.520 Telephone Number Special notes: This property is based on the X.520 Telephone Number
attribute. attribute.
The property can include the "PREF" parameter to indicate a The property can include the "PREF" parameter to indicate a
preferred-use telephone number. preferred-use telephone number.
The property can include the parameter "TYPE" to specify intended The property can include the parameter "TYPE" to specify intended
use for the telephone number. The TYPE parameter values can use for the telephone number. The predefined values for the TYPE
include: "text" to indicate the telephone number supports text parameter are:
messages (SMS), "voice" to indicate a voice telephone number,
"fax" to indicate a facsimile telephone number, "cell" to indicate +-----------+-------------------------------------------------------+
a cellular or mobile telephone number, "video" to indicate a video | Value | Description |
conferencing telephone number, "pager" to indicate a paging device +-----------+-------------------------------------------------------+
telephone number, and "textphone" to indicate a telecommunication | text | Indicates that the telephone number supports text |
device for the deaf. The default type is "voice". These type | | messages (SMS). |
parameter values can be specified as a parameter list (e.g., | voice | Indicates a voice telephone number. |
"TYPE=text;TYPE=voice") or as a value list (e.g., | fax | Indicates a facsimile telephone number. |
"TYPE=text,voice"). The default can be overridden to another set | cell | Indicates a cellular or mobile telephone number. |
of values by specifying one or more alternate values. For | video | Indicates a video conferencing telephone number. |
example, the default TYPE of "voice" can be reset to a VOICE and | pager | Indicates a paging device telephone number. |
FAX telephone number by the value list "TYPE=voice,fax". | textphone | Indicates a telecommunication device for people with |
| | hearing or speech difficulties.. |
+-----------+-------------------------------------------------------+
The default type is "voice". These type parameter values can be
specified as a parameter list (e.g., "TYPE=text;TYPE=voice") or as
a value list (e.g., "TYPE=text,voice"). The default can be
overridden to another set of values by specifying one or more
alternate values. For example, the default TYPE of "voice" can be
reset to a VOICE and FAX telephone number by the value list
"TYPE=voice,fax".
If this property's value is a URI that can also be used for
instant messaging, the IMPP (Section 6.4.3) property SHOULD be
used in addition to this property.
ABNF: ABNF:
TEL-param = "VALUE=uri" / type-param / pid-param / pref-param TEL-param = "VALUE=uri" / type-param / pid-param / pref-param
/ altid-param / any-param / altid-param / any-param
TEL-value = uri TEL-value = uri
type-param-tel = "text" / "voice" / "fax" / "cell" / "video" type-param-tel = "text" / "voice" / "fax" / "cell" / "video"
/ "pager" / "textphone" / iana-token / x-name / "pager" / "textphone" / iana-token / x-name
; type-param-tel MUST NOT be used with a property other than TEL. ; type-param-tel MUST NOT be used with a property other than TEL.
Example: Example:
TEL;PREF=1;TYPE=voice,msg,home:tel:+1-555-555-5555;ext=5555 TEL;PREF=1;TYPE=voice,home:tel:+1-555-555-5555;ext=5555
TEL;TYPE=home:tel:+33-01-23-45-67 TEL;TYPE=home:tel:+33-01-23-45-67
6.4.2. EMAIL 6.4.2. EMAIL
Purpose: To specify the electronic mail address for communication Purpose: To specify the electronic mail address for communication
with the object the vCard represents. with the object the vCard represents.
Value type: A single text value. Value type: A single text value.
Cardinality: (0,n) Cardinality: (0,n)
skipping to change at page 38, line 11 skipping to change at page 38, line 43
Special notes: The property can include tye "PREF" parameter to Special notes: The property can include tye "PREF" parameter to
indicate a preferred-use email address when more than one is indicate a preferred-use email address when more than one is
specified. specified.
ABNF: ABNF:
EMAIL-param = "VALUE=text" / pid-param / pref-param / type-param EMAIL-param = "VALUE=text" / pid-param / pref-param / type-param
/ altid-param / any-param / altid-param / any-param
EMAIL-value = addr-spec ; from [RFC5322] section 3.4.1 EMAIL-value = addr-spec ; from [RFC5322] section 3.4.1
Type example: Example:
EMAIL;TYPE=work:jqpublic@xyz.example.com EMAIL;TYPE=work:jqpublic@xyz.example.com
EMAIL;PREF=1:jane_doe@example.com EMAIL;PREF=1:jane_doe@example.com
6.4.3. IMPP 6.4.3. IMPP
Purpose: To specify the URI for instant messaging and presence Purpose: To specify the URI for instant messaging and presence
protocol communications with the object the vCard represents. protocol communications with the object the vCard represents.
Value type: A single URI. Value type: A single URI.
Cardinality: (0,n) Cardinality: (0,n)
Special notes: The property may include the "PREF" parameter to Special notes: The property may include the "PREF" parameter to
indicate that this is a preferred address and has the same indicate that this is a preferred address and has the same
semantics as the "PREF" parameter in a TEL property. semantics as the "PREF" parameter in a TEL property.
If this property's value is a URI that can be used for voice
and/or video, the TEL property (Section 6.4.1) SHOULD be used in
addition to this property.
This property is adapted from [RFC4770], which is made obsolete by This property is adapted from [RFC4770], which is made obsolete by
this document. this document.
ABNF: ABNF:
IMPP-param = "VALUE=uri" / pid-param / pref-param / type-param IMPP-param = "VALUE=uri" / pid-param / pref-param / type-param
/ altid-param / any-param / altid-param / any-param
IMPP-value = uri IMPP-value = uri
Example: Example:
skipping to change at page 39, line 45 skipping to change at page 40, line 37
Special notes: It is expected that names from the public-domain Special notes: It is expected that names from the public-domain
Olson database [TZ-DB] will be used, but this is not a Olson database [TZ-DB] will be used, but this is not a
restriction. restriction.
Efforts are currently being directed at creating a standard URI Efforts are currently being directed at creating a standard URI
scheme for expressing time zone information. Usage of such a scheme for expressing time zone information. Usage of such a
scheme would ensure a high level of interoperability between scheme would ensure a high level of interoperability between
implementations that support it. implementations that support it.
Note that utc-offset values SHOULD NOT be used because the UTC Note that utc-offset values SHOULD NOT be used because the UTC
offset varies with time - not just because of the usual dailight offset varies with time - not just because of the usual daylight
saving time shifts that occur in may regions, but often entire saving time shifts that occur in may regions, but often entire
regions will "re-base" their overall offset. The actual offset regions will "re-base" their overall offset. The actual offset
may be +/- 1 hour (or perhaps a little more) than the one given. may be +/- 1 hour (or perhaps a little more) than the one given.
ABNF: ABNF:
TZ-param = "VALUE=" ("text" / "uri" / "utc-offset") TZ-param = "VALUE=" ("text" / "uri" / "utc-offset")
TZ-value = text / uri / utc-offset TZ-value = text / uri / utc-offset
; Value and parameter MUST match ; Value and parameter MUST match
skipping to change at page 40, line 47 skipping to change at page 41, line 36
GEO-value = uri GEO-value = uri
Example: Example:
GEO:geo:37.386013,-122.082932 GEO:geo:37.386013,-122.082932
6.6. Organizational Properties 6.6. Organizational Properties
These properties are concerned with information associated with These properties are concerned with information associated with
characteristics of the organization or organizational units of the characteristics of the organization or organizational units of the
object the vCard represents. object that the vCard represents.
6.6.1. TITLE 6.6.1. TITLE
Purpose: To specify the position or job of the object the vCard Purpose: To specify the position or job of the object the vCard
represents. represents.
Value type: A single text value. Value type: A single text value.
Cardinality: (0,n) Cardinality: (0,n)
Special notes: This property is based on the X.520 Title attribute. Special notes: This property is based on the X.520 Title attribute.
ABNF: ABNF:
skipping to change at page 42, line 24 skipping to change at page 43, line 10
Value type: A single value. The default is binary value. It can Value type: A single value. The default is binary value. It can
also be reset to uri value. The uri value can be used to specify also be reset to uri value. The uri value can be used to specify
a value outside of this MIME entity. a value outside of this MIME entity.
Cardinality: (0,n) Cardinality: (0,n)
Special notes: This property SHOULD include the parameter FMTTYPE to Special notes: This property SHOULD include the parameter FMTTYPE to
specify the graphic image format type. The FMTTYPE parameter specify the graphic image format type. The FMTTYPE parameter
value MUST be an image media type as specified in [RFC4288]. The value MUST be an image media type as specified in [RFC4288]. The
full media type name, including the "image/" prefix, SHOULD be full media type name, including the "image/" prefix, MUST be used.
used. However, implementations SHOULD be able to handle bare However, implementations SHOULD be able to handle bare subtypes.
subtypes.
ABNF: ABNF:
LOGO-param = inline-param / refer-param LOGO-param = inline-param / refer-param
LOGO-value = inline-value / refer-value LOGO-value = inline-value / refer-value
; Value and parameter MUST match. ; Value and parameter MUST match.
LOGO-param =/ language-param / pid-param / pref-param / type-param LOGO-param =/ language-param / pid-param / pref-param / type-param
/ altid-param / any-param / altid-param / any-param
skipping to change at page 46, line 5 skipping to change at page 47, line 7
type-param-related = "parent" / "child" / "sibling" / "spouse" type-param-related = "parent" / "child" / "sibling" / "spouse"
/ "family" / "friend" / "supervisor" / "family" / "friend" / "supervisor"
/ "supervisee" / "assistant" / "colleague" / "supervisee" / "assistant" / "colleague"
/ "agent" / "emergency" / iana-token / x-name / "agent" / "emergency" / iana-token / x-name
; type-param-related MUST NOT be used with a property other than ; type-param-related MUST NOT be used with a property other than
; RELATED. ; RELATED.
Examples: Examples:
RELATED;TYPE=manager:urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6 RELATED;TYPE=supervisor:urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6
RELATED;TYPE=assistant:http://example.com/directory/jdoe.vcf RELATED;TYPE=assistant:http://example.com/directory/jdoe.vcf
RELATED;TYPE=agent;VALUE=text:Please contact my assistant Jane Doe RELATED;TYPE=agent;VALUE=text:Please contact my assistant Jane Doe
for any inquiries. for any inquiries.
6.7. Explanatory Properties 6.7. Explanatory Properties
These properties are concerned with additional explanations, such as These properties are concerned with additional explanations, such as
that related to informational notes or revisions specific to the that related to informational notes or revisions specific to the
vCard. vCard.
6.7.1. CATEGORIES 6.7.1. CATEGORIES
Purpose: To specify application category information about the Purpose: To specify application category information about the
skipping to change at page 48, line 35 skipping to change at page 49, line 35
Value type: A single value. The default is binary value. It can Value type: A single value. The default is binary value. It can
also be reset to uri value. The uri value can be used to specify also be reset to uri value. The uri value can be used to specify
a value outside of this MIME entity. a value outside of this MIME entity.
Cardinality: (0,n) Cardinality: (0,n)
Special notes: This property SHOULD include the parameter FMTTYPE to Special notes: This property SHOULD include the parameter FMTTYPE to
specify the audio format type. The FMTTYPE parameter value MUST specify the audio format type. The FMTTYPE parameter value MUST
be an audio media type as specified in [RFC4288]. The full media be an audio media type as specified in [RFC4288]. The full media
type name, including the "audio/" prefix, SHOULD be used. type name, including the "audio/" prefix, MUST be used. However,
However, implementations SHOULD be able to handle bare subtypes. implementations SHOULD be able to handle bare subtypes.
ABNF: ABNF:
SOUND-param = inline-param / refer-param SOUND-param = inline-param / refer-param
SOUND-value = inline-value / refer-value SOUND-value = inline-value / refer-value
; Value and parameter MUST match. ; Value and parameter MUST match.
SOUND-param =/ language-param / pid-param / pref-param / type-param SOUND-param =/ language-param / pid-param / pref-param / type-param
/ altid-param / any-param / altid-param / any-param
skipping to change at page 57, line 8 skipping to change at page 58, line 8
7.2. Example 7.2. Example
7.2.1. Creation 7.2.1. Creation
The following simple vCard is first created on a given device. The following simple vCard is first created on a given device.
BEGIN:VCARD BEGIN:VCARD
VERSION:4.0 VERSION:4.0
UID:urn:uuid:4fbe8971-0bc3-424c-9c26-36c3e1eff6b1 UID:urn:uuid:4fbe8971-0bc3-424c-9c26-36c3e1eff6b1
FN:J. Doe FN;PID=1.1:J. Doe
N:Doe;J.;;
EMAIL;PID=1.1:jdoe@example.com EMAIL;PID=1.1:jdoe@example.com
CLIENTPIDMAP:1;urn:uuid:53e374d9-337e-4727-8803-a1e9c14e0556 CLIENTPIDMAP:1;urn:uuid:53e374d9-337e-4727-8803-a1e9c14e0556
END:VCARD END:VCARD
This new vCard is assigned the UID This new vCard is assigned the UID
"urn:uuid:4fbe8971-0bc3-424c-9c26-36c3e1eff6b1" by the creating "urn:uuid:4fbe8971-0bc3-424c-9c26-36c3e1eff6b1" by the creating
device. The EMAIL property is assigned PID 1, and this PID is given device. The FN and EMAIL properties are assigned the same local
global context by associating it with value of 1, and this value is given global context by associating it
"urn:uuid:53e374d9-337e-4727-8803-a1e9c14e0556", which represents the with "urn:uuid:53e374d9-337e-4727-8803-a1e9c14e0556", which
creating device. The FN property has no PID because it is forbidden represents the creating device. We are at liberty to reuse the same
by its maximum cardinality of 1. local value since instances of different properties will never be
matched. The N property has no PID because it is forbidden by its
maximum cardinality of 1.
7.2.2. Initial Sharing 7.2.2. Initial Sharing
This vCard is shared with a second device. Upon inspecting the UID This vCard is shared with a second device. Upon inspecting the UID
property, the second device understands that this is a new vCard property, the second device understands that this is a new vCard
(i.e. unmatched) and thus the synchronization results in a simple (i.e. unmatched) and thus the synchronization results in a simple
copy. copy.
7.2.3. Adding and Sharing a Property 7.2.3. Adding and Sharing a Property
A new phone number is created on the first device, then the vCard is A new phone number is created on the first device, then the vCard is
shared with the second device. This is what the second device shared with the second device. This is what the second device
receives: receives:
BEGIN:VCARD BEGIN:VCARD
VERSION:4.0 VERSION:4.0
UID:urn:uuid:4fbe8971-0bc3-424c-9c26-36c3e1eff6b1 UID:urn:uuid:4fbe8971-0bc3-424c-9c26-36c3e1eff6b1
FN:J. Doe FN;PID=1.1:J. Doe
N:Doe;J.;;
EMAIL;PID=1.1:jdoe@example.com EMAIL;PID=1.1:jdoe@example.com
TEL;PID=1.1:tel:+1-555-555-5555 TEL;PID=1.1:tel:+1-555-555-5555
CLIENTPIDMAP:1;urn:uuid:53e374d9-337e-4727-8803-a1e9c14e0556 CLIENTPIDMAP:1;urn:uuid:53e374d9-337e-4727-8803-a1e9c14e0556
END:VCARD END:VCARD
Upon inspecting the UID property, the second device matches the vCard Upon inspecting the UID property, the second device matches the vCard
it received to the vCard that it already has stored. It then starts it received to the vCard that it already has stored. It then starts
comparing the properties of the two vCards in same-named pairs. comparing the properties of the two vCards in same-named pairs.
The FN properties are matched automatically because their maximum The FN properties are matched because the PID parameters have the
same global value. Since the property value is the same, no update
takes place.
The N properties are matched automatically because their maximum
cardinality is 1. Since the property value is the same, no update cardinality is 1. Since the property value is the same, no update
takes place. takes place.
The EMAIL properties are matched because the PID parameters have the The EMAIL properties are matched because the PID parameters have the
same global value. Since the property value is the same, no update same global value. Since the property value is the same, no update
takes place. takes place.
The TEL property in the new vCard is not matched to any in the stored The TEL property in the new vCard is not matched to any in the stored
vCard because no property in the stored vCard has the same name. vCard because no property in the stored vCard has the same name.
Therefore, this property is copied from the new vCard to the stored Therefore, this property is copied from the new vCard to the stored
skipping to change at page 58, line 25 skipping to change at page 60, line 8
7.2.4. Simultaneous Editing 7.2.4. Simultaneous Editing
A new email address and a new phone number are added to the vCard on A new email address and a new phone number are added to the vCard on
each of the two devices, and then a new synchronization event each of the two devices, and then a new synchronization event
happens. Here are the vCards that are communicated to each other: happens. Here are the vCards that are communicated to each other:
BEGIN:VCARD BEGIN:VCARD
VERSION:4.0 VERSION:4.0
UID:urn:uuid:4fbe8971-0bc3-424c-9c26-36c3e1eff6b1 UID:urn:uuid:4fbe8971-0bc3-424c-9c26-36c3e1eff6b1
FN:J. Doe FN;PID=1.1:J. Doe
N:Doe;J.;;
EMAIL;PID=1.1:jdoe@example.com EMAIL;PID=1.1:jdoe@example.com
EMAIL;PID=2.1:boss@example.com EMAIL;PID=2.1:boss@example.com
TEL;PID=1.1:tel:+1-555-555-5555 TEL;PID=1.1:tel:+1-555-555-5555
TEL;PID=2.1:tel:+1-666-666-6666 TEL;PID=2.1:tel:+1-666-666-6666
CLIENTPIDMAP:1;urn:uuid:53e374d9-337e-4727-8803-a1e9c14e0556 CLIENTPIDMAP:1;urn:uuid:53e374d9-337e-4727-8803-a1e9c14e0556
END:VCARD END:VCARD
BEGIN:VCARD BEGIN:VCARD
VERSION:4.0 VERSION:4.0
UID:urn:uuid:4fbe8971-0bc3-424c-9c26-36c3e1eff6b1 UID:urn:uuid:4fbe8971-0bc3-424c-9c26-36c3e1eff6b1
FN:J. Doe FN;PID=1.1:J. Doe
N:Doe;J.;;
EMAIL;PID=1.1:jdoe@example.com EMAIL;PID=1.1:jdoe@example.com
EMAIL;PID=2.2:ceo@example.com EMAIL;PID=2.2:ceo@example.com
TEL;PID=1.1:tel:+1-555-555-5555 TEL;PID=1.1:tel:+1-555-555-5555
TEL;PID=2.2:tel:+1-666-666-6666 TEL;PID=2.2:tel:+1-666-666-6666
CLIENTPIDMAP:1;urn:uuid:53e374d9-337e-4727-8803-a1e9c14e0556 CLIENTPIDMAP:1;urn:uuid:53e374d9-337e-4727-8803-a1e9c14e0556
CLIENTPIDMAP:2;urn:uuid:1f762d2b-03c4-4a83-9a03-75ff658a6eee CLIENTPIDMAP:2;urn:uuid:1f762d2b-03c4-4a83-9a03-75ff658a6eee
END:VCARD END:VCARD
On the first device, the same PID source identifier (1) is reused for On the first device, the same PID source identifier (1) is reused for
the new EMAIL and TEL properties. On the second device, a new source the new EMAIL and TEL properties. On the second device, a new source
skipping to change at page 59, line 11 skipping to change at page 60, line 44
"urn:uuid:1f762d2b-03c4-4a83-9a03-75ff658a6eee". "urn:uuid:1f762d2b-03c4-4a83-9a03-75ff658a6eee".
The new EMAIL properties are unmatched on both sides since the PID The new EMAIL properties are unmatched on both sides since the PID
global value is new in both cases. The sync thus results in a copy global value is new in both cases. The sync thus results in a copy
on both sides. on both sides.
Although the situation appears to be the same for the TEL properties, Although the situation appears to be the same for the TEL properties,
in this case the synchronization engine is particularly smart and in this case the synchronization engine is particularly smart and
matches the two new TEL properties even though their PID global matches the two new TEL properties even though their PID global
values are different. Note that in this case, the rules of section values are different. Note that in this case, the rules of section
Section 7.1.2 state that two properties may be matched at the Section 7.1.2 state that two properties MAY be matched at the
discretion of the synchronization engine. Therefore, the two discretion of the synchronization engine. Therefore, the two
properties are merged. properties are merged.
All this results in the following vCard which is stored on both All this results in the following vCard which is stored on both
devices: devices:
BEGIN:VCARD BEGIN:VCARD
VERSION:4.0 VERSION:4.0
UID:urn:uuid:4fbe8971-0bc3-424c-9c26-36c3e1eff6b1 UID:urn:uuid:4fbe8971-0bc3-424c-9c26-36c3e1eff6b1
FN:J. Doe FN:J. Doe
N:Doe;J.;;
EMAIL;PID=1.1:jdoe@example.com EMAIL;PID=1.1:jdoe@example.com
EMAIL;PID=2.1:boss@example.com EMAIL;PID=2.1:boss@example.com
EMAIL;PID=2.2:ceo@example.com EMAIL;PID=2.2:ceo@example.com
TEL;PID=1.1:tel:+1-555-555-5555 TEL;PID=1.1:tel:+1-555-555-5555
TEL;PID=2.1,2.2:tel:+1-666-666-6666 TEL;PID=2.1,2.2:tel:+1-666-666-6666
CLIENTPIDMAP:1;urn:uuid:53e374d9-337e-4727-8803-a1e9c14e0556 CLIENTPIDMAP:1;urn:uuid:53e374d9-337e-4727-8803-a1e9c14e0556
CLIENTPIDMAP:2;urn:uuid:1f762d2b-03c4-4a83-9a03-75ff658a6eee CLIENTPIDMAP:2;urn:uuid:1f762d2b-03c4-4a83-9a03-75ff658a6eee
END:VCARD END:VCARD
7.2.5. Global Context Simplification 7.2.5. Global Context Simplification
The two devices finish their synchronization procedure by simplifying The two devices finish their synchronization procedure by simplifying
their global contexts. Since they haven't talked to any other their global contexts. Since they haven't talked to any other
device, the following vCard is for all purposes equivalent to the device, the following vCard is for all purposes equivalent to the
above. It is also shorter. above. It is also shorter.
BEGIN:VCARD BEGIN:VCARD
VERSION:4.0 VERSION:4.0
UID:urn:uuid:4fbe8971-0bc3-424c-9c26-36c3e1eff6b1 UID:urn:uuid:4fbe8971-0bc3-424c-9c26-36c3e1eff6b1
FN:J. Doe FN:J. Doe
N:Doe;J.;;
EMAIL;PID=1.1:jdoe@example.com EMAIL;PID=1.1:jdoe@example.com
EMAIL;PID=2.1:boss@example.com EMAIL;PID=2.1:boss@example.com
EMAIL;PID=3.1:ceo@example.com EMAIL;PID=3.1:ceo@example.com
TEL;PID=1.1:tel:+1-555-555-5555 TEL;PID=1.1:tel:+1-555-555-5555
TEL;PID=2.1:tel:+1-666-666-6666 TEL;PID=2.1:tel:+1-666-666-6666
CLIENTPIDMAP:1;urn:uuid:53e374d9-337e-4727-8803-a1e9c14e0556 CLIENTPIDMAP:1;urn:uuid:53e374d9-337e-4727-8803-a1e9c14e0556
END:VCARD END:VCARD
The details of global context simplification are unspecified by this The details of global context simplification are unspecified by this
document. They are left up to the synchronization engine. This document. They are left up to the synchronization engine. This
skipping to change at page 60, line 19 skipping to change at page 62, line 17
BEGIN:VCARD BEGIN:VCARD
VERSION:4.0 VERSION:4.0
FN:Simon Perreault FN:Simon Perreault
N:Perreault;Simon;;ing. jr,M.Sc. N:Perreault;Simon;;ing. jr,M.Sc.
BDAY:--0203 BDAY:--0203
ANNIVERSARY:20090808T1430-0500 ANNIVERSARY:20090808T1430-0500
SEX:1 SEX:1
LANG;PREF=1:fr LANG;PREF=1:fr
LANG;PREF=2:en LANG;PREF=2:en
ORG;TYPE=work:Viagenie ORG;TYPE=work:Viagenie
ADR;TYPE=work:;Suite 625;2600 boul. Laurier; ADR;TYPE=work:;Suite D2-630;2875 Laurier;
Quebec;QC;G1V 4W1;Canada Quebec;QC;G1V 2M2;Canada
TEL;TYPE=work,voice;PREF=1:tel:+1-418-656-9254;ext=102 TEL;TYPE=work,voice;PREF=1:tel:+1-418-656-9254;ext=102
TEL;TYPE=work,cell,voice,video,text:tel:+1-418-262-6501 TEL;TYPE=work,cell,voice,video,text:tel:+1-418-262-6501
TEL;TYPE=work,fax:tel:+1-418-656-9257 TEL;TYPE=work,fax:tel:+1-418-656-9257
EMAIL;TYPE=work:simon.perreault@viagenie.ca EMAIL;TYPE=work:simon.perreault@viagenie.ca
GEO;TYPE=work:geo:46.772673,-71.282945 GEO;TYPE=work:geo:46.772673,-71.282945
KEY;TYPE=work;VALUE=uri: KEY;TYPE=work;VALUE=uri:
http://www.viagenie.ca/simon.perreault/simon.asc http://www.viagenie.ca/simon.perreault/simon.asc
TZ:-0500 TZ:-0500
CLASS:PUBLIC CLASS:PUBLIC
END:VCARD END:VCARD
skipping to change at page 61, line 47 skipping to change at page 63, line 44
Required parameters: none Required parameters: none
Optional parameters: version Optional parameters: version
The "version" parameter is to be interpreted identically as the The "version" parameter is to be interpreted identically as the
VERSION vCard property. If this parameter is present, all vCards VERSION vCard property. If this parameter is present, all vCards
in a text/vcard body part MUST have a VERSION property with value in a text/vcard body part MUST have a VERSION property with value
identical to that of this MIME parameter. identical to that of this MIME parameter.
Encoding considerations: The "charset" MIME parameter, if present, "charset": as defined for text/plain [RFC2046]; encodings other
MUST be set to "UTF-8", as defined in [RFC3629]. than UTF-8 [RFC3629] MUST NOT be used.
Encoding considerations: None.
Security considerations: See Section 9. Security considerations: See Section 9.
Interoperability considerations: The text/vcard media type is Interoperability considerations: The text/vcard media type is
intended to identify vCard data of any version. There are older intended to identify vCard data of any version. There are older
specifications of vCard [RFC2426][oldreference_VCARD] still in specifications of vCard [RFC2426][oldreference_VCARD] still in
common use. While these formats are similar, they are not common use. While these formats are similar, they are not
strictly compatible. In general, it is necessary to inspect the strictly compatible. In general, it is necessary to inspect the
value of the VERSION property (see Section 6.7.9) for identifying value of the VERSION property (see Section 6.7.9) for identifying
the standard to which a given vCard object conforms. the standard to which a given vCard object conforms.
skipping to change at page 62, line 25 skipping to change at page 64, line 23
In addition, the following media types are known to have been used In addition, the following media types are known to have been used
to refer to vCard data. They should be considered deprecated in to refer to vCard data. They should be considered deprecated in
favor of text/vcard. favor of text/vcard.
* text/directory * text/directory
* text/directory; profile=vcard * text/directory; profile=vcard
* text/x-vcard * text/x-vcard
Published specification: draft-ietf-vcarddav-vcardrev-13 Published specification: draft-ietf-vcarddav-vcardrev-14
Applications that use this media type: They are numerous, diverse, Applications that use this media type: They are numerous, diverse,
and include mail user agents, instant messaging clients, address and include mail user agents, instant messaging clients, address
book applications, directory servers, customer relationship book applications, directory servers, customer relationship
management software, etc. management software.
Additional information: Additional information:
Magic number(s): Magic number(s):
File extension(s): .vcf File extension(s): .vcf
Macintosh file type code(s): Macintosh file type code(s):
Person & email address to contact for further information: Simon Person & email address to contact for further information: Simon
skipping to change at page 66, line 11 skipping to change at page 68, line 11
Conformance: The vCard properties and/or parameters that can take Conformance: The vCard properties and/or parameters that can take
this value needs to be specified. this value needs to be specified.
Example(s): One or more examples of instances of the value needs to Example(s): One or more examples of instances of the value needs to
be specified. be specified.
The following is a fictitious example of a registration of a vCard The following is a fictitious example of a registration of a vCard
value: value:
Value: TOP-SECRET Value: NOINDEX
Purpose: This value is used to specify the access classification of Purpose: This value is used to warn other services not to "crawl"
top-secret vCards. this vCard for searching.
Conformance: This value can be used with the "CLASS" property. Conformance: This value can be used with the "CLASS" property.
Example(s): The following is an example of this value used with the Example(s): The following is an example of this value used with the
"CLASS" property: "CLASS" property:
CLASS:TOP-SECRET CLASS:NOINDEX
10.3. Initial vCard Elements Registries 10.3. Initial vCard Elements Registries
The IANA is requested to create and maintain the following registries The IANA is requested to create and maintain the following registries
for vCard elements with pointers to appropriate reference documents. for vCard elements with pointers to appropriate reference documents.
10.3.1. Properties Registry 10.3.1. Properties Registry
The following table is to be used to initialize the properties The following table is to be used to initialize the properties
registry. registry.
skipping to change at page 70, line 19 skipping to change at page 72, line 19
| PHOTO, ADR, | | | | Section 5.7 | | PHOTO, ADR, | | | | Section 5.7 |
| LABEL, TEL, | | | | | | LABEL, TEL, | | | | |
| EMAIL, IMPP, | | | | | | EMAIL, IMPP, | | | | |
| LANG, TZ, GEO, | | | | | | LANG, TZ, GEO, | | | | |
| TITLE, ROLE, | | | | | | TITLE, ROLE, | | | | |
| LOGO, ORG, | | | | | | LOGO, ORG, | | | | |
| RELATED, | | | | | | RELATED, | | | | |
| CATEGORIES, | | | | | | CATEGORIES, | | | | |
| NOTE, SOUND, | | | | | | NOTE, SOUND, | | | | |
| URL, KEY, | | | | | | URL, KEY, | | | | |
| FIBURL, | | | | | | FBURL, | | | | |
| CALADRURI, and | | | | | | CALADRURI, and | | | | |
| CALURI | | | | | | CALURI | | | | |
| FN, NICKNAME, | TYPE | home | Current | RFCXXXX, | | FN, NICKNAME, | TYPE | home | Current | RFCXXXX, |
| PHOTO, ADR, | | | | Section 5.7 | | PHOTO, ADR, | | | | Section 5.7 |
| LABEL, TEL, | | | | | | LABEL, TEL, | | | | |
| EMAIL, IMPP, | | | | | | EMAIL, IMPP, | | | | |
| LANG, TZ, GEO, | | | | | | LANG, TZ, GEO, | | | | |
| TITLE, ROLE, | | | | | | TITLE, ROLE, | | | | |
| LOGO, ORG, | | | | | | LOGO, ORG, | | | | |
| RELATED, | | | | | | RELATED, | | | | |
| CATEGORIES, | | | | | | CATEGORIES, | | | | |
| NOTE, SOUND, | | | | | | NOTE, SOUND, | | | | |
| URL, KEY, | | | | | | URL, KEY, | | | | |
| FIBURL, | | | | | | FBURL, | | | | |
| CALADRURI, and | | | | | | CALADRURI, and | | | | |
| CALURI | | | | | | CALURI | | | | |
| TEL | TYPE | text | Current | RFCXXXX, | | TEL | TYPE | text | Current | RFCXXXX, |
| | | | | Section 6.4.1 | | | | | | Section 6.4.1 |
| TEL | TYPE | voice | Current | RFCXXXX, | | TEL | TYPE | voice | Current | RFCXXXX, |
| | | | | Section 6.4.1 | | | | | | Section 6.4.1 |
| TEL | TYPE | fax | Current | RFCXXXX, | | TEL | TYPE | fax | Current | RFCXXXX, |
| | | | | Section 6.4.1 | | | | | | Section 6.4.1 |
| TEL | TYPE | cell | Current | RFCXXXX, | | TEL | TYPE | cell | Current | RFCXXXX, |
| | | | | Section 6.4.1 | | | | | | Section 6.4.1 |
skipping to change at page 71, line 41 skipping to change at page 73, line 41
11. Acknowledgements 11. Acknowledgements
The authors would like to thank Tim Howes, Mark Smith, and Frank The authors would like to thank Tim Howes, Mark Smith, and Frank
Dawson, the original authors of [RFC2425] and [RFC2426], as well as Dawson, the original authors of [RFC2425] and [RFC2426], as well as
the following individuals who have participated in the drafting, the following individuals who have participated in the drafting,
review and discussion of this memo: review and discussion of this memo:
Aki Niemi, Andy Mabbett, Alexander Mayrhofer, Alexey Melnikov, Anil Aki Niemi, Andy Mabbett, Alexander Mayrhofer, Alexey Melnikov, Anil
Srivastava, Barry Leiba, Ben Fortuna, Bernard Desruisseaux, Bernie Srivastava, Barry Leiba, Ben Fortuna, Bernard Desruisseaux, Bernie
Hoeneisen, Caleb Richarson, Chris Bryant, Chris Newman, Cyrus Daboo, Hoeneisen, Bjoern Hoehrmann, Caleb Richarson, Chris Bryant, Chris
Daisuke Miyakawa, Dan Brickley, Dan Mosedale, Dany Cauchie, Darryl Newman, Cyrus Daboo, Daisuke Miyakawa, Dan Brickley, Dan Mosedale,
Champagne, Dave Thewlis, Filip Navara, Florian Zeitz, Helge Hess, Dany Cauchie, Darryl Champagne, Dave Thewlis, Filip Navara, Florian
Jari Urpalainen, Javier Godoy, Jean-Luc Schellens, Joe Hildebrand, Zeitz, Helge Hess, Jari Urpalainen, Javier Godoy, Jean-Luc Schellens,
Jose Luis Gayosso, Joseph Smarr, Julian Reschke, Kepeng Li, Kevin Wu Joe Hildebrand, Jose Luis Gayosso, Joseph Smarr, Julian Reschke,
Won, Kurt Zeilenga. Lisa Dusseault, Marc Blanchet, Mark Paterson, Kepeng Li, Kevin Marks, Kevin Wu Won, Kurt Zeilenga. Lisa Dusseault,
Markus Lorenz, Mike Douglass, Nick Levinson, Peter K. Sheerin, Peter Marc Blanchet, Mark Paterson, Markus Lorenz, Michael Haardt, Mike
Mogensen, Peter Saint-Andre, Renato Iannella, Sly Gryphon, Stephane Douglass, Nick Levinson, Peter K. Sheerin, Peter Mogensen, Peter
Saint-Andre, Renato Iannella, Rohit Khare, Sly Gryphon, Stephane
Bortzmeyer, Tantek Celik, and Zoltan Ordogh. Bortzmeyer, Tantek Celik, and Zoltan Ordogh.
12. References 12. References
12.1. Normative References 12.1. Normative References
[CCITT.E163.1988] International Telephone and Telegraph [CCITT.E163.1988] International Telephone and Telegraph
Consultative Committee, "Numbering Plan Consultative Committee, "Numbering Plan
for the International Telephone for the International Telephone
Service", CCITT Recommendation E.163, Service", CCITT Recommendation E.163,
1988. 1988.
[CCITT.X121.1988] International Telephone and Telegraph [CCITT.X121.1988] International Telephone and Telegraph
Consultative Committee, "International Consultative Committee, "International
skipping to change at page 72, line 34 skipping to change at page 74, line 37
November 1988. November 1988.
[CCITT.X521.1988] International International Telephone [CCITT.X521.1988] International International Telephone
and Telegraph Consultative Committee, and Telegraph Consultative Committee,
"Information Technology - Open Systems "Information Technology - Open Systems
Interconnection - The Directory: Interconnection - The Directory:
Selected Object Classes", Selected Object Classes",
CCITT Recommendation X.521, CCITT Recommendation X.521,
November 1988. November 1988.
[I-D.ietf-vcarddav-vcardxml] Perreault, S., "vCard XML Schema", [I-D.ietf-vcarddav-vcardxml] Perreault, S., "vCard XML
draft-ietf-vcarddav-vcardxml-02 (work Representation",
in progress), March 2010. draft-ietf-vcarddav-vcardxml-05 (work
in progress), August 2010.
[ISO.5218.2004] International Organization for [ISO.5218.2004] International Organization for
Standardization, "Information Standardization, "Information
Technology - Codes for the Technology - Codes for the
representation of human sexes", representation of human sexes",
ISO Standard 5218, December 2004. ISO Standard 5218, December 2004.
[ISO.8601.2000] International Organization for [ISO.8601.2000] International Organization for
Standardization, "Data elements and Standardization, "Data elements and
interchange formats - Information interchange formats - Information
skipping to change at page 74, line 42 skipping to change at page 76, line 46
September September. September September.
12.2. Informative References 12.2. Informative References
[ISO9070] The International Organization for [ISO9070] The International Organization for
Standardization, "ISO 9070, Information Standardization, "ISO 9070, Information
Processing - SGML support facilities - Processing - SGML support facilities -
Registration Procedures for Public Text Registration Procedures for Public Text
Owner Identifiers", April 1991. Owner Identifiers", April 1991.
[RFC2616] Fielding, R., Gettys, J., Mogul, J.,
Frystyk, H., Masinter, L., Leach, P.,
and T. Berners-Lee, "Hypertext Transfer
Protocol -- HTTP/1.1", RFC 2616,
June 1999.
[RFC3406] Daigle, L., van Gulik, D., Iannella, [RFC3406] Daigle, L., van Gulik, D., Iannella,
R., and P. Faltstrom, "Uniform Resource R., and P. Faltstrom, "Uniform Resource
Names (URN) Namespace Definition Names (URN) Namespace Definition
Mechanisms", BCP 66, RFC 3406, Mechanisms", BCP 66, RFC 3406,
October 2002. October 2002.
[RFC5545] Desruisseaux, B., "Internet Calendaring [RFC5545] Desruisseaux, B., "Internet Calendaring
and Scheduling Core Object and Scheduling Core Object
Specification (iCalendar)", RFC 5545, Specification (iCalendar)", RFC 5545,
September 2009. September 2009.
skipping to change at page 75, line 25 skipping to change at page 77, line 34
[2] <mailto:iana@iana.org> [2] <mailto:iana@iana.org>
Appendix A. Differences from RFCs 2425 and 2426 Appendix A. Differences from RFCs 2425 and 2426
This appendix contains a list of changes that have been made in the This appendix contains a list of changes that have been made in the
vCard specification from RFCs 2425 and 2426. vCard specification from RFCs 2425 and 2426.
A.1. New Structure A.1. New Structure
o [RFC2425] and [RFC2426] have been merged. Initially [RFC2425] was o [RFC2425] and [RFC2426] have been merged.
intended to be extensible but only 2426 ever extended it.
o vCard is now not only a MIME type but a stand-alone format. o vCard is now not only a MIME type but a stand-alone format.
o A proper MIME type registration form has been included. o A proper MIME type registration form has been included.
o UTF-8 is now the default character set. o UTF-8 is now the default character set.
o New vCard elements can be registered from IANA. o New vCard elements can be registered from IANA.
o Expanded text on character set.
A.2. Removed Features A.2. Removed Features
o The CONTEXT and CHARSET parameters are no more. o The CONTEXT and CHARSET parameters are no more.
o The NAME and MAILER properties are no more. o The NAME and MAILER properties are no more.
o The "intl", "dom", "postal", and "parcel" TYPE parameter values o The "intl", "dom", "postal", and "parcel" TYPE parameter values
for the ADR and LABEL properties have been removed. for the ADR and LABEL properties have been removed.
o Inline vCards (such as the value of the AGENT property) are no o Inline vCards (such as the value of the AGENT property) are no
skipping to change at page 76, line 40 skipping to change at page 78, line 49
o The value of TEL is now a URI. o The value of TEL is now a URI.
o The AGENT property was replaced with a type of RELATED. o The AGENT property was replaced with a type of RELATED.
o Date and time values now only support the basic format. o Date and time values now only support the basic format.
Truncation is now supported. Truncation is now supported.
Appendix B. Change Log (to be removed by RFC Editor prior to Appendix B. Change Log (to be removed by RFC Editor prior to
publication) publication)
B.1. Changes in -13 B.1. Changes in -14
o DQUOTE is US-ASCII decimal 34, not 22.
o Removed unused reference to RFC 2046.
o Updated reference to draft-ietf-vcarddav-vcardxml.
o Small fixes to the IANA registration text.
o Added notes on the usage of TEL and IMPP properties.
o Clarified "country name" component of ADR property.
o Removed usage of undefined type value "msg" in TEL example.
o Fixed parameter value quoting rules and ABNF.
o Added example to LANGUAGE property.
o Fixed synchronization example regarding the cardinality of FN.
o Added implementation note for float value type.
o Removed advice for always including VALUE parameter.
o FMTTYPE MUST include the full MIME type.
o Made ADR's ABNF more verbose.
o Organized TEL TYPE values in a table.
o Replaced TOP-SECRET example with NOINDEX.
B.2. Changes in -13
o Changed global ABNF to make explicit that VERSION comes first. o Changed global ABNF to make explicit that VERSION comes first.
o Reworked example for LANGUAGE property. o Reworked example for LANGUAGE property.
o s/TYPE/FMTTYPE/ in two examples. o s/TYPE/FMTTYPE/ in two examples.
o Allow LANGUAGE parameter for text-valued BDAY, DDAY, and RELATED. o Allow LANGUAGE parameter for text-valued BDAY, DDAY, and RELATED.
o Tightened language on LANGUAGE parameter regarding cardinality. o Tightened language on LANGUAGE parameter regarding cardinality.
o Removed the NAME property. o Removed the NAME property.
o Adjusted semi-colon escaping rules. o Adjusted semi-colon escaping rules.
o Added the ALTID parameter. o Added the ALTID parameter.
B.2. Changes in -12 B.3. Changes in -12
o Fixed example of LANGUAGE cardinality. o Fixed example of LANGUAGE cardinality.
o Added note about YYYY-MM date format. o Added note about YYYY-MM date format.
o Fixed appendix A. o Fixed appendix A.
o VERSION property must come first. o VERSION property must come first.
o Fixed mistake in PID example. o Fixed mistake in PID example.
skipping to change at page 78, line 15 skipping to change at page 81, line 11
o BIRTH and DEATH can now have URI values. o BIRTH and DEATH can now have URI values.
o Created the FMTTYPE parameter. o Created the FMTTYPE parameter.
o KEY can now take a text value. o KEY can now take a text value.
o Added references to RFC 5545 (iCalendar). o Added references to RFC 5545 (iCalendar).
o Added namespace column in parameters registry. o Added namespace column in parameters registry.
B.3. Changes in -11 B.4. Changes in -11
o Change "XML chunk" to "XML fragment". o Change "XML chunk" to "XML fragment".
o Cite W3C document containing definition of "fragment". o Cite W3C document containing definition of "fragment".
o Added "XML" to property name ABNF. o Added "XML" to property name ABNF.
o Clarified newline escaping rule. o Clarified newline escaping rule.
o Replaced one remaining "type" with "property". o Replaced one remaining "type" with "property".
skipping to change at page 78, line 39 skipping to change at page 81, line 35
o XML property can now only contain one element that is not in the o XML property can now only contain one element that is not in the
vCard 4 namespace. vCard 4 namespace.
o Clarified interrelationship between LANGUAGE, cardinality, and o Clarified interrelationship between LANGUAGE, cardinality, and
PID. PID.
o Added "textphone" TEL type. o Added "textphone" TEL type.
o Fixed quoting of comma in ORG examples. o Fixed quoting of comma in ORG examples.
B.4. Changes in -10 B.5. Changes in -10
o Added component in SORT-STRING for sorting by given name. Fixed o Added component in SORT-STRING for sorting by given name. Fixed
and expanded the examples. and expanded the examples.
o Fixed KIND-value ABNF. o Fixed KIND-value ABNF.
o Fixed deprecated media type. o Fixed deprecated media type.
o Created the CALSCALE parameter. o Created the CALSCALE parameter.
o Strenghtened the stance on character set. o Strenghtened the stance on character set.
o Defined the Language-Tag ABNF. o Defined the Language-Tag ABNF.
o Made explicit the fact that IANA does not register templates. o Made explicit the fact that IANA does not register templates.
o Created the XML property. o Created the XML property.
o Added social networking examples to URL property. o Added social networking examples to URL property.
B.5. Changes in -09 B.6. Changes in -09
o Removed special meaning for groups. Removed the "work" and "home" o Removed special meaning for groups. Removed the "work" and "home"
groups. Removed the group registry. Re-introduced the "work" and groups. Removed the group registry. Re-introduced the "work" and
"home" TYPE parameter values. Applied the TYPE parameter to "home" TYPE parameter values. Applied the TYPE parameter to
properties which supported the "work" and "home" groups. properties which supported the "work" and "home" groups.
o Vendor namespace now uses private enterprise number in prefix. o Vendor namespace now uses private enterprise number in prefix.
o Added "thing" value for KIND property. o Added "thing" value for KIND property.
B.6. Changes in -08 B.7. Changes in -08
o Allow 1985 (year only) in date ABNF. o Allow 1985 (year only) in date ABNF.
o Fixed missing country in ADR example. o Fixed missing country in ADR example.
o Added the DATE-AND-OR-TIME value. o Added the DATE-AND-OR-TIME value.
o Made BDAY and DDAY use DATE-AND-OR-TIME. o Made BDAY and DDAY use DATE-AND-OR-TIME.
o Prefixed "param" and "value" production rules specific to o Prefixed "param" and "value" production rules specific to
skipping to change at page 79, line 47 skipping to change at page 82, line 43
o Replaced the GENDER property with the SEX property. o Replaced the GENDER property with the SEX property.
o Added the ANNIVERSARY property. o Added the ANNIVERSARY property.
o Added the "friend" and "spouse" types of RELATED. o Added the "friend" and "spouse" types of RELATED.
o TZ property now has text / uri value. o TZ property now has text / uri value.
o Refined the definitions of TITLE and ROLE. o Refined the definitions of TITLE and ROLE.
B.7. Changes in -07 B.8. Changes in -07
o PREF is now bounded. 100 is the maximum value. o PREF is now bounded. 100 is the maximum value.
o Added the "emergency" RELATED type. o Added the "emergency" RELATED type.
o Made GEO a URI. o Made GEO a URI.
o Added GEO and TZ parameters to ADR. o Added GEO and TZ parameters to ADR.
o Changed wording of "default" use of SOUND property. o Changed wording of "default" use of SOUND property.
skipping to change at page 80, line 21 skipping to change at page 83, line 17
o Completely reworked the date, time, and date-time grammars. o Completely reworked the date, time, and date-time grammars.
o Added the timestamp value type. o Added the timestamp value type.
o REV now has the timestamp value type. o REV now has the timestamp value type.
o Rewrote ABNF. o Rewrote ABNF.
o ORG can now have a single level. o ORG can now have a single level.
B.8. Changes in -06 B.9. Changes in -06
o Corrected omission of resetability to text value for RELATED. o Corrected omission of resetability to text value for RELATED.
o Let KEY value type be reset to a URI value. o Let KEY value type be reset to a URI value.
o ABNF fixes. o ABNF fixes.
o Made gender values extensible. o Made gender values extensible.
o Gave the PREF parameter a positive integer value. o Gave the PREF parameter a positive integer value.
skipping to change at page 81, line 13 skipping to change at page 84, line 9
o Removed TYPE parameter from EMAIL properties in examples. o Removed TYPE parameter from EMAIL properties in examples.
o Created the CLIENTPIDMAP property. o Created the CLIENTPIDMAP property.
o Changed PID value to a pair of small integers. o Changed PID value to a pair of small integers.
o Completely reworked synchronization mechanisms. o Completely reworked synchronization mechanisms.
o Created brand new synchronization example. o Created brand new synchronization example.
B.9. Changes in -05 B.10. Changes in -05
o Added multi PID value proposal. o Added multi PID value proposal.
B.10. Changes in -04 B.11. Changes in -04
o Added "location" value for KIND property. o Added "location" value for KIND property.
o Some fixes to ABNF. o Some fixes to ABNF.
o Moved "pref" from being a TYPE value to a parameter in its own o Moved "pref" from being a TYPE value to a parameter in its own
right. right.
o Removed the "work" and "home" TYPE values. o Removed the "work" and "home" TYPE values.
skipping to change at page 81, line 47 skipping to change at page 84, line 43
o Removed TYPE parameter from EMAIL and IMPP properties. o Removed TYPE parameter from EMAIL and IMPP properties.
o Replaced AGENT with a type of RELATED. o Replaced AGENT with a type of RELATED.
o Use example.org domain in URL example. o Use example.org domain in URL example.
o Created initial IANA table of values. o Created initial IANA table of values.
o Defined meaning of PUBLIC, PRIVATE, CONFIDENTIAL. o Defined meaning of PUBLIC, PRIVATE, CONFIDENTIAL.
B.11. Changes in -03 B.12. Changes in -03
o Various changes to the synchronization mechanisms. o Various changes to the synchronization mechanisms.
o Allowed truncated format for dated. See issue #236. o Allowed truncated format for dated. See issue #236.
B.12. Changes in -02 B.13. Changes in -02
o Removed useless text in IMPP description. o Removed useless text in IMPP description.
o Added CalDAV-SCHED example to CALADRURI. o Added CalDAV-SCHED example to CALADRURI.
o Removed CAPURI property. o Removed CAPURI property.
o Dashes in dates and colons in times are now mandatory. o Dashes in dates and colons in times are now mandatory.
o Allow for dates such as 2008 and 2008-05 and times such as 07 and o Allow for dates such as 2008 and 2008-05 and times such as 07 and
skipping to change at page 82, line 38 skipping to change at page 85, line 38
o Changed the presence of UID and PID when synchronization is to be o Changed the presence of UID and PID when synchronization is to be
used from MUST to SHOULD. used from MUST to SHOULD.
o Added the RELATED (Section 6.6.6) property. o Added the RELATED (Section 6.6.6) property.
o Fixed many ABNF typos (issue #252). o Fixed many ABNF typos (issue #252).
o Changed formatting of ABNF comments to make them easier to read o Changed formatting of ABNF comments to make them easier to read
(issue #226). (issue #226).
B.13. Changes in -01 B.14. Changes in -01
o Merged [RFC2739] in. o Merged [RFC2739] in.
o Converted all foobar.com, abc.com, etc. to example.com. o Converted all foobar.com, abc.com, etc. to example.com.
o Fixed bugs in ABNF. o Fixed bugs in ABNF.
o Made explicit that coordinates in the GEO property are expressed o Made explicit that coordinates in the GEO property are expressed
in the WGS 84 reference system. in the WGS 84 reference system.
skipping to change at page 83, line 18 skipping to change at page 86, line 18
o Added Section 7. o Added Section 7.
o Created IANA process for registering new parameters, value types, o Created IANA process for registering new parameters, value types,
and properties. and properties.
o Created the initial IANA registries. o Created the initial IANA registries.
o Created vendor namespace based on text from RFC 4288. o Created vendor namespace based on text from RFC 4288.
B.14. Changes in -00 B.15. Changes in -00
o Name change because draft has been accepted as WG item. o Name change because draft has been accepted as WG item.
Otherwise, same as draft-resnick-vcarddav-vcardrev-01. Otherwise, same as draft-resnick-vcarddav-vcardrev-01.
o Removed reference to RFC 2234. o Removed reference to RFC 2234.
o Fixed errata from o Fixed errata from
http://www.rfc-editor.org/errata_search.php?rfc=2426. http://www.rfc-editor.org/errata_search.php?rfc=2426.
o Removed passage referring to RFC 2425 profiles. o Removed passage referring to RFC 2425 profiles.
skipping to change at page 84, line 25 skipping to change at page 87, line 25
dates. dates.
o Removed the CHARSET property. Now the encoding is always UTF-8, o Removed the CHARSET property. Now the encoding is always UTF-8,
except when overridden by the Content-Type (which is considered a except when overridden by the Content-Type (which is considered a
compatibility feature). compatibility feature).
Authors' Addresses Authors' Addresses
Simon Perreault Simon Perreault
Viagenie Viagenie
2600 boul. Laurier, suite 625 2875 Laurier, suite D2-630
Quebec, QC G1V 4W1 Quebec, QC G1V 2M2
Canada Canada
Phone: +1 418 656 9254 Phone: +1 418 656 9254
EMail: simon.perreault@viagenie.ca EMail: simon.perreault@viagenie.ca
URI: http://www.viagenie.ca URI: http://www.viagenie.ca
Peter W. Resnick Peter W. Resnick
QUALCOMM Incorporated QUALCOMM Incorporated
5775 Morehouse Drive 5775 Morehouse Drive
San Diego, CA 92121-1714 San Diego, CA 92121-1714
 End of changes. 105 change blocks. 
272 lines changed or deleted 363 lines changed or added

This html diff was produced by rfcdiff 1.40. The latest version is available from http://tools.ietf.org/tools/rfcdiff/