[要約] RFC 7095は、vCardのデータをJSON形式で表現するための仕様です。その目的は、vCardデータをより簡潔かつ柔軟に表現することです。

Internet Engineering Task Force (IETF)                        P. Kewisch
Request for Comments: 7095                                       Mozilla
Category: Standards Track                                   January 2014
ISSN: 2070-1721
        

jCard: The JSON Format for vCard

jCard:vCardのJSON形式

Abstract

概要

This specification defines "jCard", a JSON format for vCard data. The vCard data format is a text format for representing and exchanging information about individuals and other entities, for example, telephone numbers, email addresses, structured names, and delivery addresses. JSON is a lightweight, text-based, language-independent data interchange format commonly used in Internet applications.

この仕様では、vCardデータのJSON形式である「jCard」を定義しています。 vCardデータ形式は、個人やその他のエンティティに関する情報(電話番号、電子メールアドレス、構造化された名前、配信アドレスなど)を表現および交換するためのテキスト形式です。 JSONは、インターネットアプリケーションで一般的に使用されている、言語に依存しない軽量のテキストベースのデータ交換フォーマットです。

Status of This Memo

本文書の状態

This is an Internet Standards Track document.

これはInternet Standards Trackドキュメントです。

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741.

このドキュメントは、IETF(Internet Engineering Task Force)の製品です。これは、IETFコミュニティのコンセンサスを表しています。公開レビューを受け、インターネットエンジニアリングステアリンググループ(IESG)による公開が承認されました。インターネット標準の詳細については、RFC 5741のセクション2をご覧ください。

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc7095.

このドキュメントの現在のステータス、エラータ、およびフィードバックの提供方法に関する情報は、http://www.rfc-editor.org/info/rfc7095で入手できます。

Copyright Notice

著作権表示

Copyright (c) 2014 IETF Trust and the persons identified as the document authors. All rights reserved.

Copyright(c)2014 IETF Trustおよびドキュメントの作成者として識別された人物。全著作権所有。

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

この文書は、BCP 78およびIETF文書に関するIETFトラストの法的規定(http://trustee.ietf.org/license-info)の対象であり、この文書の発行日に有効です。これらのドキュメントは、このドキュメントに関するあなたの権利と制限を説明しているため、注意深く確認してください。このドキュメントから抽出されたコードコンポーネントには、Trust Legal Provisionsのセクション4.eに記載されているSimplified BSD Licenseのテキストが含まれている必要があり、Simplified BSD Licenseに記載されているように保証なしで提供されます。

Table of Contents

目次

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Conventions Used in This Document . . . . . . . . . . . . . .   3
   3.  Converting from vCard to jCard  . . . . . . . . . . . . . . .   4
     3.1.  Pre-processing  . . . . . . . . . . . . . . . . . . . . .   4
     3.2.  jCard Object and Syntactic Entities (RFC 6350, Sections
           6.1.1 and 6.1.2)  . . . . . . . . . . . . . . . . . . . .   5
     3.3.  Properties (RFC 6350, Section 6)  . . . . . . . . . . . .   5
       3.3.1.  Special Cases for Properties  . . . . . . . . . . . .   7
         3.3.1.1.  The VERSION Property  . . . . . . . . . . . . . .   7
         3.3.1.2.  Grouping of Properties  . . . . . . . . . . . . .   7
         3.3.1.3.  Structured Property Values  . . . . . . . . . . .   8
     3.4.  Parameters (RFC 6350, Section 5)  . . . . . . . . . . . .  10
       3.4.1.  VALUE Parameter . . . . . . . . . . . . . . . . . . .  10
       3.4.2.  Multi-Valued Parameters . . . . . . . . . . . . . . .  11
     3.5.  Values (RFC 6350, Section 4)  . . . . . . . . . . . . . .  11
       3.5.1.  Text (RFC 6350, Section 4.1)  . . . . . . . . . . . .  12
       3.5.2.  URI (RFC 6350, Section 4.2) . . . . . . . . . . . . .  12
       3.5.3.  Date (RFC 6350, Section 4.3.1)  . . . . . . . . . . .  12
       3.5.4.  Time (RFC 6350, Section 4.3.2)  . . . . . . . . . . .  13
       3.5.5.  Date-Time (RFC 6350, Section 4.3.3) . . . . . . . . .  14
       3.5.6.  Date and/or Time (RFC 6350, Section 4.3.4)  . . . . .  16
       3.5.7.  Timestamp (RFC 6350, Section 4.3.5) . . . . . . . . .  16
       3.5.8.  Boolean (RFC 6350, Section 4.4) . . . . . . . . . . .  17
       3.5.9.  Integer (RFC 6350, Section 4.5) . . . . . . . . . . .  17
       3.5.10. Float (RFC 6350, Section 4.6) . . . . . . . . . . . .  17
       3.5.11. UTC Offset (RFC 6350, Section 4.7)  . . . . . . . . .  18
       3.5.12. Language Tag (RFC 6350, Section 4.8)  . . . . . . . .  18
     3.6.  Extensions (RFC 6350, Section 6.10) . . . . . . . . . . .  18
   4.  Converting from jCard into vCard  . . . . . . . . . . . . . .  19
   5.  Handling Unrecognized Properties or Parameters  . . . . . . .  19
     5.1.  Converting vCard into jCard . . . . . . . . . . . . . . .  19
     5.2.  Converting jCard into vCard . . . . . . . . . . . . . . .  20
     5.3.  Examples  . . . . . . . . . . . . . . . . . . . . . . . .  20
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .  21
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  22
     7.1.  GROUP vCard Parameter . . . . . . . . . . . . . . . . . .  23
     7.2.  UNKNOWN vCard Value Data Type . . . . . . . . . . . . . .  24
   8.  Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .  24
   9.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  24
     9.1.  Normative References  . . . . . . . . . . . . . . . . . .  24
     9.2.  Informative References  . . . . . . . . . . . . . . . . .  25
   Appendix A.  ABNF Syntax  . . . . . . . . . . . . . . . . . . . .  26
   Appendix B.  Examples . . . . . . . . . . . . . . . . . . . . . .  27
     B.1.  Example: vCard of the Author of RFC 6350  . . . . . . . .  27
       B.1.1.  vCard Data  . . . . . . . . . . . . . . . . . . . . .  27
       B.1.2.  jCard Data  . . . . . . . . . . . . . . . . . . . . .  28
        
1. Introduction
1. はじめに

The vCard data format [RFC6350] provides for the capture and exchange of information normally stored within an address book or directory application. The vCard format has gone through multiple revisions, most recently vCard 4.

vCardデータ形式[RFC6350]は、通常はアドレス帳またはディレクトリアプリケーション内に格納される情報のキャプチャと交換を提供します。 vCard形式は複数の改訂を経ており、最近ではvCard 4です。

As certain similarities exist between vCard and the iCalendar data format [RFC5545], there is also an effort to define a JSON-based data format for calendar information called jCal [JCAL] that parallels the format defined in this specification. The term "JSON" describes the JavaScript Object Notation defined in [RFC4627].

vCardとiCalendarデータ形式[RFC5545]の間には一定の類似点があるため、この仕様で定義されている形式に対応するjCal [JCAL]と呼ばれるカレンダー情報のJSONベースのデータ形式を定義する取り組みもあります。 「JSON」という用語は、[RFC4627]で定義されているJavaScript Object Notationを表します。

The purpose of this specification is to define "jCard", a JSON format for vCard data. One main advantage to using a JSON-based format over the classic vCard format is easier processing for JavaScript-based widgets and libraries, especially in the scope of web-based applications.

この仕様の目的は、vCardデータのJSON形式である「jCard」を定義することです。従来のvCard形式よりもJSONベースの形式を使用する主な利点の1つは、特にWebベースのアプリケーションの範囲で、JavaScriptベースのウィジェットとライブラリの処理が容易になることです。

The key design considerations are essentially the same as those for [JCAL] and [RFC6321], that is:

主要な設計上の考慮事項は、基本的に[JCAL]および[RFC6321]の場合と同じです。つまり、

Round-tripping (converting a vCard instance to jCard and back) will give the same semantic result as the starting point. For example, all components, properties, and property parameters are guaranteed to be preserved.

ラウンドトリップ(vCardインスタンスをjCardに変換して戻す)は、開始点と同じセマンティックな結果になります。たとえば、すべてのコンポーネント、プロパティ、プロパティパラメータは保持されることが保証されています。

The Ordering of elements and the case of property and parameter names will not necessarily be preserved.

要素の順序、プロパティとパラメータ名の大文字と小文字は必ずしも保持されません。

The vCard data semantics are to be preserved, allowing a simple consumer to easily browse the data in jCard. A full understanding of vCard is still required in order to modify and/or fully comprehend the directory data.

vCardデータセマンティクスは保持され、単純なコンシューマーがjCardのデータを簡単に閲覧できるようになります。ディレクトリデータを変更または完全に理解するには、vCardを完全に理解する必要があります。

Extensions to the underlying vCard specification must not lead to requiring an update to jCard.

基礎となるvCard仕様の拡張により、jCardの更新が必要になることはありません。

2. Conventions Used in This Document
2. このドキュメントで使用される規則

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].

このドキュメントのキーワード「MUST」、「MUST NOT」、「REQUIRED」、「SHALL」、「SHALL NOT」、「SHOULD」、「SHOULD NOT」、「RECOMMENDED」、「MAY」、および「OPTIONAL」は、 [RFC2119]で説明されているように解釈されます。

The underlying format used for jCard is JSON. Consequently, the terms "object" and "array" as well as the four primitive types (strings, numbers, booleans, and null) are to be interpreted as described in Section 1 of [RFC4627].

jCardで使用される基本的な形式はJSONです。したがって、「オブジェクト」と「配列」という用語、および4つのプリミティブ型(文字列、数値、ブール値、およびnull)は、[RFC4627]のセクション1で説明されているように解釈されます。

Some examples in this document contain "partial" JSON documents used for illustrative purposes. In these examples, three periods "..." are used to indicate a portion of the document that has been removed for compactness.

このドキュメントのいくつかの例には、例示の目的で使用される「部分的な」JSONドキュメントが含まれています。これらの例では、コンパクトにするために削除されたドキュメントの一部を示すために、3つのピリオド「...」が使用されています。

3. Converting from vCard to jCard
3. vCardからjCardへの変換

