idnits 2.17.1 draft-calconnect-vobject-i18n-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** There are 4 instances of too long lines in the document, the longest one being 14 characters in excess of 72. -- The draft header indicates that this document updates RFC7953, but the abstract doesn't seem to directly say this. It does mention RFC7953 though, so this could be OK. -- The draft header indicates that this document updates RFC6321, but the abstract doesn't seem to mention this, which it should. -- The draft header indicates that this document updates RFC5545, but the abstract doesn't seem to directly say this. It does mention RFC5545 though, so this could be OK. -- The draft header indicates that this document updates RFC6350, but the abstract doesn't seem to directly say this. It does mention RFC6350 though, so this could be OK. -- The draft header indicates that this document updates RFC6351, but the abstract doesn't seem to mention this, which it should. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year (Using the creation date from RFC5545, updated by this document, for RFC5378 checks: 2005-10-26) -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (June 8, 2018) is 2148 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Unused Reference: 'RFC3986' is defined on line 440, but no explicit reference was found in the text == Unused Reference: 'RFC6321' is defined on line 496, but no explicit reference was found in the text == Unused Reference: 'RFC6351' is defined on line 500, but no explicit reference was found in the text == Unused Reference: 'RFC6352' is defined on line 504, but no explicit reference was found in the text == Unused Reference: 'RFC7095' is defined on line 509, but no explicit reference was found in the text == Unused Reference: 'RFC7265' is defined on line 513, but no explicit reference was found in the text == Unused Reference: 'RFC7953' is defined on line 517, but no explicit reference was found in the text == Unused Reference: 'RFC7986' is defined on line 521, but no explicit reference was found in the text == Unused Reference: 'RFC8259' is defined on line 525, but no explicit reference was found in the text == Outdated reference: A later version (-04) exists of draft-calconnect-vobject-vformat-03 Summary: 1 error (**), 0 flaws (~~), 11 warnings (==), 7 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Calendaring Extensions R. Tse 3 Internet-Draft P. Tam 4 Updates: 5545, 6321, 6350, 6351, 7953, Ribose 5 7265, 7095 (if approved) M. Douglass 6 Intended status: Standards Track Spherical Cow Group 7 Expires: December 10, 2018 June 8, 2018 9 vObject Internationalization 10 draft-calconnect-vobject-i18n-00 12 Abstract 14 This document specifies mechanisms for the internationalization of 15 vObject content and its realization in vFormat. 17 This document updates the following specifications: 19 o I-D.calconnect-vobject-vformat, The vObject Model and vFormat 20 Syntax 22 o RFC 6350, vCard version 4.0 24 o RFC 5545, Internet Calendaring and Scheduling Core Object 25 Specification (iCalendar) 27 o RFC 7953, Calendar Availability Extensions 29 This work is produced by the CalConnect TC-VCARD and TC-CALENDAR 30 committees. 32 Status of This Memo 34 This Internet-Draft is submitted in full conformance with the 35 provisions of BCP 78 and BCP 79. 37 Internet-Drafts are working documents of the Internet Engineering 38 Task Force (IETF). Note that other groups may also distribute 39 working documents as Internet-Drafts. The list of current Internet- 40 Drafts is at https://datatracker.ietf.org/drafts/current/. 42 Internet-Drafts are draft documents valid for a maximum of six months 43 and may be updated, replaced, or obsoleted by other documents at any 44 time. It is inappropriate to use Internet-Drafts as reference 45 material or to cite them other than as "work in progress." 47 This Internet-Draft will expire on December 10, 2018. 49 Copyright Notice 51 Copyright (c) 2018 IETF Trust and the persons identified as the 52 document authors. All rights reserved. 54 This document is subject to BCP 78 and the IETF Trust's Legal 55 Provisions Relating to IETF Documents 56 (https://trustee.ietf.org/license-info) in effect on the date of 57 publication of this document. Please review these documents 58 carefully, as they describe your rights and restrictions with respect 59 to this document. Code Components extracted from this document must 60 include Simplified BSD License text as described in Section 4.e of 61 the Trust Legal Provisions and are provided without warranty as 62 described in the Simplified BSD License. 64 Table of Contents 66 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 67 2. Terms and Definitions . . . . . . . . . . . . . . . . . . . . 3 68 2.1. Definitions . . . . . . . . . . . . . . . . . . . . . . . 4 69 3. Property Parameter Usage Clarification: LANGUAGE . . . . . . 4 70 3.1. vFormat Implementation of LANGUAGE . . . . . . . . . . . 5 71 4. Property Parameter: SCRIPT . . . . . . . . . . . . . . . . . 5 72 4.1. vFormat Implementation of SCRIPT . . . . . . . . . . . . 6 73 5. Property Parameter: PHONETIC . . . . . . . . . . . . . . . . 6 74 5.1. vFormat Implementation of PHONETIC . . . . . . . . . . . 7 75 6. Security Considerations . . . . . . . . . . . . . . . . . . . 7 76 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 77 7.1. iCalendar and vCard Property Parameter Registration: 78 SCRIPT . . . . . . . . . . . . . . . . . . . . . . . . . 8 79 7.2. iCalendar and vCard Property Parameter Registration: 80 PHONETIC . . . . . . . . . . . . . . . . . . . . . . . . 8 81 7.3. iCalendar and vCard Registration for Value Data Type: 82 SCRIPT-CODE . . . . . . . . . . . . . . . . . . . . . . . 9 83 7.4. iCalendar and vCard Registration for Value Data Type: 84 PHONETIC-CODE . . . . . . . . . . . . . . . . . . . . . . 9 85 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 86 8.1. Normative References . . . . . . . . . . . . . . . . . . 10 87 8.2. Informative References . . . . . . . . . . . . . . . . . 10 88 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 90 1. Introduction 92 vCard [RFC6350] and iCalendar [RFC5545] are standards compliant to 93 the vObject data model [I-D.calconnect-vobject-vformat-03]. 95 These standards are used worldwide and require proper certain 96 localization elements suitable for multi-cultural use. 98 Previously, the only internationalization method for vCard [RFC6350] 99 and iCalendar [RFC5545] standards was the "language" property 100 parameter (3.2.10 [RFC5545]). 102 This document: 104 o defines additional internationalization features for the vObject 105 data model, including a separate property parameter that denotes 106 the script used in a property value, and a method to specify 107 pronunciation of a property value 109 o defines realization methods of vObject internationalization in 110 vFormat 112 The methods described in this document are intended to be used by 113 vObject-compliant standards, such as vCard 4.0 [RFC6350] and 114 iCalendar [RFC5545]. 116 This is a work product of the CalConnect TC-VCARD [CALCONNECT-VCARD] 117 and TC-CALENDAR [CALCONNECT-CALENDAR] committees. 119 2. Terms and Definitions 121 The key words "*MUST*", "*MUST NOT*", "*REQUIRED*", "*SHALL*", 122 "*SHALL NOT*", "*SHOULD*", "*SHOULD NOT*", "*RECOMMENDED*", "*NOT 123 RECOMMENDED*", "*MAY*", and "*OPTIONAL*" in this document are to be 124 interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only 125 when, they appear in all capitals, as shown here. 127 The key words "*Private Use*", "*Experimental Use*", "*Hierarchical 128 Allocation*", "*First Come First Served*", "*Expert Review*", 129 "*Specification Required*", "*RFC Required*", "*IETF Review*", 130 "*Standards Action*" and "*IESG Approval*" in this document are to be 131 interpreted as described in 4 [RFC8126]. 133 Notation in this document is described in ABNF [RFC5234] as used by 134 [RFC6350]. 136 Definitions from [RFC6350] apply to this specification except when 137 explicitly overridden. 139 All names of properties, property parameters, enumerated property 140 values, and property parameter values are case-insensitive. However, 141 all property values are case-sensitive, unless otherwise stated. 143 2.1. Definitions 145 phonetic system 146 method of transcription of language in a script that allows 147 phonetic reproduction 149 3. Property Parameter Usage Clarification: LANGUAGE 151 This section clarifies the intent of the "LANGUAGE" property 152 parameter in [RFC5545] and [RFC6350] to be for the identification of 153 the language used in the property value where the parameter is 154 specified. 156 The [RFC5646] defined "language-tag" allows specification of multiple 157 attributes (called "subtags") in addition to just language. Its 158 basic form includes: 160 o a mandatory language subtag, using a language identifier from ISO 161 639 (-2, -3) (called a "primary" or "extended" language subtag) 163 o an optional script subtag, using a script identifier from ISO 164 15924 166 o an optional region subtag, using country codes listed in ISO 3166 167 or a UN numeric code 169 o one or more, optional, variant and extension subtags defined in 170 the IANA language subtag registry. 172 In practical usage of vObject standards, including [RFC5545] and 173 [RFC6350], it is determined that the combinatorial enumeration of 174 non-language subtags often cause unnecessary confusion in 175 interpretation and parsing, especially when the registry contain 176 variant and extension subtags that either conflict in semantics or 177 have overly restrictive in their supported prefixes. 179 This document therefore clarifies the intent of 3.2.10 [RFC5545] and 180 5.1 [RFC6350], such that the "LANGUAGE" property parameter *SHOULD* 181 only support the mandatory language subtag. 183 Other subtags *MAY* be supplied as specified in [RFC5646], but they 184 are purely for informational purposes not used in the vObject 185 specification. 187 Namespace 189 Property parameter name 190 "LANGUAGE" 192 Purpose 193 To specify the language used in the property value. 195 Value type 196 "LANGUAGE-TAG" 4.8 [RFC6350] 198 Description 199 As provided above. 201 3.1. vFormat Implementation of LANGUAGE 203 The value of the "LANGUAGE" property parameter is re-defined as shown 204 below. 206 Format definition 208 languageparam = "LANGUAGE" "=" language *(subpart) 210 language = iso-639-3-code / iso-639-2-code 211 ; a 2-alpha or 3-alpha language code 212 ; defined in ISO 639 214 subpart = "-" *alphanum 215 ; all other subparts unsupported 217 Examples 219 N;LANGUAGE=en:Miyazaki;Hayao;;; 220 N;LANGUAGE=jp:宮崎;駿;;; 222 4. Property Parameter: SCRIPT 224 The "SCRIPT" property parameter specifies the written script used in 225 the property value which contains the parameter, which is amongst the 226 valid codes in the ISO 15924 registry. 228 It is separated from the "LANGUAGE" property parameter defined in 229 [RFC5545] and [RFC6350] for reasons stated in Section 3. 231 Namespace 233 Property parameter name 234 SCRIPT 236 Purpose 237 To specify the script used in the property value, which is amongst 238 the valid codes in the ISO 15924 registry. 240 Value type 241 TEXT, a single value valid in the ISO 15924 script registry. 243 Description 244 The property value of which this property parameter applies to 245 must have identical structure to 247 4.1. vFormat Implementation of SCRIPT 249 Format definition 251 scriptparam = "SCRIPT" "=" script-code 252 ; script-code defined in the value type SCRIPT-CODE 254 Examples 256 N;SCRIPT=Hira;LANGUAGE=jp:みやざき;はやお;;; 257 N;SCRIPT=Hani;LANGUAGE=jp:宮崎;駿;;; 259 5. Property Parameter: PHONETIC 261 A number of contact managers have long used "X-properties" to to 262 store phonetic information of a vCard's subject, such as "X-PHONETIC- 263 NAME", "X-PHONETIC-FIRST-NAME" and "X-PHONETIC-LAST-NAME". 265 However, this is an issue for multiple reasons: 267 o The value of the X-property does not define the phonetic system 268 used for its transcription; 270 o This X-property usage does not enable interoperability since it 271 does not require specification of the language transcribed, as 272 well as the script of the resulting transcription; 274 o The scheme of using X-properties does not allow representation of 275 phonetics on other vCard values. 277 This section defines three property parameters used to store 278 pronunciation information of a property value: 280 1. The script used in the pronunciation system; 282 2. An identifier of the pronunciation system used; 284 3. The source language that was transcribed by the pronunciation 285 system. 287 The "PHONETIC" property parameter specifies the phonetic system used 288 in the transcription of the property value, identified by the 289 phonetic system code from the ISO XXXXX phonetic system registry. 291 This property parameter is often applied together with the "LANGUAGE" 292 (Section 3) and "SCRIPT" (Section 4) property parameters. 294 Namespace 296 Property parameter name 297 PHONETIC 299 Purpose 300 To specify the phonetic system used in the property value, which 301 is amongst the valid codes in the ISO XXXXX registry. 303 Value type 304 TEXT, a single value valid in the ISO XXXXX phonetic system 305 registry. 307 Description 308 The property value of which this property parameter applies to 309 must take an identical structure to the property value without 310 application of this property parameter. 312 5.1. vFormat Implementation of PHONETIC 314 Format definition 316 phoneticparam = "PHONETIC" "=" phonetic 317 phonetic = 4ALPHA ; ISO XXXXX 4-digit phonetic system code 319 Examples 321 N;SCRIPT=Hant;LANGUAGE=zho:孫;中山;文,逸仙;; 322 N;SCRIPT=Hans;LANGUAGE=zho:孙;中山;文,逸仙;; 323 N;PHONETIC=jyut;SCRIPT=Latn;LANGUAGE=yue:syun1;zung1saan1;man4,jat6sin1;; 324 N;PHONETIC=ping;SCRIPT=Latn;LANGUAGE=cmn:sun;zhongshan;rixian;; 326 6. Security Considerations 328 Security considerations of the vObject formats themselves *MUST* be 329 adhered to, including: 331 o vCard: [RFC6350] 333 o iCalendar: [RFC5545], [RFC4791] 334 o vObject: [I-D.calconnect-vobject-vformat-03] 336 vObject formats, especially for calendaring, scheduling and contact 337 exchange, often involve privacy-sensitive information. 338 Internationalization features defined in this document *MAY* pose 339 risk of exposing private information if interchanged through 340 unprotected communication channels. 342 Mechanisms used for the transmission of such information should 343 implement security measures to protect against possible threats, such 344 as eavesdropping, replay, message insertion, deletion, modification, 345 and man-in-the-middle attacks. 347 7. IANA Considerations 349 IANA is requested to register the following property parameters and 350 value types in the corresponding iCalendar and vCard registries. 352 7.1. iCalendar and vCard Property Parameter Registration: SCRIPT 354 Namespace 356 Parameter name 357 SCRIPT 359 Purpose 360 Given in Section 4. 362 Description 363 Given in Section 4. 365 Format definition 366 Given in Section 4. 368 Examples 369 Given in Section 4. 371 7.2. iCalendar and vCard Property Parameter Registration: PHONETIC 373 Namespace 375 Parameter name 376 PHONETIC 378 Purpose 379 Given in Section 5. 381 Description 382 Given in Section 5. 384 Format definition 385 Given in Section 5. 387 Examples 388 Given in Section 5. 390 7.3. iCalendar and vCard Registration for Value Data Type: SCRIPT-CODE 392 Value name 393 SCRIPT-CODE 395 Purpose 396 Indicate script used in property value using a valid value from 397 the ISO 15924 registry. 399 Description 400 Used by the SCRIPT property parameter. 402 Format definition 404 script-code = 4ALPHA 405 ; ISO 15924 4-digit script code 407 Examples 408 "Latn", "Cyrl", "Hani" 410 7.4. iCalendar and vCard Registration for Value Data Type: PHONETIC- 411 CODE 413 Value name 414 PHONETIC-CODE 416 Purpose 417 Indicate phonetic system used in the transcription of property 418 value, using a valid value from the ISO XXXXX registry. 420 Description 421 Used by the SCRIPT property parameter. 423 Format definition 425 phonetic-code = 4ALPHA 426 ; ISO XXXXX 4-digit script code 428 Examples 429 "ipa", "jyut", "ping" 431 8. References 433 8.1. Normative References 435 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 436 Requirement Levels", BCP 14, RFC 2119, 437 DOI 10.17487/RFC2119, March 1997, 438 . 440 [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform 441 Resource Identifier (URI): Generic Syntax", STD 66, 442 RFC 3986, DOI 10.17487/RFC3986, January 2005, 443 . 445 [RFC5545] Desruisseaux, B., Ed., "Internet Calendaring and 446 Scheduling Core Object Specification (iCalendar)", 447 RFC 5545, DOI 10.17487/RFC5545, September 2009, 448 . 450 [RFC5646] Phillips, A., Ed. and M. Davis, Ed., "Tags for Identifying 451 Languages", BCP 47, RFC 5646, DOI 10.17487/RFC5646, 452 September 2009, . 454 [RFC6350] Perreault, S., "vCard Format Specification", RFC 6350, 455 DOI 10.17487/RFC6350, August 2011, 456 . 458 [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for 459 Writing an IANA Considerations Section in RFCs", BCP 26, 460 RFC 8126, DOI 10.17487/RFC8126, June 2017, 461 . 463 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 464 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 465 May 2017, . 467 8.2. Informative References 469 [CALCONNECT-CALENDAR] 470 The Calendaring and Scheduling Consortium, "CalConnect 471 CALENDAR Technical Committee", April 2018, 472 . 475 [CALCONNECT-VCARD] 476 The Calendaring and Scheduling Consortium, "CalConnect 477 VCARD Technical Committee", April 2018, 478 . 481 [I-D.calconnect-vobject-vformat-03] 482 Tse, R., Tam, P., Daboo, C., and K. Murchison, "The 483 vObject Model and vFormat Syntax", draft-calconnect- 484 vobject-vformat-03 (work in progress), June 2018. 486 [RFC4791] Daboo, C., Desruisseaux, B., and L. Dusseault, 487 "Calendaring Extensions to WebDAV (CalDAV)", RFC 4791, 488 DOI 10.17487/RFC4791, March 2007, 489 . 491 [RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax 492 Specifications: ABNF", STD 68, RFC 5234, 493 DOI 10.17487/RFC5234, January 2008, 494 . 496 [RFC6321] Daboo, C., Douglass, M., and S. Lees, "xCal: The XML 497 Format for iCalendar", RFC 6321, DOI 10.17487/RFC6321, 498 August 2011, . 500 [RFC6351] Perreault, S., "xCard: vCard XML Representation", 501 RFC 6351, DOI 10.17487/RFC6351, August 2011, 502 . 504 [RFC6352] Daboo, C., "CardDAV: vCard Extensions to Web Distributed 505 Authoring and Versioning (WebDAV)", RFC 6352, 506 DOI 10.17487/RFC6352, August 2011, 507 . 509 [RFC7095] Kewisch, P., "jCard: The JSON Format for vCard", RFC 7095, 510 DOI 10.17487/RFC7095, January 2014, 511 . 513 [RFC7265] Kewisch, P., Daboo, C., and M. Douglass, "jCal: The JSON 514 Format for iCalendar", RFC 7265, DOI 10.17487/RFC7265, May 515 2014, . 517 [RFC7953] Daboo, C. and M. Douglass, "Calendar Availability", 518 RFC 7953, DOI 10.17487/RFC7953, August 2016, 519 . 521 [RFC7986] Daboo, C., "New Properties for iCalendar", RFC 7986, 522 DOI 10.17487/RFC7986, October 2016, 523 . 525 [RFC8259] Bray, T., Ed., "The JavaScript Object Notation (JSON) Data 526 Interchange Format", STD 90, RFC 8259, 527 DOI 10.17487/RFC8259, December 2017, 528 . 530 Authors' Addresses 532 Ronald Henry Tse 533 Ribose 534 Suite 1111, 1 Pedder Street 535 Central 536 Hong Kong 538 Email: ronald.tse@ribose.com 539 URI: https://www.ribose.com 541 Peter Kwan Yu Tam 542 Ribose 543 Suite 1111, 1 Pedder Street 544 Central 545 Hong Kong 547 Email: peter.tam@ribose.com 548 URI: https://www.ribose.com 550 Mike Douglass 551 Spherical Cow Group 552 226 3rd Street 553 Troy, NY 12180 554 United States of America 556 Email: mdouglass@sphericalcowgroup.com 557 URI: http://sphericalcowgroup.com