rfc9555v4.txt   rfc9555.txt 
Internet Engineering Task Force (IETF) M. Loffredo Internet Engineering Task Force (IETF) M. Loffredo
Request for Comments: 9555 IIT-CNR/Registro.it Request for Comments: 9555 IIT-CNR/Registro.it
Updates: 6350 R. Stepanek Updates: 6350 R. Stepanek
Category: Standards Track Fastmail Category: Standards Track Fastmail
ISSN: 2070-1721 April 2024 ISSN: 2070-1721 May 2024
JSContact: Converting from and to vCard JSContact: Converting from and to vCard
Abstract Abstract
This document defines how to convert contact information between the This document defines how to convert contact information between the
JSContact and vCard data formats. It defines conversion rules for JSContact and vCard data formats. It defines conversion rules for
every JSContact and vCard element registered at IANA at the time of every JSContact and vCard element registered at IANA at the time of
publication. It also defines new JSContact properties as well as publication. It also defines new JSContact properties as well as
vCard properties and parameters, to support converting arbitrary or vCard properties and parameters, to support converting arbitrary or
skipping to change at line 712 skipping to change at line 712
Card object's anniversaries property (Figure 9): Card object's anniversaries property (Figure 9):
* ANNIVERSARY (Section 6.2.6 of [RFC6350]) * ANNIVERSARY (Section 6.2.6 of [RFC6350])
* BDAY (Section 6.2.5 of [RFC6350]) * BDAY (Section 6.2.5 of [RFC6350])
* BIRTHPLACE (Section 2.1 of [RFC6474]) * BIRTHPLACE (Section 2.1 of [RFC6474])
* DEATHDATE (Section 2.3 of [RFC6474]) * DEATHDATE (Section 2.3 of [RFC6474])
* DEATHPLACE (Section 2.2 of [RFC6474]) * DEATHPLACE (Section 2.2 of [RFC6474])
BDAY and BIRTHPLACE convert to an Anniversary object (Section 2.8.1 BDAY and BIRTHPLACE convert to an Anniversary object (Section 2.8.1
of [RFC9553]) having the date and place properties set. The kind of [RFC9553]) having the date and place properties set. The kind
poperty is set to "birth". property is set to "birth".
DEATHDATE and DEATHPLACE convert to an Anniversary object having the DEATHDATE and DEATHPLACE convert to an Anniversary object having the
date and place properties set. The Anniversary object's kind date and place properties set. The Anniversary object's kind
property is set to "death". property is set to "death".
ANNIVERSARY converts to the Anniversary object's date property. The ANNIVERSARY converts to the Anniversary object's date property. The
Anniversary object's kind property is set to "wedding". Anniversary object's kind property is set to "wedding".
If the BIRTHPLACE or DEATHPLACE property value is of type URI using If the BIRTHPLACE or DEATHPLACE property value is of type URI using
the "geo:" URI scheme, then it converts to the Address object's the "geo:" URI scheme, then it converts to the Address object's
skipping to change at line 2056 skipping to change at line 2056
after all other vCard properties have already been converted. The after all other vCard properties have already been converted. The
PatchObject MUST be valid, including the restriction that an PatchObject MUST be valid, including the restriction that an
invalid PatchObject MUST NOT be applied. invalid PatchObject MUST NOT be applied.
Format definition: This property is defined by the following Format definition: This property is defined by the following
notation: notation:
jsprop = "JSPROP" jsprop-param ":" TEXT jsprop = "JSPROP" jsprop-param ":" TEXT
jsprop-param = *( jsprop-param = *(
; The following are MANDATORY and MUST NOT ; The following are REQUIRED and MUST NOT
; occur more than once ; occur more than once
( ";" jsptr-param ) / ; see next section ( ";" jsptr-param ) / ; see next section
( ";" "VALUE" "=" "TEXT") ( ";" "VALUE" "=" "TEXT")
; ;
; The following is OPTIONAL ; The following is OPTIONAL
; and MAY occur more than once. ; and MAY occur more than once.
; ;
(";" other-param) (";" other-param)
; ;
) )
skipping to change at line 2322 skipping to change at line 2322
Table 5: New vCard Parameter Table 5: New vCard Parameter
5.3. New JSContact Properties 5.3. New JSContact Properties
IANA has added the following entries to the "JSContact Properties" IANA has added the following entries to the "JSContact Properties"
registry. Note that the Since Version is 1.0, the Until Version is registry. Note that the Since Version is 1.0, the Until Version is
not set, and the Change Controller is IETF for all of these not set, and the Change Controller is IETF for all of these
properties. properties.
+===========+=======================+=========+========+============+ +===========+=======================+=========+========+===========+
|Property |Property Type |Property |Intended|Reference | |Property |Property Type |Property |Intended|Reference/ |
|Name | |Context |Usage |or | |Name | |Context |Usage |Description|
| | | | |Description | +===========+=======================+=========+========+===========+
+===========+=======================+=========+========+============+ |vCardName |String |Any |common |RFC 9555, |
|vCardName |String |Any |common |RFC 9555, | | | |JSContact| |Section |
| | |JSContact| |Section | | | |object | |2.15.3 |
| | |object | |2.15.3 | +-----------+-----------------------+---------+--------+-----------+
+-----------+-----------------------+---------+--------+------------+ |vCardParams|String[String|String[]]|Any |common |RFC 9555, |
|vCardParams|String[String|String[]]|Any |common |RFC 9555, | | | |JSContact| |Section |
| | |JSContact| |Section | | | |object | |2.15.2 |
| | |object | |2.15.2 | +-----------+-----------------------+---------+--------+-----------+
+-----------+-----------------------+---------+--------+------------+ |vCardProps |JCardProp[] |Card |common |RFC 9555, |
|vCardProps |JCardProp[] |Card |common |RFC 9555, | | | | | |Section |
| | | | |Section | | | | | |2.15.1 |
| | | | |2.15.1 | +-----------+-----------------------+---------+--------+-----------+
+-----------+-----------------------+---------+--------+------------+
Table 6: JSContact Properties Registry Table 6: JSContact Properties Registry
5.4. New JSContact Type 5.4. New JSContact Type
IANA has added the following entry to the "JSContact Types" registry. IANA has added the following entry to the "JSContact Types" registry.
Note that the Since Version is 1.0, the Until Version is not set, and Note that the Since Version is 1.0, the Until Version is not set, and
the Change Controller is IETF for this type. the Change Controller is IETF for this type.
+===========+================+==========================+ +===========+================+==========================+
| Type Name | Intended Usage | Reference or Description | | Type Name | Intended Usage | Reference/Description |
+===========+================+==========================+ +===========+================+==========================+
| JCardProp | common | RFC 9555, Section 2.15.1 | | JCardProp | common | RFC 9555, Section 2.15.1 |
+-----------+----------------+--------------------------+ +-----------+----------------+--------------------------+
Table 7: JSContact Types Registry Table 7: JSContact Types Registry
6. References 6. References
6.1. Normative References 6.1. Normative References
skipping to change at line 2422 skipping to change at line 2421
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8259] Bray, T., Ed., "The JavaScript Object Notation (JSON) Data [RFC8259] Bray, T., Ed., "The JavaScript Object Notation (JSON) Data
Interchange Format", STD 90, RFC 8259, Interchange Format", STD 90, RFC 8259,
DOI 10.17487/RFC8259, December 2017, DOI 10.17487/RFC8259, December 2017,
<https://www.rfc-editor.org/info/rfc8259>. <https://www.rfc-editor.org/info/rfc8259>.
[RFC9553] Stepanek, R. and M. Loffredo, "JSContact: A JSON [RFC9553] Stepanek, R. and M. Loffredo, "JSContact: A JSON
Representation of Contact Data", RFC 9553, Representation of Contact Data", RFC 9553,
DOI 10.17487/RFC9553, March 2024, DOI 10.17487/RFC9553, May 2024,
<https://www.rfc-editor.org/info/rfc9553>. <https://www.rfc-editor.org/info/rfc9553>.
[RFC9554] Stepanek, R. and M. Loffredo, "vCard Format Extension for [RFC9554] Stepanek, R. and M. Loffredo, "vCard Format Extensions for
JSContact", RFC 9554, DOI 10.17487/RFC9554, March 2024, JSContact", RFC 9554, DOI 10.17487/RFC9554, May 2024,
<https://www.rfc-editor.org/info/rfc9554>. <https://www.rfc-editor.org/info/rfc9554>.
6.2. Informative References 6.2. Informative References
[CLDRPersonName] [CLDRPersonName]
Davis, M., Edberg, P., Gillam, R., Kolisnychenko, A., Davis, M., Edberg, P., Gillam, R., Kolisnychenko, A.,
McKenna, M., and other CLDR committee members, "Unicode McKenna, M., and other CLDR committee members, "Unicode
Locale Data Markup Language (LDML) Part 8: Person Names", Locale Data Markup Language (LDML) Part 8: Person Names",
Unicode Technical Standard #35, Version 44.1, July 2023, Unicode Technical Standard #35, Version 44.1, July 2023,
<https://www.unicode.org/reports/tr35/ <https://www.unicode.org/reports/tr35/
tr35-personNames.html>. tr35-personNames.html>.
[RFC8605] Hollenbeck, S. and R. Carney, "vCard Format Extensions: [RFC8605] Hollenbeck, S. and R. Carney, "vCard Format Extensions:
ICANN Extensions for the Registration Data Access Protocol ICANN Extensions for the Registration Data Access Protocol
(RDAP)", RFC 8605, DOI 10.17487/RFC8605, May 2019, (RDAP)", RFC 8605, DOI 10.17487/RFC8605, May 2019,
<https://www.rfc-editor.org/info/rfc8605>. <https://www.rfc-editor.org/info/rfc8605>.
[vOBJECT] Tse, R., Tam, P., and M. Douglass, "vObject [vOBJECT] Tse, R., Tam, P., and M. Douglass, "vObject
Internationalization", Work in Progress, Internet-Draft, Internationalization", Work in Progress, Internet-Draft,
draft-calconnect-vobject-i18n-00, 7 June 2018, draft-calconnect-vobject-i18n-00, 8 June 2018,
<https://datatracker.ietf.org/doc/html/draft-calconnect- <https://datatracker.ietf.org/doc/html/draft-calconnect-
vobject-i18n-00>. vobject-i18n-00>.
Appendix A. Reverse Rules of Converting a vCard to a JSContact Card Appendix A. Reverse Rules of Converting a vCard to a JSContact Card
Table 8 lists the relevant document sections for each JSContact type Table 8 lists the relevant document sections for each JSContact type
and property. and property.
+===================+=====================+=====================+ +===================+=====================+=====================+
| JSContact Type | Property Name | Relevant Section(s) | | JSContact Type | Property Name | Relevant Section(s) |
 End of changes. 9 change blocks. 
26 lines changed or deleted 25 lines changed or added

This html diff was produced by rfcdiff 1.48.