This section describes how vCard objects are converted to jCard using a simple mapping between the vCard data model and JSON elements.

このセクションでは、vCardデータモデルとJSON要素の間の単純なマッピングを使用して、vCardオブジェクトをjCardに変換する方法について説明します。

In [RFC6350], vCard objects are comprised of a set of "properties", "parameters", and "values". The top level of a vCard object contains "properties". A "property" has a "value" and a set of zero or more "parameters". Each of these entities has a representation in jCard, defined in the following sections. The representation of a vCard object in JSON will be named "jCard object" throughout this document.

[RFC6350]では、vCardオブジェクトは「プロパティ」、「パラメータ」、および「値」のセットで構成されています。 vCardオブジェクトの最上位には「プロパティ」が含まれています。 「プロパティ」には「値」とゼロ個以上の「パラメータ」のセットがあります。これらの各エンティティには、次のセクションで定義されるjCardでの表現があります。 JSONでのvCardオブジェクトの表現は、このドキュメント全体で「jCardオブジェクト」と呼ばれます。

3.1. Pre-processing
3.1. 前処理

vCard uses a line-folding mechanism to limit lines of data to a maximum line length (typically 75 octets) to ensure maximum likelihood of preserving data integrity as it is transported via various means (e.g., email) -- see Section 3.2 of [RFC6350].

vCardは行折りたたみメカニズムを使用してデータの行を最大行長(通常75オクテット)に制限し、さまざまな手段(電子メールなど)で転送されるときにデータの整合性を維持する可能性を最大にします-[RFC6350のセクション3.2を参照してください。 ]。

vCard data uses an "escape" character sequence for text values and property parameter values. See Section 3.4 of [RFC6350] as well as [RFC6868].

vCardデータは、テキスト値とプロパティパラメータ値に「エスケープ」文字シーケンスを使用します。 [RFC6350]のセクション3.4と[RFC6868]をご覧ください。

When converting from vCard to jCard, first vCard lines MUST be unfolded. Afterwards, any vCard escaping MUST be unescaped. Finally, JSON escaping (e.g., for control characters) MUST be applied.

vCardからjCardに変換するときは、最初のvCard行を展開する必要があります。その後、エスケープするvCardはエスケープ解除する必要があります。最後に、JSONエスケープ(制御文字など)を適用する必要があります。

The reverse order applies when converting from jCard to vCard. First, JSON escaping MUST be unescaped. Afterwards, vCard escaping MUST be applied. Finally, long lines SHOULD be folded as described in [RFC6350].

jCardからvCardに変換する場合は、逆の順序が適用されます。まず、JSONエスケープはエスケープ解除する必要があります。その後、vCardエスケープを適用する必要があります。最後に、長い行は[RFC6350]で説明されているように折り畳まれるべきです(SHOULD)。

One key difference in the formatting of values used in vCard and jCard is that in jCard the specification uses date/time values aligned with the extended format of [ISO.8601.2004], which is more commonly used in Internet applications that make use of the JSON format. The sections of this document describing the various date and time formats contain more information on the use of the complete representation, reduced accuracy, or truncated representation.

vCardとjCardで使用される値のフォーマットの主な違いの1つは、jCardでは仕様が[ISO.8601.2004]の拡張形式に合わせて日付/時刻値を使用することです。これは、JSONを使用するインターネットアプリケーションでより一般的に使用されます。フォーマット。さまざまな日付と時刻の形式を説明するこのドキュメントのセクションには、完全な表現、精度の低下、または切り捨てられた表現の使用に関する詳細情報が含まれています。

3.2. jCard Object and Syntactic Entities (RFC 6350, Sections 6.1.1 and 6.1.2)

3.2. jCardオブジェクトと構文エンティティ(RFC 6350、セクション6.1.1および6.1.2)

In Sections 6.1.1 and 6.1.2 of [RFC6350], the BEGIN and END properties delimit a syntactic vCard entity. In jCard, each syntactic entity is represented by an array with two elements and is named "jCard object". The first element is the string "vcard", and the second element is an array of jCard properties as described in Section 3.3, belonging to the entity.

[RFC6350]のセクション6.1.1および6.1.2では、BEGINおよびENDプロパティが構文vCardエンティティを区切ります。 jCardでは、各構文エンティティは2つの要素を持つ配列で表され、「jCardオブジェクト」という名前が付けられます。最初の要素は文字列「vcard」であり、2番目の要素は、セクション3.3で説明されているエンティティに属するjCardプロパティの配列です。

Although [RFC6350] defines BEGIN and END to be properties, they MUST NOT appear as properties of the jCard. Instead, the jCard object is sufficient to define a vCard entity. When converting from jCard to vCard, the BEGIN and END properties MUST be added to enclose the properties of the jCard object.

[RFC6350]は、BEGINとENDをプロパティとして定義していますが、jCardのプロパティとして表示してはなりません(MUST NOT)。代わりに、jCardオブジェクトでvCardエンティティを定義できます。 jCardからvCardに変換するときは、BEGINおよびENDプロパティを追加して、jCardオブジェクトのプロパティを囲む必要があります。

Example:

例:

   ["vcard", [
     /* Add properties in place of this comment */
     ]
   ]
        

Consumers of this format wishing to define content that can represent multiple jCard objects within the same JSON document can use a simple JSON array, each element being a single jCard object.

同じJSONドキュメント内の複数のjCardオブジェクトを表すことができるコンテンツを定義することを望むこのフォーマットの消費者は、各要素が単一のjCardオブジェクトである単純なJSON配列を使用できます。

3.3. Properties (RFC 6350, Section 6)
3.3. プロパティ(RFC 6350、セクション6)

Each individual vCard property is represented in jCard by an array with three fixed elements, followed by one or more additional elements, depending on if the property is a multi-valued property as described in Section 3.3 of [RFC6350].

個々のvCardプロパティは、[RFC6350]のセクション3.3で説明されているように、プロパティが多値プロパティであるかどうかに応じて、3つの固定要素と1つ以上の追加要素が続く配列によってjCardで表されます。

The array consists of the following fixed elements:

配列は、次の固定要素で構成されています。

1. The name of the property, as a lowercase string. The vCard format specifies that property names are case insensitive and recommends that they be rendered in uppercase. In jCard, they MUST be in lowercase.

1. 小文字の文字列としてのプロパティの名前。 vCard形式では、プロパティ名は大文字と小文字が区別されないように指定されており、大文字でレンダリングすることをお勧めします。 jCardでは、小文字にする必要があります。

2. An object containing the parameters as described in Section 3.4. If the property has no parameters, an empty object is used to represent that.

2. セクション3.4で説明されているパラメータを含むオブジェクト。プロパティにパラメーターがない場合は、空のオブジェクトを使用してそれを表します。

3. The type identifier string of the value, in lowercase. It is important that parsers check this to determine the data type of the value and that they do not rely on assumptions. For example, for structured values, the data type will be "array".

3. 値のタイプIDストリング(小文字)。パーサーがこれをチェックして値のデータ型を判別すること、および仮定に依存しないことが重要です。たとえば、構造化された値の場合、データ型は「配列」になります。

The remaining elements of the array are used for one or more values of the property. For single-value properties, the array has exactly four elements; for multi-valued properties, each value is another element, and there can be any number of additional elements.

配列の残りの要素は、プロパティの1つ以上の値に使用されます。単一値プロパティの場合、配列には4つの要素があります。複数値プロパティの場合、各値は別の要素であり、追加の要素がいくつあってもかまいません。

In the following example, the "categories" property is multi-valued and has two values, while all other properties are single-valued:

次の例では、「categories」プロパティは複数値で2つの値を持ちますが、他のすべてのプロパティは単一値です。

   ["vcard",
     [
       ["version", {}, "text", "4.0"],
       ["fn", {}, "text", "John Doe"],
       ["gender", {}, "text", "M"],
       ["categories", {}, "text", "computers", "cameras"],
       ...
     ]
   ]
        

As described in Section 3.3.1.3, a property value may be a structured property value, in which case it is represented as an array encapsulated in the array that represents the overall property.

セクション3.3.1.3で説明されているように、プロパティ値は構造化プロパティ値である場合があります。その場合、プロパティ全体を表す配列にカプセル化された配列として表されます。

Strictly speaking, this means that the property value is not represented in the format indicated by the type identifier but by an array instead. However, the values inside the encapsulated array are of the format identified by the type identifier.

厳密に言うと、これは、プロパティ値がタイプ識別子によって示される形式ではなく、配列によって表されることを意味します。ただし、カプセル化された配列内の値は、型識別子で識別される形式です。

The above also holds for multi-valued properties, where some of the values may be structured property values and therefore are represented as an encapsulated array.

上記は、複数の値を持つプロパティにも当てはまります。値の一部は構造化されたプロパティ値であり、カプセル化された配列として表されます。

A special case is where a value in an encapsulated array consists of multiple components itself, in which case it is represented as yet another nested array, with elements matching the value type. Section 3.3.1.3 describes this in more detail.

特殊なケースは、カプセル化された配列の値が複数のコンポーネント自体で構成されている場合です。その場合、値の型と一致する要素を持つ、さらに別のネストされた配列として表されます。セクション3.3.1.3では、これについて詳しく説明します。

The above illustrates that it's important for the parser to check the format of each property value, as it might either directly match the value type, or it might be a structured value where nested subelements match the value type.

上記は、値の型に直接一致するか、ネストされたサブ要素が値の型に一致する構造化された値である可能性があるため、パーサーが各プロパティ値の形式を確認することが重要であることを示しています。

3.3.1. Special Cases for Properties
3.3.1. プロパティの特別なケース

This section describes some properties that have special handling when converting to jCard.

このセクションでは、jCardに変換するときに特別な処理を行ういくつかのプロパティについて説明します。

3.3.1.1. The VERSION Property
3.3.1.1. VERSIONプロパティ

The vCard format specification [RFC6350] defines the "VERSION" property to be mandatory. The jCard "version" property MUST be represented in the corresponding jCard component, with the same value as in the vCard. vCards that conform to RFC 6350 will contain the value "4.0".

vCard形式の仕様[RFC6350]では、「VERSION」プロパティが必須であると定義されています。 jCardの「バージョン」プロパティは、vCardと同じ値で、対応するjCardコンポーネントで表す必要があります。 RFC 6350に準拠するvCardには、値「4.0」が含まれます。

