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. |