Also in accordance to [RFC6350], the "version" property MUST be the first element of the array containing the properties of a jCard.

また、[RFC6350]に従い、「バージョン」プロパティは、jCardのプロパティを含む配列の最初の要素である必要があります。

3.3.1.2. Grouping of Properties
3.3.1.2. プロパティのグループ化

In vCard [RFC6350], related properties can be grouped together using a grouping construct. The grouping is accomplished by adding a prefix (which consists of the group name followed by a dot) to the property name.

vCard [RFC6350]では、関連するプロパティをグループ化構成を使用してグループ化できます。グループ化は、プロパティ名に接頭辞(グループ名とドットで構成される)を追加することで実現されます。

In jCard, the same grouping is achieved through a "group" parameter that holds the group name. In jCard, a property name therefore MUST NOT be prefixed by a group name.

jCardでは、グループ名を保持する「グループ」パラメーターによって同じグループ化が実現されます。したがって、jCardでは、プロパティ名の前にグループ名を付けることはできません。

The "GROUP" parameter MUST NOT be used in vCard; as per [RFC6350], it is merely registered to reserve the parameter, avoiding collisions. Formal registration of the "GROUP" parameter is described in Section 7.1.

「GROUP」パラメーターはvCardで使用してはなりません(MUST NOT)。 [RFC6350]のように、衝突を回避するためにパラメータを予約するために登録されているだけです。 「GROUP」パラメータの正式な登録については、セクション7.1で説明しています。

3.3.1.2.1. Group Conversion Rules
3.3.1.2.1. グループ変換ルール

In jCard, the parameter's value is a single opaque string. Conversion rules are as follows:

jCardでは、パラメーターの値は単一の不透明な文字列です。変換規則は次のとおりです。

o From vCard to jCard, the group construct (see [RFC6350], Section 3.3) is removed. In its place, the "group" parameter is used. Its value is a string corresponding to the group name, which is case insensitive both in vCard and jCard. The name's case SHOULD be converted into lowercase.

o vCardからjCardへ、グループ構成([RFC6350]、セクション3.3を参照)が削除されました。その代わりに、「グループ」パラメーターが使用されます。その値はグループ名に対応する文字列で、vCardとjCardの両方で大文字と小文字は区別されません。名前の大文字小文字は小文字に変換する必要があります(SHOULD)。

o When converting from jCard to vCard, the value of the "group" parameter followed by a dot is prefixed to the property name, and the "group" parameter is discarded. The "GROUP" parameter MUST NOT appear in the resulting vCard. Following the recommendations in [RFC6350], the name's case SHOULD be converted into uppercase.

o jCardからvCardに変換する場合、「group」パラメーターの後にドットが続く値がプロパティ名の前に付加され、「group」パラメーターは破棄されます。 「GROUP」パラメータは、結果のvCardに表示してはなりません(MUST NOT)。 [RFC6350]の推奨に従い、名前の大文字小文字を大文字に変換する必要があります(SHOULD)。

Example:

例:

CONTACT.FN:Mr. John Q. Public\, Esq.

CONTACT.FN:氏John Q. Public \、Esq。

is equivalent to:

以下と同等です。

   [ "fn", { "group": "CONTACT" }, "text", "Mr. John Q. Public, Esq." ]
        
3.3.1.3. Structured Property Values
3.3.1.3. 構造化プロパティ値

The vCard specification defines properties with structured values, for example, "GENDER" or "ADR". In vCard, a structured text value consists of one or multiple text components, delimited by the SEMICOLON character. Its equivalent in jCard is a structured property value, which is an array containing one element for each text component, with empty/missing text components represented by zero-length strings.

vCard仕様では、「GENDER」や「ADR」などの構造化された値を持つプロパティを定義しています。 vCardでは、構造化テキスト値は、セミコロン文字で区切られた1つまたは複数のテキストコンポーネントで構成されます。 jCardでこれに相当するのは、構造化されたプロパティ値です。これは、テキストコンポーネントごとに1つの要素を含む配列で、長さ0の文字列で表される空または欠落しているテキストコンポーネントがあります。

vCard Example:

vCardの例:

ADR:;;123 Main Street;Any Town;CA;91921-1234;U.S.A.

ADR:;; 123 Main Street; Any Town; CA; 91921-1234; U.S.A。

jCard Example:

jCardの例:

["adr", {}, "text", [ "", "", "123 Main Street", "Any Town", "CA", "91921-1234", "U.S.A." ] ]

["adr"、{}、 "text"、[""、 ""、 "123 Main Street"、 "Any Town"、 "CA"、 "91921-1234"、 "U.S.A." ]]

Some vCard properties, for example, ADR, also allow a structured value element that itself has multiple values. In this case, the element of the array describing the structured value is itself an array with one element for each of the component's multiple values.

ADRなどの一部のvCardプロパティでも、それ自体が複数の値を持つ構造化された値要素を使用できます。この場合、構造化された値を記述する配列の要素自体は、コンポーネントの複数の値のそれぞれに対して1つの要素を持つ配列です。

vCard Example:

vCardの例:

ADR:;;My Street,Left Side,Second Shack;Hometown;PA;18252;U.S.A.

ADR:;; My Street、Left Side、Second Shack; Hometown; PA; 18252; U.S.A。

jCard Example:

jCardの例:

   ["adr", {}, "text",
     [
     "", "",
     ["My Street", "Left Side", "Second Shack"],
     "Hometown", "PA", "18252", "U.S.A."
     ]
   ]
        

In both cases, the array element values MUST have the primitive type that matches the jCard type identifier. In [RFC6350], there are only structured text values and thus only JSON strings are used. For example, extensions may define structured number or boolean values, where JSON number or boolean types MUST be used.

どちらの場合も、配列要素の値には、jCardタイプ識別子と一致するプリミティブタイプが必要です。 [RFC6350]では、構造化されたテキスト値しかないため、JSON文字列のみが使用されます。たとえば、拡張機能では構造化された数値またはブール値を定義できますが、JSON数値またはブール型を使用する必要があります。

Although it is allowed for a structured property value to hold just one component, it is RECOMMENDED to represent it as a single text value instead, omitting the array completely. Nevertheless, a simple implementation MAY choose to retain the array, with a single text value as its element.

構造化プロパティ値が1つのコンポーネントのみを保持することが許可されていますが、配列を完全に省略して、代わりに単一のテキスト値として表すことをお勧めします。それにもかかわらず、単純な実装は、要素として単一のテキスト値を使用して、配列を保持することを選択できます。

Similarly, structured values that consist of two text components with one being optional (for example, "GENDER") can be represented as a single text value. Therefore, parsers of jCard data SHOULD check even known property values for structured information by considering the JSON data type of the value, which can be an array or a primitive value. This is especially important for languages where accessing array members is done by the same construct as accessing characters of a string.

同様に、2つのテキストコンポーネントで構成される構造化された値は、1つがオプション(たとえば、「GENDER」)であり、1つのテキスト値として表すことができます。したがって、jCardデータのパーサーは、配列またはプリミティブ値である可能性がある値のJSONデータ型を考慮することにより、構造化情報の既知のプロパティ値でさえチェックする必要があります(SHOULD)。これは、配列メンバーへのアクセスが文字列の文字へのアクセスと同じ構成要素によって行われる言語では特に重要です。

Examples:

例:

   ["gender", {}, "text", ["F", "grrrl"] ],
   ["gender", {}, "text", "M" ]
        

Per Section 6.3.1 of [RFC6350], the component separator MUST be specified even if the component value is missing. Similarly, the jCard array containing the structured data MUST contain all required elements, even if they are empty.

[RFC6350]のセクション6.3.1に従って、コンポーネントの値が欠落している場合でも、コンポーネントの区切り記号を指定する必要があります。同様に、構造化データを含むjCard配列には、必要なすべての要素が含まれている必要があります(空の場合も含む)。

vCard Example:

vCardの例:

   ADR;LABEL="123 Maple Ave\nSuite 901\nVancouver BC\nA1B 2C9\nCan
    ada":;;;;;;
        

jCard Example:

jCardの例:

["adr", {"label":"123 Maple Ave\nSuite 901\nVancouver BC\nA1B 2C9\nCanada"}, "text", ["", "", "", "", "", "", ""] ]

["adr"、{"label": "123 Maple Ave \ Suite 901 \ Vancouver BC \ nA1B 2C9 \ Canada"}、 "text"、[""、 ""、 ""、 ""、 ""、 "" 、「」]]

3.4. Parameters (RFC 6350, Section 5)
3.4. パラメータ(RFC 6350、セクション5)

Property parameters are represented as a JSON object where each key-value pair represents the vCard parameter name and its value. The name of the parameter MUST be in lowercase; the original case of the parameter value MUST be preserved. For example, the "LANGUAGE" property parameter is represented in jCard by the "language" key. Any new vCard parameters added in the future will be converted in the same way.

プロパティパラメータはJSONオブジェクトとして表され、各キーと値のペアはvCardパラメータ名とその値を表します。パラメータの名前は小文字でなければなりません。パラメータ値の元の大文字小文字を維持する必要があります。たとえば、「LANGUAGE」プロパティパラメータは、jCardでは「language」キーによって表されます。将来追加される新しいvCardパラメータはすべて同じ方法で変換されます。

Example:

例:

   ["role", { "language": "tr" }, "text", "roca"],
        
3.4.1. VALUE Parameter
3.4.1. VALUEパラメータ

vCard defines a "VALUE" property parameter (Section 5.2 of [RFC6350]). This property parameter MUST NOT be added to the parameters object. Instead, the value type is signaled through the type identifier in the third element of the array describing the property. When converting a property from vCard to jCard, the value type is determined as follows:

vCardは「VALUE」プロパティパラメータを定義します([RFC6350]のセクション5.2)。このプロパティパラメータは、パラメータオブジェクトに追加してはなりません(MUST NOT)。代わりに、値の型は、プロパティを説明する配列の3番目の要素の型識別子を通じて通知されます。プロパティをvCardからjCardに変換する場合、値のタイプは次のように決定されます。

1. If the property has a "VALUE" parameter, that parameter's value is used as the value type.

1. プロパティに「VALUE」パラメーターがある場合、そのパラメーターの値が値のタイプとして使用されます。

2. If the property has no "VALUE" parameter but has a default value type, the default value type is used.

2. プロパティに「VALUE」パラメーターがなく、デフォルト値タイプがある場合、デフォルト値タイプが使用されます。

3. If the property has no "VALUE" parameter and has no default value type, "unknown" is used.

3. プロパティに「VALUE」パラメータがなく、デフォルト値タイプがない場合、「不明」が使用されます。

Converting from jCard into vCard is done as follows:

jCardからvCardへの変換は次のように行われます。

1. If the property's value type is "unknown", no "VALUE" parameter is included.

1. プロパティの値タイプが「不明」の場合、「VALUE」パラメーターは含まれません。

2. If the property's value type is the default type for that property, no "VALUE" parameter is included.

2. プロパティの値タイプがそのプロパティのデフォルトタイプである場合、「VALUE」パラメータは含まれません。

3. Otherwise, a "VALUE" parameter is included, and the value type is used as the parameter value.

3. それ以外の場合は、「VALUE」パラメーターが含まれ、値タイプがパラメーター値として使用されます。

See Section 5 for information on handling unknown value types.

不明な値タイプの処理については、セクション5を参照してください。

3.4.2. Multi-Valued Parameters
3.4.2. 多値パラメーター

In [RFC6350], some parameters allow using a comma-separated list of values. To ease processing in jCard, the value for such parameters MUST be represented in an array containing the separated values. The array elements MUST be string values. Single-value parameters SHOULD be represented using a single string value, although a more simple implementation might prefer an array with one string element. An example of such a parameter is the vCard "SORT-AS" parameter; more such parameters may be added in extensions.

[RFC6350]では、一部のパラメーターで、値のコンマ区切りリストを使用できます。 jCardでの処理を容易にするために、そのようなパラメーターの値は、分離された値を含む配列で表す必要があります。配列要素は文字列値である必要があります。単一値のパラメータは、単一の文字列値を使用して表現する必要があります(SHOULD)。ただし、より単純な実装では、1つの文字列要素を持つ配列が優先される場合があります。このようなパラメーターの例は、vCardの「SORT-AS」パラメーターです。このようなパラメータは拡張機能で追加される場合があります。

The vCard specification requires encapsulation between DQUOTE characters if a parameter value contains a colon, a semicolon, or a comma. These extra DQUOTE characters do not belong to the actual parameter value and hence are not included when the parameter is converted to jCard.

vCard仕様では、パラメーター値にコロン、セミコロン、またはコンマが含まれている場合、DQUOTE文字間のカプセル化が必要です。これらの追加のDQUOTE文字は実際のパラメーター値に属していないため、パラメーターがjCardに変換されるときに含まれません。

Example:

例:

   ["vcard",
     [
       ["version", {}, "text", "4.0"],
       ["n",
        { "sort-as": ["Harten", "Rene"] },
        "text",
        ["van der Harten", "Rene", "J.", "Sir", "R.D.O.N."]
       ],
       ["fn", {}, "text", "Rene van der Harten"]
       ...
     ]
   ]
        
3.5. Values (RFC 6350, Section 4)
3.5. 値(RFC 6350、セクション4)

The following subsections specify how vCard property value data types (which are defined in Section 4 of [RFC6350]) are represented in jCard.

次のサブセクションでは、vCardプロパティ値のデータ型([RFC6350]のセクション4で定義)がjCardでどのように表現されるかを指定します。

3.5.1. Text (RFC 6350, Section 4.1)
3.5.1. テキスト(RFC 6350、セクション4.1)

Description: vCard "TEXT" property values are represented by a property with the type identifier "text". The value elements are JSON strings. For details on structured text values, see Section 3.3.1.3.

説明:vCard "TEXT"プロパティの値は、タイプ識別子が "text"のプロパティで表されます。 value要素はJSON文字列です。構造化テキスト値の詳細については、3.3.1.3項を参照してください。

Example:

例:

["kind", {}, "text", "group"]

["種類"、{}、 "テキスト"、 "グループ"]

3.5.2. URI (RFC 6350, Section 4.2)
3.5.2. URI(RFC 6350、セクション4.2)

Description: vCard "URI" property values are represented by a property with the type identifier "uri". The value elements are JSON strings.

説明:vCard「URI」プロパティ値は、タイプ識別子「uri」のプロパティによって表されます。 value要素はJSON文字列です。

Example:

例:

   ["source", {}, "uri", "ldap://ldap.example.com/cn=babs%20jensen"]
        
3.5.3. Date (RFC 6350, Section 4.3.1)
3.5.3. 日付(RFC 6350、セクション4.3.1)

Description: vCard "DATE" property values are represented by a property with the type identifier "date". The value elements are JSON strings with the same date value specified by [RFC6350], but represented using the extended format specified in [ISO.8601.2004], Section 4.1.2. If the complete representation is not used, the same date format restrictions regarding reduced accuracy, truncated representation, and expanded representation noted in [RFC6350], Section 4.3.1 apply. Whenever the extended format is not applicable, the basic format MUST be used.

説明:vCard "DATE"プロパティ値は、タイプ識別子が "date"のプロパティで表されます。値要素は、[RFC6350]で指定された同じ日付値を持つJSON文字列ですが、[ISO.8601.2004]、セクション4.1.2で指定された拡張形式を使用して表されます。完全な表現を使用しない場合は、[RFC6350]のセクション4.3.1に記載されている、精度の低下、切り捨てられた表現、および拡張された表現に関する同じ日付形式の制限が適用されます。拡張フォーマットが適用できない場合は常に、基本フォーマットを使用する必要があります。

ABNF syntax:

ABNF構文:

date-complete = year "-" month "-" day ;YYYY-MM-DD

date-complete =年 "-"月 "-"日; YYYY-MM-DD

   date-noreduc = date-complete
              / "--" month "-" day ; --MM-DD
              / "---" day          ; ---DDD
        
   date = date-noreduc
      / year; YYYY
      / year "-" month ; YYYY-MM
      / "--" month     ; --MM
        

Examples:

例:

   ["bday", {}, "date", "1985-04-12"],
   ["bday", {}, "date", "1985-04"],
   ["bday", {}, "date", "1985"],
   ["bday", {}, "date", "--04-12"],
   ["bday", {}, "date", "---12"]
        

This table contains possible conversions between the vCard DATE format and jCard date. This information is just an example and not a formal specification of the syntax. The specification can be found in [ISO.8601.2000] and [ISO.8601.2004].

この表には、vCardのDATE形式とjCardの日付間の可能な変換が含まれています。この情報は単なる例であり、構文の正式な仕様ではありません。仕様は[ISO.8601.2000]と[ISO.8601.2004]にあります。

                   +-----------+----------+------------+
                   |           | vCard    | jCard      |
                   +-----------+----------+------------+
                   | Complete  | 19850412 | 1985-04-12 |
                   |           |          |            |
                   | Reduced   | 1985-04  | 1985-04    |
                   |           |          |            |
                   | Reduced   | 1985     | 1985       |
                   |           |          |            |
                   | Truncated | --0412   | --04-12    |
                   |           |          |            |
                   | Truncated | --04     | --04       |
                   |           |          |            |
                   | Truncated | ---12    | ---12      |
                   +-----------+----------+------------+
        
3.5.4. Time (RFC 6350, Section 4.3.2)
3.5.4. 時間(RFC 6350、セクション4.3.2)

Description: vCard "TIME" property values are represented by a property with the type identifier "time". The value elements are JSON strings with the same time value specified by [RFC6350], but represented using the extended format specified in [ISO.8601.2004], Section 4.2. If the complete representation is not used, the same time format restrictions regarding reduced accuracy, decimal fraction, and truncated representation noted in [RFC6350], Section 4.3.2 apply. Whenever the extended format is not applicable, the basic format MUST be used. The seconds value of 60 MUST only be used to account for positive "leap" seconds, and the midnight hour is always represented by 00, never 24. Fractions of a second are not supported by this format. In jCard, UTC offsets are permitted within a time value; note that this differs from jCal [JCAL], where they are not permitted.

説明:vCard "TIME"プロパティ値は、タイプ識別子が "time"のプロパティで表されます。値要素は、[RFC6350]で指定された同じ時刻値を持つJSON文字列ですが、[ISO.8601.2004]、セクション4.2で指定された拡張形式を使用して表されます。完全な表現を使用しない場合、[RFC6350]のセクション4.3.2に記載されている、精度の低下、小数、切り捨て表現に関する同じ時間形式の制限が適用されます。拡張フォーマットが適用できない場合は常に、基本フォーマットを使用する必要があります。秒の値60は、正の「うるう」秒を説明するためにのみ使用する必要があり、午前0時は常に24でなく00で表されます。秒の小数部はこの形式ではサポートされていません。 jCardでは、時間値内でUTCオフセットを使用できます。これは、許可されていないjCal [JCAL]とは異なることに注意してください。

ABNF syntax:

ABNF構文:

   time-notrunc =  hour [":" minute [":" second]] [zone]
        
   time = time-notrunc
      / "-" minute ":" second [zone]; -mm:ss
      / "-" minute [zone]; -mm
      / "--" second [zone]; --ss
        

Examples:

例:

   ["x-time-local", {}, "time", "12:30:00"],
   ["x-time-utc", {}, "time", "12:30:00Z"],
   ["x-time-offset", {}, "time", "12:30:00-08:00"],
   ["x-time-reduced", {}, "time", "23"],
   ["x-time-truncated", {}, "time", "-30"]
        

This table contains possible conversions between the vCard TIME format and jCard time. This information is just an example and not a formal specification of the syntax. The specification can be found in [ISO.8601.2000] and [ISO.8601.2004].

この表には、vCard TIME形式とjCard時間の間の可能な変換が含まれています。この情報は単なる例であり、構文の正式な仕様ではありません。仕様は[ISO.8601.2000]と[ISO.8601.2004]にあります。

                     +-----------+--------+----------+
                     |           | vCard  | jCard    |
                     +-----------+--------+----------+
                     | Complete  | 232050 | 23:20:50 |
                     |           |        |          |
                     | Reduced   | 2320   | 23:20    |
                     |           |        |          |
                     | Reduced   | 23     | 23       |
                     |           |        |          |
                     | Truncated | -2050  | -20:50   |
                     |           |        |          |
                     | Truncated | -20    | -20      |
                     |           |        |          |
                     | Truncated | --50   | --50     |
                     +-----------+--------+----------+
        

Also, all combinations may have any zone designator appended, as in the complete representation.

また、すべての組み合わせには、完全な表現のように、ゾーン指定子が追加されている場合があります。

3.5.5. Date-Time (RFC 6350, Section 4.3.3)
3.5.5. 日時(RFC 6350、セクション4.3.3)

Description: vCard "DATE-TIME" property values are represented by a property with the type identifier "date-time". The value elements are JSON strings with the same date value specified by [RFC6350], but represented using the extended format specified in [ISO.8601.2004], Section 4.3. If the complete representation is

説明:vCard "DATE-TIME"プロパティ値は、タイプ識別子が "date-time"のプロパティで表されます。値要素は、[RFC6350]で指定された同じ日付値を持つJSON文字列ですが、[ISO.8601.2004]、セクション4.3で指定された拡張形式を使用して表されます。完全な表現が

not used, the same date and time format restrictions noted in Sections 3.5.3 and 3.5.4 apply. Just as described in [RFC6350], truncation of the date part is permitted.

使用されない場合は、セクション3.5.3および3.5.4に記載されているのと同じ日付および時刻形式の制限が適用されます。 [RFC6350]で説明されているように、日付部分の切り捨てが許可されています。

Example:

例:

   ["anniversary", {}, "date-time", "2013-02-14T12:30:00"],
   ["anniversary", {}, "date-time", "2013-01-10T19:00:00Z"],
   ["anniversary", {}, "date-time", "2013-08-15T09:45:00+01:00"],
   ["anniversary", {}, "date-time", "---15T09:45:00+01:00"]
        

This table contains possible conversions between the vCard DATE-TIME format and jCard date-time. This information is just an example and not a formal specification of the syntax. The specification can be found in [ISO.8601.2000] and [ISO.8601.2004].

この表には、vCardのDATE-TIME形式とjCardの日時間の可能な変換が含まれています。この情報は単なる例であり、構文の正式な仕様ではありません。仕様は[ISO.8601.2000]と[ISO.8601.2004]にあります。

   +----------------+----------------------+---------------------------+
   | Representation | vCard                | jCard                     |
   +----------------+----------------------+---------------------------+
   | Complete       | 19850412T232050      | 1985-04-12T23:20:50       |
   |                |                      |                           |
   | Complete       | 19850412T232050Z     | 1985-04-12T23:20:50Z      |
   |                |                      |                           |
   | Complete       | 19850412T232050+0400 | 1985-04-12T23:20:50+04:00 |
   |                |                      |                           |
   | Complete       | 19850412T232050+04   | 1985-04-12T23:20:50+04    |
   |                |                      |                           |
   | Reduced        | 19850412T2320        | 1985-04-12T23:20          |
   |                |                      |                           |
   | Reduced        | 19850412T23          | 1985-04-12T23             |
   |                |                      |                           |
   | Truncated and  | --0412T2320          | --04-12T23:20             |
   | Reduced        |                      |                           |
   |                |                      |                           |
   | Truncated and  | --04T2320            | --04T23:20                |
   | Reduced        |                      |                           |
   |                |                      |                           |
   | Truncated and  | ---12T2320           | ---12T23:20               |
   | Reduced        |                      |                           |
   |                |                      |                           |
   | Truncated and  | --0412T2320          | --04-12T23:20             |
   | Reduced        |                      |                           |
   |                |                      |                           |
   | Truncated and  | --04T23              | --04T23                   |
   | Reduced        |                      |                           |
   +----------------+----------------------+---------------------------+
   As specified in [ISO.8601.2000], the lower-order components may not
   be omitted in the date part (reduced accuracy) and the higher-order
   components may not be omitted in the time part (truncation).  Also,
   all combinations may have any zone designator appended, as in the
   complete representation.
        
3.5.6. Date and/or Time (RFC 6350, Section 4.3.4)
3.5.6. 日付および/または時間(RFC 6350、セクション4.3.4)

Description: vCard "DATE-AND-OR-TIME" property values are represented by a property with the type identifier "date-and-or-time". The value elements are either a date-time (Section 3.5.5), a date (Section 3.5.3), or a time (Section 3.5.4) value. Just as described in Section 4.3.4 of [RFC6350], a stand-alone time value MUST always be preceded by a "T".

説明:vCard "DATE-AND-OR-TIME"プロパティ値は、タイプ識別子が "date-and-or-time"のプロパティで表されます。値の要素は、日付時刻(セクション3.5.5)、日付(セクション3.5.3)、または時刻(セクション3.5.4)のいずれかです。 [RFC6350]のセクション4.3.4で説明されているように、スタンドアロンの時間値の前には必ず「T」を付ける必要があります。

Example:

例:

   ["bday", {}, "date-and-or-time", "2013-02-14T12:30:00"],
   ["bday", {}, "date-and-or-time", "---22T14:00"]
   ["bday", {}, "date-and-or-time", "1985"],
   ["bday", {}, "date-and-or-time", "T12:30"]
        
3.5.7. Timestamp (RFC 6350, Section 4.3.5)
3.5.7. タイムスタンプ(RFC 6350、セクション4.3.5)

Description: vCard "TIMESTAMP" property values are represented by a property with the type identifier "timestamp". The value elements are JSON strings with the same timestamp value specified by [RFC6350], but represented using the extended format and complete representation specified in [ISO.8601.2004], Section 4.3.2.

説明:vCard "TIMESTAMP"プロパティ値は、タイプ識別子が "timestamp"のプロパティで表されます。値要素は、[RFC6350]で指定された同じタイムスタンプ値を持つJSON文字列ですが、[ISO.8601.2004]、セクション4.3.2で指定された拡張形式と完全な表現を使用して表されます。

Example:

例:

   ["rev", {}, "timestamp", "2013-02-14T12:30:00"],
   ["rev", {}, "timestamp", "2013-02-14T12:30:00Z"],
   ["rev", {}, "timestamp", "2013-02-14T12:30:00-05"],
   ["rev", {}, "timestamp", "2013-02-14T12:30:00-05:00"]
        

This table contains possible conversions between the vCard TIMESTAMP format and jCard timestamp. This information is just an example and not a formal specification of the syntax. The specification can be found in [ISO.8601.2000] and [ISO.8601.2004].

この表には、vCard TIMESTAMP形式とjCardタイムスタンプ間の可能な変換が含まれています。この情報は単なる例であり、構文の正式な仕様ではありません。仕様は[ISO.8601.2000]と[ISO.8601.2004]にあります。

   +----------------+----------------------+---------------------------+
   | Representation | vCard                | jCard                     |
   +----------------+----------------------+---------------------------+
   | Complete       | 19850412T232050      | 1985-04-12T23:20:50       |
   |                |                      |                           |
   | Complete       | 19850412T232050Z     | 1985-04-12T23:20:50Z      |
   |                |                      |                           |
   | Complete       | 19850412T232050+0400 | 1985-04-12T23:20:50+04:00 |
   |                |                      |                           |
   | Complete       | 19850412T232050+04   | 1985-04-12T23:20:50+04    |
   +----------------+----------------------+---------------------------+
        
3.5.8. Boolean (RFC 6350, Section 4.4)
3.5.8. ブール(RFC 6350、セクション4.4)

Description: vCard "BOOLEAN" property values are represented by a property with the type identifier "boolean". The value element is a JSON boolean value.

説明:vCard "BOOLEAN"プロパティ値は、タイプ識別子が "boolean"のプロパティで表されます。 value要素は、JSONブール値です。

Example:

例:

["x-non-smoking", {}, "boolean", true]

["x-non-smoking"、{}、 "boolean"、true]

3.5.9. Integer (RFC 6350, Section 4.5)
3.5.9. 整数(RFC 6350、セクション4.5)

Description: vCard "INTEGER" property values are represented by a property with the type identifier "integer". The value elements are JSON primitive number values.

説明:vCard "INTEGER"プロパティ値は、タイプ識別子が "integer"のプロパティで表されます。 value要素はJSONプリミティブ番号値です。

Examples:

例:

["x-karma-points", {}, "integer", 42]

["x-karma-points"、{}、 "integer"、42]

JSON allows decimals (e.g., 3.14) and exponents (e.g., 2e10) to be used in numeric values. jCard does not prohibit this for "integer" property values. However, since vCard does not support decimals or exponents in integers, any decimals and exponents MUST be eliminated when converting an "integer" value type property from jCard to vCard.

JSONでは、小数(3.14など)と指数(2e10など)を数値で使用できます。 jCardは、「整数」プロパティ値に対してこれを禁止していません。ただし、vCardは整数の小数または指数をサポートしていないため、「整数」値タイプのプロパティをjCardからvCardに変換するときは、小数と指数を削除する必要があります。

3.5.10. Float (RFC 6350, Section 4.6)
3.5.10. フロート(RFC 6350、セクション4.6)

Description: vCard "FLOAT" property values are represented by a property with the type identifier "float". The value elements are JSON primitive number values.

説明:vCard "FLOAT"プロパティ値は、タイプ識別子が "float"のプロパティで表されます。 value要素はJSONプリミティブ番号値です。

Example:

例:

["x-grade", {}, "float", 1.3] JSON allows exponents (e.g., 2e10) to be used in numeric values. jCard does not prohibit this for "float" property values. However, since vCard does not support exponents in floats, any exponents MUST be eliminated when converting a "float" value type property from jCard to vCard.

["x-grade"、{}、 "float"、1.3] JSONでは、数値で指数(2e10など)を使用できます。 jCardは「float」プロパティ値に対してこれを禁止していません。ただし、vCardは浮動小数点の指数をサポートしていないため、「浮動」値型のプロパティをjCardからvCardに変換するときは、指数を削除する必要があります。

3.5.11. UTC Offset (RFC 6350, Section 4.7)
3.5.11. UTCオフセット(RFC 6350、セクション4.7)

Description: vCard "UTC-OFFSET" property values are represented by a property with the type identifier "utc-offset". The value elements are JSON strings with the same UTC offset value specified by [RFC6350], with the exception that the hour and minute components are separated by a ":" character, for consistency with the [ISO.8601.2004] timezone offset, extended format.

説明:vCard "UTC-OFFSET"プロパティ値は、タイプ識別子が "utc-offset"のプロパティで表されます。値要素は、[RFC6350]で指定された同じUTCオフセット値を持つJSON文字列ですが、[ISO.8601.2004]タイムゾーンオフセットとの整合性を保つために、時間と分のコンポーネントは「:」文字で区切られていますが、拡張形式です。 。

Example:

例:

   // Note: [RFC6350] mentions use of utc-offset
   // for the TZ property as NOT RECOMMENDED
   ["tz", {}, "utc-offset", "-05:00"]
        
3.5.12. Language Tag (RFC 6350, Section 4.8)
3.5.12. 言語タグ(RFC 6350、セクション4.8)

Description: vCard "LANGUAGE-TAG" property values are represented by a property with the type identifier "language-tag". The value elements are JSON strings containing a single language-tag, as defined in [RFC5646].

説明:vCard "LANGUAGE-TAG"プロパティ値は、タイプ識別子が "language-tag"のプロパティで表されます。値要素は、[RFC5646]で定義されているように、単一の言語タグを含むJSON文字列です。

Example:

例:

["lang", {}, "language-tag", "de"]

["lang"、{}、 "language-tag"、 "de"]

3.6. Extensions (RFC 6350, Section 6.10)
3.6. 拡張機能(RFC 6350、セクション6.10)

vCard extension properties and property parameters (those with an "X-" prefix in their name) are handled in the same way as other properties and property parameters: the property is represented by an array, the property parameter represented by an object. The property or parameter name uses the same name as for the vCard extension, but in lowercase. For example, the "X-FOO" property in vCard turns into the "x-foo" jCard property. See Section 5 for how to deal with default values for unrecognized extension properties or property parameters.

vCard拡張プロパティとプロパティパラメータ(名前に「X-」プレフィックスが付いているもの)は、他のプロパティとプロパティパラメータと同じように処理されます。プロパティは配列で表され、プロパティパラメータはオブジェクトで表されます。プロパティまたはパラメーター名はvCard拡張と同じ名前を使用しますが、小文字です。たとえば、vCardの「X-FOO」プロパティは「x-foo」jCardプロパティに変わります。認識されない拡張プロパティまたはプロパティパラメータのデフォルト値を処理する方法については、セクション5を参照してください。

4. Converting from jCard into vCard
4. jCardからvCardへの変換

When converting property and property parameter values, the names SHOULD be converted to uppercase. Although vCard names are case insensitive, common practice is to keep them all uppercase following the actual definitions in [RFC6350].

プロパティとプロパティパラメータ値を変換するとき、名前は大文字に変換する必要があります(SHOULD)。 vCard名は大文字と小文字を区別しませんが、[RFC6350]の実際の定義に従って、すべて大文字にしておくのが一般的な方法です。

Character escaping and line folding MUST be applied to the resulting vCard data as required by [RFC6350] and [RFC6868].

[RFC6350]と[RFC6868]で要求されているように、結果のvCardデータに文字エスケープと行折りたたみを適用する必要があります。

When converting to vCard, the "VALUE" parameter MUST be added to properties whose default value type is unknown but do not have a jCard type identifier "unknown". The "VALUE" parameter MAY be omitted for properties using the default value type. The "VALUE" parameter MUST be omitted for properties that have the jCard type identifier "unknown".

vCardに変換する場合、デフォルト値のタイプは不明であるがjCardタイプ識別子が「不明」ではないプロパティに「VALUE」パラメーターを追加する必要があります。 「VALUE」パラメータは、デフォルト値タイプを使用するプロパティでは省略できます。 jCardタイプ識別子が「不明」であるプロパティの場合、「VALUE」パラメーターは省略しなければなりません。

5. Handling Unrecognized Properties or Parameters
5. 認識されないプロパティまたはパラメーターの処理

In vCard, properties can have one or more value types as specified by their definition, with one of those values being defined as the default. When a property uses its default value type, the "VALUE" property parameter does not need to be specified on the property. For example, "BDAY"'s default value type is "date-and-or-time", so "VALUE=date-and-or-time" need not be set as a property parameter. However, "BDAY" also allows a "text" value to be specified, and if that is used, "VALUE=text" has to be set as a property parameter.

vCardでは、プロパティは、定義で指定された1つ以上の値タイプを持つことができ、それらの値の1つがデフォルトとして定義されています。プロパティがデフォルト値タイプを使用する場合、「VALUE」プロパティパラメータをプロパティで指定する必要はありません。たとえば、「BDAY」のデフォルト値のタイプは「日付と時間」であるため、「VALUE =日付と時間」をプロパティパラメータとして設定する必要はありません。ただし、「BDAY」では「テキスト」の値を指定することもできます。これを使用する場合は、「VALUE =テキスト」をプロパティパラメータとして設定する必要があります。

When new properties are defined or "X-" properties used, a vCard-to-jCard converter might not recognize them, and not know what the appropriate default value types are, yet it needs to be able to preserve the values. A similar issue arises for unrecognized property parameters.

新しいプロパティが定義されるか、「X-」プロパティが使用されると、vCardからjCardへのコンバーターはそれらを認識せず、適切なデフォルト値のタイプがわからない場合がありますが、値を保持できる必要があります。認識されないプロパティパラメータでも同様の問題が発生します。

In jCard, a new "unknown" property value type is introduced. Its purpose is to allow preserving unknown property values when round-tripping between jCard and vCard. To avoid collisions, this specification reserves the "UNKNOWN" property value type in vCard. It MUST NOT be used in any vCard as specified by [RFC6350], nor any extensions to it. The type is hence registered to the "vCard Value Data Types" registry; see Section 7.2.

jCardでは、新しい「不明な」プロパティ値タイプが導入されています。その目的は、jCardとvCard間のラウンドトリップ時に不明なプロパティ値を保持できるようにすることです。衝突を避けるために、この仕様ではvCardの「不明」プロパティ値タイプを予約しています。 [RFC6350]で指定されているvCardや、その拡張機能では使用しないでください。したがって、タイプは「vCard値のデータタイプ」レジストリに登録されます。セクション7.2を参照してください。

5.1. Converting vCard into jCard
5.1. vCardをjCardに変換する

Any property that does not include a "VALUE" property parameter and whose default value type is not known MUST be converted to a primitive JSON string. The content of that string is the unprocessed value text. Also, value type MUST be set to "unknown".

「VALUE」プロパティパラメータを含まず、デフォルト値のタイプが不明なプロパティは、プリミティブJSON文字列に変換する必要があります。その文字列の内容は、未処理の値のテキストです。また、値タイプは「不明」に設定する必要があります。

To correctly implement this format, it's critical to use the value type "unknown" when the default value type is not known. If this requirement is ignored and, for example, "text" is used, additional escaping may occur that breaks round-tripping values.

この形式を正しく実装するには、デフォルトの値タイプが不明な場合に値タイプ「不明」を使用することが重要です。この要件が無視され、たとえば「テキスト」が使用された場合、ラウンドトリップ値を壊す追加のエスケープが発生する可能性があります。

Any unrecognized property parameter MUST be converted to a string value, with its content set to the property parameter value text, treated as if it were a "TEXT" value.

認識されないプロパティパラメータはすべて、文字列値に変換する必要があり、その内容はプロパティパラメータ値のテキストに設定され、「TEXT」値であるかのように扱われます。

5.2. Converting jCard into vCard
5.2. jCardをvCardに変換する

In jCard, the value type is always explicitly specified. It is converted to vCard using the vCard "VALUE" parameter, except in the following two cases:

jCardでは、値のタイプは常に明示的に指定されます。次の2つの場合を除いて、vCardの「VALUE」パラメータを使用してvCardに変換されます。

o If the value type specified in jCard matches the default value type in vCard, the "VALUE" parameter MAY be omitted.

o jCardで指定された値タイプがvCardのデフォルト値タイプと一致する場合、「VALUE」パラメータは省略される場合があります。

o If the value type specified in jCard is set to "unknown", the "VALUE" parameter MUST NOT be specified. The value MUST be taken over in vCard without processing.

o jCardで指定された値タイプが「不明」に設定されている場合、「VALUE」パラメーターを指定してはなりません(MUST NOT)。値は処理せずにvCardで引き継ぐ必要があります。

5.3. Examples
5.3. 例

The following is an example of an unrecognized vCard property (that uses a "URI" value as its default), and the equivalent jCard representation of that property.

以下は、認識されないvCardプロパティ(「URI」値をデフォルトとして使用する)の例と、そのプロパティの同等のjCard表現です。

vCard:

vCard:

   X-COMPLAINT-URI:mailto:abuse@example.org
        

jCard:

jCard:

   ["x-complaint-uri", {}, "unknown", "mailto:abuse@example.org"]
        

The following is an example of how to cope with jCard data where the parser was unable to identify the value type. Note how the "unknown" value type is not added to the vCard data, and escaping, aside from standard JSON string escaping, is not processed.

以下は、パーサーが値タイプを識別できなかったjCardデータに対処する方法の例です。 「不明」値タイプがvCardデータに追加されず、標準のJSON文字列エスケープを除いて、エスケープが処理されないことに注意してください。

jCard:

jCard:

   ["x-coffee-data", {}, "unknown", "Stenophylla;Guinea\\,Africa"]
        

vCard:

vCard:

X-COFFEE-DATA:Stenophylla;Guinea\,Africa There are no standard properties in [RFC6350] that have a default type of integer. Consequently, this example uses the following extended property that we treat as having a default type (namely, integer) known to the parser in order to illustrate how a property with a known default type would be transformed.

X-COFFEE-DATA:Stenophylla; Guinea \、Africa [RFC6350]には、デフォルトのタイプの整数を持つ標準プロパティはありません。したがって、この例では、次の拡張プロパティを使用して、パーサーに既知のデフォルトタイプ(つまり、整数)を持つものとして扱い、既知のデフォルトタイプのプロパティがどのように変換されるかを示します。

jCard:

jCard:

["x-karma-points", {}, "integer", 95]

["x-karma-points"、{}、 "integer"、95]

vCard:

vCard:

X-KARMA-POINTS:95

X-カルマポイント:95

The following is an example of an unrecognized vCard property parameter (that uses a "FLOAT" value as its default) specified on a recognized vCard property, and the equivalent jCard representation of that property and property parameter.

以下は、認識されたvCardプロパティで指定された(「FLOAT」値をデフォルトとして使用する)認識されないvCardプロパティパラメータ、およびそのプロパティとプロパティパラメータの同等のjCard表現の例です。

vCard:

vCard:

   GENDER;X-PROBABILITY=0.8:M
        

jCard:

jCard:

   ["gender", { "x-probability": "0.8" }, "text", "M"]
        
6. Security Considerations
6. セキュリティに関する考慮事項

This specification defines how vCard data can be "translated" between two different data formats -- the original text format and JSON -- with a one-to-one mapping to ensure all the semantic data in one format (properties, parameters, and values) are preserved in the other. It does not change the semantic meaning of the underlying data itself, or impose or remove any security considerations that apply to the underlying data.

この仕様は、vCardデータを2つの異なるデータ形式(元のテキスト形式とJSON)の間で「変換」する方法を定義し、1対1のマッピングですべてのセマンティックデータを1つの形式(プロパティ、パラメーター、および値)で保証します。 )は他に保存されます。基になるデータ自体の意味の意味を変更したり、基になるデータに適用されるセキュリティ上の考慮事項を課したり削除したりすることはありません。

The use of JSON as a format does have its own inherent security risks as discussed in Section 7 of [RFC4627]. Even though JSON is considered a safe subset of JavaScript, it should be kept in mind that a flaw in the parser for JSON data could still impose a threat that doesn't arise with conventional vCard data.

[RFC4627]のセクション7で説明されているように、形式としてのJSONの使用には、固有のセキュリティリスクがあります。 JSONはJavaScriptの安全なサブセットと見なされていますが、JSONデータのパーサーの欠陥により、従来のvCardデータでは発生しない脅威が発生する可能性があることに注意してください。

With this in mind when using jCard, the parser for JSON data should be aware of the security implications. For example, the use of JavaScript's eval() function is only allowed using the regular expression in Section 6 of [RFC4627]. A native parser with full awareness of the JSON format should be preferred.

jCardを使用する場合、これを念頭に置いて、JSONデータのパーサーはセキュリティの影響を認識している必要があります。たとえば、JavaScriptのeval()関数の使用は、[RFC4627]のセクション6の正規表現を使用する場合にのみ許可されます。 JSON形式を完全に認識するネイティブパーサーをお勧めします。

In addition, it is expected that this new format will result in vCard data being more widely disseminated (e.g., with use in web applications rather than just dedicated "contact managers").

さらに、この新しいフォーマットにより、vCardデータがより広く普及することが期待されます(たとえば、専用の「連絡先マネージャー」ではなく、Webアプリケーションで使用する)。

In all cases, application developers have to conform to the semantics of the vCard data as defined by [RFC6350] and associated extensions, and all of the security considerations described in Section 9 of [RFC6350], or any associated extensions, are applicable.

すべての場合において、アプリケーション開発者は、[RFC6350]および関連する拡張機能で定義されているvCardデータのセマンティクスに準拠する必要があり、[RFC6350]のセクション9で説明されているすべてのセキュリティに関する考慮事項、または関連する拡張機能が適用されます。

7. IANA Considerations
7. IANAに関する考慮事項

This document defines a MIME media type for use with vCard in JSON data. This media type SHOULD be used for the transfer of calendaring data in JSON.

このドキュメントでは、JSONデータのvCardで使用するMIMEメディアタイプを定義します。このメディアタイプは、JSONのカレンダーデータの転送に使用する必要があります(SHOULD)。

Type name: application

タイプ名:アプリケーション

Subtype name: vcard+json

サブタイプ名:vcard + json

Required parameters: none

必須パラメーター:なし

Optional parameters: "version", as defined for the text/vcard media type in [RFC6350], Section 10.1.

オプションのパラメータ:[RFC6350]のセクション10.1でtext / vcardメディアタイプに対して定義されている「バージョン」。

Encoding considerations: Same as encoding considerations of application/json as specified in [RFC4627], Section 6.

エンコーディングに関する考慮事項:[RFC4627]、セクション6で指定されているapplication / jsonのエンコーディングに関する考慮事項と同じです。

Security considerations: See Section 6.

セキュリティに関する考慮事項:セクション6を参照してください。

Interoperability considerations: This media type provides an alternative format for vCard data based on JSON.

相互運用性に関する考慮事項:このメディアタイプは、JSONに基づくvCardデータの代替形式を提供します。

Published specification: This specification.

公開された仕様:この仕様。

Applications which use this media type: Applications that currently make use of the text/vcard media type can use this as an alternative. Similarly, applications that use the application/ json media type to transfer directory data can use this to further specify the content.

このメディアタイプを使用するアプリケーション:現在text / vcardメディアタイプを使用しているアプリケーションは、これを代替として使用できます。同様に、application / jsonメディアタイプを使用してディレクトリデータを転送するアプリケーションは、これを使用してコンテンツをさらに指定できます。

Fragment identifier considerations: N/A Additional information:

フラグメント識別子の考慮事項:N / A追加情報:

Deprecated alias names for this type: N/A

このタイプの非推奨のエイリアス名:N / A

      Magic number(s):  N/A
        
      File extension(s):  N/A
        
      Macintosh file type code(s):  N/A
        

Person & email address to contact for further information: vcarddav@ietf.org

詳細について連絡する人とメールアドレス:vcarddav@ietf.org

Intended usage: COMMON

使用目的:COMMON

Restrictions on usage: There are no restrictions on where this media type can be used.

使用制限:このメディアタイプを使用できる場所に制限はありません。

Author: See the "Author's Address" section of this document.

作成者:このドキュメントの「作成者のアドレス」セクションを参照してください。

Change controller: IETF

コントローラの変更:IETF

7.1. GROUP vCard Parameter
7.1. GROUP vCardパラメータ

IANA has added the "GROUP" parameter to the "vCard Parameters" registry, initialized in Section 10.3.2 of [RFC6350]. Usage of the "GROUP" parameter is further described in Section 3.3.1.2 of this document.

IANAは、[RFC6350]のセクション10.3.2で初期化された「vCardパラメータ」レジストリに「GROUP」パラメータを追加しました。 「GROUP」パラメータの使用法については、このドキュメントのセクション3.3.1.2で詳しく説明しています。

   Namespace:  <empty>
        

Parameter name: GROUP

パラメーター名:GROUP

Purpose: To simplify the jCard format.

目的:jCard形式を簡素化するため。

Description: The "GROUP" parameter is reserved for the exclusive use of the jCard format described in this document. It MUST NOT be used in plain vCard [RFC6350], nor in xCard [RFC6351].

説明:「GROUP」パラメータは、このドキュメントで説明されているjCard形式の排他的使用のために予約されています。プレーンなvCard [RFC6350]やxCard [RFC6351]では使用しないでください。

Format definition: When converting from jCard to vCard, the value of the "GROUP" parameter is used as part of the property name. Therefore, the value is restricted to characters allowed in property names, namely ALPHA, DIGIT, and "-" characters. When used, the "GROUP" parameter MUST NOT be empty.

フォーマット定義:jCardからvCardに変換する場合、「GROUP」パラメーターの値がプロパティ名の一部として使用されます。したがって、値はプロパティ名で許可されている文字、つまりALPHA、DIGIT、および "-"文字に制限されます。使用する場合、「GROUP」パラメーターを空にすることはできません。

Example: As this registration serves as a reservation of the "GROUP" parameter so that it is not used in vCard, there is no applicable vCard example. Examples of its usage in jCard can be found in this document.

例:この登録は「GROUP」パラメーターの予約として機能するため、vCardで使用されないため、該当するvCardの例はありません。 jCardでの使用例は、このドキュメントに記載されています。

7.2. UNKNOWN vCard Value Data Type
7.2. UNKNOWN vCard値のデータタイプ

IANA has added the "UNKNOWN" value data type to the "vCard Value Data Types" registry, initialized in Section 10.3.3 of [RFC6350]. Usage of the "UNKNOWN" type is further described in Section 5 of this document.

IANAは[不明]値のデータ型を[vCard値のデータ型]レジストリに追加し、[RFC6350]のセクション10..3.3で初期化しました。 「不明」タイプの使用法については、このドキュメントのセクション5で詳しく説明しています。

Value name: UNKNOWN

値の名前:UNKNOWN

Purpose: To allow preserving property values whose default value type is not known during round-tripping between jCard and vCard.

目的:jCardとvCard間のラウンドトリップ中に、デフォルト値の型が不明なプロパティ値を保持できるようにします。

Format definition: (Not applicable)

フォーマット定義:(該当なし)

Description: The "UNKNOWN" value data type is reserved for the exclusive use of the jCard format. It MUST NOT be used in plain vCard [RFC6350].

説明:「UNKNOWN」値のデータ型は、jCard形式の排他的使用のために予約されています。プレーンvCard [RFC6350]では使用しないでください。

Example: As this registration serves as a reservation of the "UNKNOWN" type so that it is not used in vCard, there is no applicable vCard example. Examples of its usage in jCard can be found in this document.

例:この登録は「不明」タイプの予約として機能し、vCardで使用されないため、該当するvCardの例はありません。 jCardでの使用例は、このドキュメントに記載されています。

8. Acknowledgments
8. 謝辞

The author would like to thank the following for their valuable contributions: Cyrus Daboo, Mike Douglass, William Gill, Erwin Rehme, Dave Thewlis, Simon Perreault, Michael Angstadt, Peter Saint-Andre, Bert Greevenbosch, and Javier Godoy. This specification originated from the work of the XML-JSON technical committee of the Calendaring and Scheduling Consortium.

著者は、貴重な貢献をしてくれたCyrus Daboo、Mike Douglass、William Gill、Erwin Rehme、Dave Thewlis、Simon Perreault、Michael Angstadt、Peter Saint-Andre、Bert Greevenbosch、Javier Godoyに感謝します。この仕様は、Calendaring and Scheduling ConsortiumのXML-JSON技術委員会の作業に基づいています。

9. References
9. 参考文献
9.1. Normative References
9.1. 引用文献

[ISO.8601.2000] International Organization for Standardization, "Data elements and interchange formats -- Information interchange -- Representation of dates and times", ISO 8601, December 2000.

[ISO.8601.2000]国際標準化機構、「データ要素と交換フォーマット-情報交換-日付と時刻の表現」、ISO 8601、2000年12月。

[ISO.8601.2004] International Organization for Standardization, "Data elements and interchange formats -- Information interchange -- Representation of dates and times", ISO 8601, December 2004.

[ISO.8601.2004]国際標準化機構、「データ要素と交換フォーマット-情報交換-日付と時刻の表現」、ISO 8601、2004年12月。

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

[RFC2119] Bradner、S。、「要件レベルを示すためにRFCで使用するキーワード」、BCP 14、RFC 2119、1997年3月。

[RFC4627] Crockford, D., "The application/json Media Type for JavaScript Object Notation (JSON)", RFC 4627, July 2006.

[RFC4627] Crockford、D。、「JavaScript Object Notation(JSON)のアプリケーション/ jsonメディアタイプ」、RFC 4627、2006年7月。

[RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", STD 68, RFC 5234, January 2008.

[RFC5234] Crocker、D。およびP. Overell、「構文仕様の拡張BNF:ABNF」、STD 68、RFC 5234、2008年1月。

[RFC5646] Phillips, A. and M. Davis, "Tags for Identifying Languages", BCP 47, RFC 5646, September 2009.

[RFC5646] Phillips、A。およびM. Davis、「Tags for Identificationing Languages」、BCP 47、RFC 5646、2009年9月。

[RFC6350] Perreault, S., "vCard Format Specification", RFC 6350, August 2011.

[RFC6350] Perreault、S。、「vCard Format Specification」、RFC 6350、2011年8月。

[RFC6868] Daboo, C., "Parameter Value Encoding in iCalendar and vCard", RFC 6868, February 2013.

[RFC6868] Daboo、C。、「iCalendarとvCardのパラメータ値エンコーディング」、RFC 6868、2013年2月。

9.2. Informative References
9.2. 参考引用

[JCAL] Kewisch, P., Daboo, C., and M. Douglass, "jCal: The JSON format for iCalendar", Work in Progress, December 2013.

[JCAL] Kewisch、P.、Daboo、C.、M。Douglass、「jCal:The JSON format for iCalendar」、Work in Progress、2013年12月。

[RFC5545] Desruisseaux, B., "Internet Calendaring and Scheduling Core Object Specification (iCalendar)", RFC 5545, September 2009.

[RFC5545] Desruisseaux、B。、「Internet Calendaring and Scheduling Core Object Specification(iCalendar)」、RFC 5545、2009年9月。

[RFC6321] Daboo, C., Douglass, M., and S. Lees, "xCal: The XML Format for iCalendar", RFC 6321, August 2011.

[RFC6321] Daboo、C.、Douglass、M。、およびS. Lees、「xCal:The XML Format for iCalendar」、RFC 6321、2011年8月。

[RFC6351] Perreault, S., "xCard: vCard XML Representation", RFC 6351, August 2011.

[RFC6351] Perreault、S。、「xCard:vCard XML表現」、RFC 6351、2011年8月。

[calconnect-artifacts] The Calendaring and Scheduling Consortium, "Code Artifacts and Schemas", <http://www.calconnect.org/artifacts.shtml>.

[calconnect-artifacts] Calendaring and Scheduling Consortium、「Code Artifacts and Schemas」、<http://www.calconnect.org/artifacts.shtml>。

Appendix A. ABNF Syntax
付録A. ABNF構文

Below is the ABNF syntax as per [RFC5234] for vCard in JSON. ABNF symbols not described here are taken from [RFC4627]. The syntax is non-normative and given for reference only.

以下は、JSONのvCardの[RFC5234]によるABNF構文です。ここで説明されていないABNFシンボルは、[RFC4627]から取得されます。構文は非規範的であり、参照用にのみ提供されています。

The numeric section numbers given in the comments refer to sections in [RFC6350]. Additional semantic restrictions apply, especially regarding the allowed properties and subcomponents per component. Details on these restrictions can be found in this document and [RFC6350].

コメントに記載されている数値のセクション番号は、[RFC6350]のセクションを参照しています。特に許可されたプロパティとコンポーネントごとのサブコンポーネントに関して、追加の意味上の制限が適用されます。これらの制限の詳細は、このドキュメントと[RFC6350]にあります。

Additional ABNF syntax may be available on the Internet at [calconnect-artifacts].

追加のABNF構文は、インターネットの[calconnect-artifacts]で入手できる場合があります。

   ; A jCard object uses the name "vcard" and a properties array.
   ; Restrictions to which properties may be specified are to
   ; be taken from RFC 6350.
   jcardobject = begin-array
                 DQUOTE component-name DQUOTE value-separator
                 properties-array
                 end-array
        

; A jCard property consists of the name string, parameters object, ; type string, and one or more values as specified in this document. property = begin-array DQUOTE property-name DQUOTE value-separator params-object value-separator DQUOTE type-name DQUOTE property-value *(value-separator property-value) end-array properties-array = begin-array [ property *(value-separator property) ] end-array

; jCardプロパティは、名前文字列、パラメータオブジェクト、で構成されます。タイプ文字列、およびこのドキュメントで指定されている1つ以上の値。 property = begin-array DQUOTE property-name DQUOTE value-separator params-object value-separator DQUOTE type-name DQUOTE property-value *(value-separator property-value)end-array properties-array = begin-array [property *( value-separator property)] end-array

   ; Property values depend on the type-name. Aside from the value types
   ; mentioned here, extensions may make use of other JSON value types.
   property-value = simple-prop-value / structured-prop-value
   simple-prop-value = string / number / true / false
   structured-prop-value =
       begin-array
       [ structured-element *(value-separator structured-element) ]
       end-array
        

; Each structured element may have multiple values if ; semantically allowed. structured-element = simple-prop-value / structured-multi-prop structured-multi-prop = begin-array [ simple-prop-value *(value-separator simple-prop-value) ] end-array

;各構造化要素は、次の場合に複数の値を持つ場合があります。意味的に許可されています。構造化された要素=単純なプロパティ値/構造化されたマルチプロップ構造化されたマルチプロップ=開始配列[単純なプロパティ値*(値セパレータ単純なプロパティ値)]終了配列

; The jCard params-object is a JSON object that follows the semantic ; guidelines described in this document. params-object = begin-object [ params-member *(value-separator params-member) ] end-object params-member = DQUOTE param-name DQUOTE name-separator param-value param-value = string / param-multi param-multi = begin-array [ string *(value-separator string) ] end-array

; jCard params-objectは、セマンティックに従うJSONオブジェクトです。このドキュメントで説明されているガイドライン。 params-object = begin-object [params-member *(value-separator params-member)] end-object params-member = DQUOTE param-name DQUOTE name-separator param-value param-value = string / param-multi param- multi = begin-array [string *(value-separator string)] end-array

   ; The type MUST be a valid type as described by this document. New
   ; value types can be added by extensions.
   type-name = "text" / "uri" / "date" / "time" / "date-time" /
               "boolean" / "integer" / "float" / "utc-offset" /
               "language-tag" / x-type
        
   ; Property, parameter, and type names MUST be lowercase. Additional
   ; semantic restrictions apply as described by this document and
   ; RFC 6350.
   component-name = lowercase-name
   property-name = lowercase-name
   param-name = lowercase-name
   x-type = lowercase-name
   lowercase-name = 1*(%x61-7A / DIGIT / "-")
        
Appendix B. Examples
付録B.例

This section contains an example of a vCard object with its jCard representation.

このセクションには、jCard表現を持つvCardオブジェクトの例が含まれています。

B.1. Example: vCard of the Author of RFC 6350
B.1. 例:RFC 6350の作成者のvCard
B.1.1. vCard Data
B.1.1. vCardデータ
   BEGIN:VCARD
   VERSION:4.0
   FN:Simon Perreault
   N:Perreault;Simon;;;ing. jr,M.Sc.
   BDAY:--0203
   ANNIVERSARY:20090808T1430-0500
   GENDER:M
   LANG;PREF=1:fr
   LANG;PREF=2:en
   ORG;TYPE=work:Viagenie
   ADR;TYPE=work:;Suite D2-630;2875 Laurier;
    Quebec;QC;G1V 2M2;Canada
   TEL;VALUE=uri;TYPE="work,voice";PREF=1:tel:+1-418-656-9254;ext=102
   TEL;VALUE=uri;TYPE="work,cell,voice,video,text":tel:+1-418-262-6501
   EMAIL;TYPE=work:simon.perreault@viagenie.ca
   GEO;TYPE=work:geo:46.772673,-71.282945
   KEY;TYPE=work;VALUE=uri:
    http://www.viagenie.ca/simon.perreault/simon.asc
   TZ:-0500
   URL;TYPE=home:http://nomis80.org
   END:VCARD
        
B.1.2. jCard Data
B.1.2. jCardデータ
   ["vcard",
     [
       ["version", {}, "text", "4.0"],
       ["fn", {}, "text", "Simon Perreault"],
       ["n",
         {},
         "text",
         ["Perreault", "Simon", "", "", ["ing. jr", "M.Sc."]]
       ],
       ["bday", {}, "date-and-or-time", "--02-03"],
       ["anniversary",
         {},
         "date-and-or-time",
         "2009-08-08T14:30:00-05:00"
       ],
       ["gender", {}, "text", "M"],
       ["lang", { "pref": "1" }, "language-tag", "fr"],
       ["lang", { "pref": "2" }, "language-tag", "en"],
       ["org", { "type": "work" }, "text", "Viagenie"],
       ["adr",
          { "type": "work" },
          "text",
          [
           "",
           "Suite D2-630",
           "2875 Laurier",
           "Quebec",
           "QC",
           "G1V 2M2",
           "Canada"
          ]
       ],
        
       ["tel",
         { "type": ["work", "voice"], "pref": "1" },
         "uri",
         "tel:+1-418-656-9254;ext=102"
       ],
       ["tel",
         { "type": ["work", "cell", "voice", "video", "text"] },
         "uri",
         "tel:+1-418-262-6501"
       ],
       ["email",
         { "type": "work" },
         "text",
         "simon.perreault@viagenie.ca"
       ],
       ["geo", { "type": "work" }, "uri", "geo:46.772673,-71.282945"],
       ["key",
         { "type": "work" },
         "uri",
         "http://www.viagenie.ca/simon.perreault/simon.asc"
       ],
       ["tz", {}, "utc-offset", "-05:00"],
       ["url", { "type": "home" }, "uri", "http://nomis80.org"]
     ]
   ]
        

Author's Address

著者のアドレス

Philipp Kewisch Mozilla Corporation 650 Castro Street, Suite 300 Mountain View, CA 94041 USA

Philipp Kewisch Mozilla Corporation 650 Castro Street、Suite 300 Mountain View、CA 94041 USA

   EMail: mozilla@kewis.ch
   URI:   http://www.mozilla.org/