当前位置:文档之家› vcalendar中文版

vcalendar中文版

vcalendar中文版
vcalendar中文版

2.Vcalendar

2.1 编码特性

2.1.1 vcalendar 对象

一个vcalendar数据流可以包含一个或多个vcalendar对象。一个独立的vcalendar对象由begin标志开始:

BEGIN:VCALENDAR

由END结束:

END:VCALENDAR

Vcalendar对象包含日历和日程安排实体。他们可以使event事件,也可以是todo实体。

2.1.1.1 vEvent对象

一个vEvent对象是包含calendar和scheduling属性的集合,它定义了语法:

BEGIN:vEVENT

结束:

END:vEVENT

vEvent实体不能被嵌套在另一个vEvent或者vTodo实体里。如果他们之间x需要进行相关联,可以通过定义RELATED-TO属性来实现.

2.1.1.2 vTodo对象

vTodo对象包含在vCalendar之内。语法:

BEGIN:vTODO

结束:

END:vTODO

2.1.2 属性(Property)

属性用来定义描述与vcalendar 相关的event或todo事件的个人属性。属性的语法格式如下:

PropertyName […;… PropertyParameters] ?:… PropertyValue

例如:

DTSTART:19960415T083000

“DTSTART”是起始日期/时间属性,“19960415T083000”是ISO8601定义的该属性值属性值也可以由属性参数表达式构成。例如:

DESCRIPTION;ENCODING=QUOTED-PRINTABLE:Don?t forget to order Girl=

Scout cookies from Stacey today! //Full property parameter expression

上式也可以简写成:

DESCRIPTION;QUOTED-PRINTABLE:Don?t forget to order Girl=

Scout cookies from Stacey today! //Full property parameter expression

2.1.3 分隔符(Delimiters)

2.1.4 编码(Encodings)

vCalendar默认7位编码方式。默认的编码方式可以通过使用“ENCODING”属性参数来修改。这个参数值可以是“BASE64”, “QUOTED-PRINTABLE”, 或者“8-bit”中的某一个。该参数可以用于任何属性,

2.1.5 字符集(Character Set)

默认为ASCII,默认的字符集可以通过使用“CHARSET”属性参数来改变,该参数可以用于任何属性,尽管对某些属性来说没有任何意义。

任何一个在因特网分配号码权威机构注册过的字符集都可以用这个参数来指定,例如

ISO 8859-8 or the Latin/Hebrew就可以这样指定:

DESCRIPTION;CHARSET=ISO-8859-8:...

2.1.6 语言(language)

默认为美式英语。可以用“LANGUAGE”属性参数来修改。该属性值可以参照RFC1776。例如修改为加拿大语:

SUMMARY;LANGUAGE=fr-CA:...

2.1.7 日期和时间

所有Vcalendar对象属性中的日期和时间的值,都由ISO8601规定的制式字符串表示。为防止发生时区混乱,应尽可能统一使用UTC时间,而不是当地时间。格式如下:T

例如当地时间1996年4月15日上午8:30写为:

19960415T083000

如果用UTC来写,则是:

19960415T083000Z

当日期/时间不止一个时,应当连写,并用分号隔开,例如:

19960101T090000Z; 19960201T090000Z; 19960301T090000Z; 19960401T090000Z; ...

2.1.8 持续时间(Time Duration)

持续周期的表示方法:以P开头,Y表示年,M:月;W:周;D:天数;

具体时间序列以T开头,H表示小时,M:分钟;S:秒

例如:

P2Y10M15DT10H30M20S 2年10个月15天10小时30分钟20秒

PT1H30M 1小时30分

2.1.9 属性值定位

属性值一般内嵌在属性里,但是,有些情况下,把属性值作为一个单独的实体效率是比较高的。

属性参数“V ALUE”可以覆盖属性值的“INLINE”定位。

当使用MIME email信息传递VCalendar时,属性值可以用一个包含“CONTENT-ID”或者“CID”值的独立的MIME实体来定位。另外,属性值还可以用“URL”值进行网络定位。例:A TTACH;VALUE=URL:https://www.doczj.com/doc/c86175065.html,/dir_photos/my_photo.gif

2.1.10 二进制值

vCalendar支持二进制信息

2.1.11 重复的基本语法规则

Frequency::interval::frequency modifier::end date OR duration

其中:frequency:描述重复事件的类型,如按月或者按周重复

Interval :描述重复频率,如每天或每三天等等

frequency modifier 可选项,包含频率信息

end date OR duration:end date 和duration 二选一

例子:W2 TU TH #4

W 是frequency,表示按周;2是interval 表示每两周重复一次,TU和TH分别表示周二和周四,属于频率信息,即周二周四各一次,#4是duration,表示共发生4次,周二周四加一块共8次。

2.1.11.1 按日重复规则

以“D”开头,例子:

每天一次共10次: D1 #10

每天重复一次,直到12/24/94 D1 19941224T000000Z

每隔一天,一直重复D2 #0

每隔10天,重复5次D10 #5

2.1.11.2 按周规则

以“W”开头,与日类似

每周一次共10次: W1 #10

每周重复一次,直到12/24/94 W1 19941224T000000Z

每隔一周,一直重复W2 #0

每周二、四重复,重复5周W1 TU TH #5

每隔一周的一、三、五重复,直到12/24/94为止W2 MO WE FR 19941224T000000Z 2.1.11.3 按月规则

按月重复有两种类型,一种是“by-position”,一种是“by-day”

“by-position”,描述了本月中工作日发生的位置,有两种表示方法:

1+, 2+, ... 5+,本月中第一次、第二次、、、、第五次发生

1-, 2-, ... 5- 本月中最后一次、倒数第二次、、、、、倒数第五次发生例如;2+ FR SA 表示本月第二个星期五和星期六

1- MO 本月最后一个周一

“by-position”以“MP”开头,“by-day”以“MD”开头。“LD”表示最后一天。

每月第一个周五重复,重复10次:MP1 1+ FR #10

每月第一个周五重复,直到12/24/94结束MP1 1+ FR 19941224T000000Z

每六个月一次,该月的第二个周一、二、三四、五重复,重复10次

MP6 2+ MO TU WE TH FR #10 每个月的第一天和最后一天重复,重复10次MD1 1 LD #10 or MD1 1 1- #10

每隔18个月重复一次该月第10到15天重复,重复10次MD18 10 11 12 13 14 15 #10 2.1.11.4按年规则

有两种类型“by-month”“by-day”

“by-month”以“YM”开头

“by-day”以“YD”开头

例子

每年6、7月重复,重复10次YM1 6 7 #10

三年一次,该年第1、100、200天重复,重复10次YD3 1 100 200 #10

2.1.11.5语法

{} 0 or more

[] 0 or 1

start ::= [] |

[] |

[] |

[] |

[] |

[]

digit ::= <0|1|2|3|4|5|6|7|8|9>

digits ::= {}

enddate ::= ISO 8601_date_time value(e.g., 19940712T101530Z)

interval ::=

duration ::= #

lastday ::= LD

plus ::= +

minus ::= -

daynumber ::= <1-31> [|]|

daynumberlist ::= daynumber {}

month ::= <1-12>

monthlist ::= {}

day ::= <1-366>

daylist ::= {}

occurrence ::= <1-5> | <1-5>

occurrencelist ::= {}

weekday ::=

weekdaylist ::= {}

daily ::= D []

weekly ::= W [] []

monthlybypos ::= MP [ ] []

monthlybyday ::= MD [] []

yearlybymonth ::= YM [] []

yearlybyday ::= YD [] []

2.2vCalendar属性

这里的属性赋值出现在BEGIN:VCALENDAR之后,在BEGIN:VEVENT 或者BEGIN:VTODO之前,切记

2.2.1夏令时规则Daylight Savings Rule

该属性由属性名“DAYLIGHT”标识。

2.2.2地理位置Geographic Position

属性名“GEO”

该属性描述了创建该vCalendar对象的系统所在地理位置的相关信息。该属性记录了经度和纬度。

例如:GEO:37.24,-17.87 东经37.24 南纬17.87度

2.2.3 产品标识Product Identifier

属性名“PRODID”

例:PRODID:-//ABC Corporation//NONSGML My Product//EN

2.2.4时区Time Zone

属性名TZ

该属性描述了创建该vCalendar对象的系统的时区,其属性值由ISO 8601指定。世界协调时以东为正,以西为负

例:TZ:-05

TZ:+05:30

2.2.5版本Version

属性名VERSION

例:VERSION:1.0

2.3vEvent 和vTodo 属性

2.3.1 附件Attachment

属性名ATTACH。该属性定义了vCalendar的附件对象。可以是文本,也可以是链接。例:A TTACH;VALUE=CONTENT-ID: ATTACH;VALUE=URL:file://https://www.doczj.com/doc/c86175065.html,/pub/reports/r-960812.ps

2.3.2Attendee

属性名:A TTENDEE

该属性定义了group event 或者todo 的参与者。默认值是(RFC 822)规定的地址。有以下几个参数:

ROLE :参与者在event 或者todo 里面扮演的角色role

STATUS 参与者在event 或者todo 里面参与的状况

RSVP 是否需要答复

EXPECT indicate the expectation of the attendee?s participation by the originator

ROLE 取值如下:

Description Property Value

Indicates an attendee at the event or todo参与者ATTENDEE (默认)Indicates organizer of the event, but not ORGANIZER

Owner非主人的组织者

Indicates owner of the event or todo. 主人OWNER

Indicates a delegate of another attendee. 另一参与者的代表DELEGATE

STATUS取值如下:

Description Property Value

Indicates todo was accepted by attendee ACCEPTED

Indicates event or todo requires action by attendee NEEDS ACTION Indicates event or todo was sent out to attendee SENT

Indicates event is tentatively accepted by attendee TENTATIVE

Indicates attendee has confirmed their attendance at the event CONFIRMED Indicates event or todo has been rejected by attendee DECLINED

Indicates todo has been completed by attendee COMPLETED Indicates event or todo has been delegated by the attendee to another DELEGATED 默认为NEEDS ACTION

RSVP 取值如下:

Description Property Value

Indicates a reply is requested YES

Indicates a reply is not requested. NO

默认为NO

EXPCET取值如下:

Description Property Value

Indicates request is for your information. FYI

Indicates presence is definitely required. REQUIRE

Indicates presence is being requested REQUEST

Indicates an immediate response needed. IMMEDIATE

默认为FYI

Todo 例子:

ATTENDEE;ROLE=OWNER;STATUS=COMPLETED:jsmith@https://www.doczj.com/doc/c86175065.html,

Event 例子:

ATTENDEE;ROLE=OWNER;STATUS=CONFIRMED:John Smith ATTENDEE;ROLE=A TTENDEE;STATUS=TENTATIVE:Henry Cabot ATTENDEE;ROLE=DELEGATE;STATUS=CONFIRMED:Jane Doe jdoe@https://www.doczj.com/doc/c86175065.html,

2.3.3音频提醒Audio Reminder

属性名AALARM

定义了vCalendar实体的音频提醒器。其值包括:

Run Time 运行时间提醒执行的日期和时间

Snooze Time 持续时间

Repeat Count 重复次数

Audio Content 音频内容执行提醒时的音乐

例子:

AALARM;TYPE=W A VE;V ALUE=URL:19960415T235959; ; ; file:///mmedia/taps.wav AALARM;TYPE=W A VE;V ALUE=CONTENT-ID:19960903T060000;PT15M;4;

TYPE参数:

PCM:MIME基本音乐

WA VE W A VE格式

AIFF AIFF格式

2.3.4类型Categories

属性名CA TEGORIES 定义了vCalendar实体的类型

几种可能的属性值:

APPOINTMENT

BUSINESS

EDUCA TION

HOLIDAY

MEETING

MISCELLANEOUS

PERSONAL

PHONE CALL

SICK DAY

SPECIAL OCCASION

TRA VEL

V ACATION

2.3.5类别Classification

属性名CLASS 定义了vCalendar实体存取信息的类别

Description Property Value

Indicates general, public access. PUBLIC

Indicates restricted, private access. PRIV ATE

Indicates very restricted, confidential access. CONFIDENTIAL

默认为PUBLIC

2.3.6创建日期/时间

属性名DCREATED vCalendar实体开始创建的日期和时间

例子:DCREATED:19960329T083000

2.3.7完成时间

属性名COMPLETED 实际完成日期和时间

例子:COMPLETED:19960401T235959

2.3.8描述Description

属性名DESCRIPTION 对vCalendar实体的详细描述

例子:

DESCRIPTION;ENCODING=QUOTED-PRINTABLE:Meeting to provide technical= review for “Phoenix” design. =0D=0A=

Happy Face Conference Room. Phoenix design team=

must attend this meeting. RSVP to team leader.

DESCRIPTION:Last draft of the new novel is to be completed

for the editor?s proof today.

2.3.9显示提醒Display Reminder

属性名DALARM

属性值前三项同音频提醒第四项为Display String

例子:DALARM:19960415T235000;PT5M;2;Your Taxes Are Due !!!

2.3.10截止日期/时间Due Date/Time

属性名DUE 定义了todo 完成的时间

例子:DUE:19960401T235959Z

2.3.11结束时间End Date/Time

属性名DTEND 定义了event 结束的时间

例子DTEND:19960401T235959Z

2.3.12Exception Date/Times

属性名EXDA TE 定义例外的时间日期列表

例子EXDA TE:19960402T010000Z;19960403T010000Z;19960404T010000Z

2.3.13Exception Rule 不太懂

属性名EXRULE

例子XRULE:W2 TU TH #2 // Except every other week, on Tuesday and Thursday // for 4 occurrences

XRULE:D1 #10 // Except daily for 10 occurrences

XRULE:YM1 6 7 #8 // Except yearly in June and July for 8 occurrences

2.3.14Last Modified 最后一次更新

属性名LAST-MODIFIED 指明了最后一次修改的日期和时间

例子LAST-MODIFIED:19960817T133000Z

2.3.15位置Location

属性名LOCA TION 定义了vCalendar实体的扩展位置

例子:LOCATION:Conference Room - F123, Bldg. 002 // or

LOCATION;V ALUE=URL;TYPE=VCARD:https://www.doczj.com/doc/c86175065.html,/~jsmith.vcf

2.3.16邮件提醒Mail Reminder

属性名MALARM

属性值:Run Time;Snooze Time;Repeat Count;Email Address;Note。

例子:MALARM:19960416T000000;PT1H;24;IRS@https://www.doczj.com/doc/c86175065.html,;The Check Is In The Mail! 2.3.17Number Recurrences 重复次数

属性名:RNUM 定义了calendar entry 将要重复的次数

例子:RNUM:3

2.3.18优先级Priority

属性名PRIORITY

例子PRIORITY:2

2.3.19程序提醒Procedure Reminder

属性名PALARM

属性值Run Time;Snooze Time;Repeat Count;Procedure Name

例子PALARM;V ALUE=URL:19960415T235000;PT5M;2;file:///myapps/shockme.exe 2.3.20Related To

属性名RELATED-TO

2.3.21重复日期/时间Recurrence Date/Times

属性名RDATE 该属性定义了一个重复vCalendar实体重复发生时间的列表

例:RDATE:19960402T010000Z;19960403T010000Z;19960404T010000Z

2.3.22重复规则Recurrence Rule

属性名RRULE 该属性定义了重复vCalendar实体的重复规则或模式

例如:

RRULE:W2 TU TH // Every other week, on Tuesday and Thursday

RRULE:D1 #10 // Daily for 10 occurrences

RRULE:YM1 6 7 #8 // Yearly in June and July for 8 occurrences

2.3.23资源Resources

属性名RESOURCES

该属性定义了vCalendar事件所需要的资源

属性值如下:CA TERING、CHAIRS、COMPUTER、PROJECTOR、EASEL、

OVERHEAD、PROJECTOR、SPEAKER PHON、TABLE、TV、VCR、VIDEO PHONE、VEHICLE

例:RESOURCES:EASEL;PROJECTOR;VCR

2.3.24序号Sequence Number

属性名:SEQUENCE

该属性定义了vCalendar实体被修改的次数

例如SEQUENCE:1

2.3.25启动日期/时间Start Date/Time

属性名DTSTART

该属性定义了事件启动的日期和时间

例:DTSTART:19960401T235959

2.3.26Status

属性名STA TUS

该属性定义了vCalendar实体的状况取值如下:参考ATTENDEE

Description Property Value

Indicates todo was accepted ACCEPTED

Indicates event or todo requires action NEEDS ACTION

Indicates event or todo was sent out. SENT

Indicates event is tentatively accepted TENTA TIVE

Indicates event is confirmed CONFIRMED

Indicates event or todo has been declined DECLINED

Indicates todo has been completed COMPLETED

Indicates event or todo has been delegated DELEGATED

默认值:NEEDS ACTION

2.3.27摘要Summary

属性名SUMMARY 定义了摘要或主题

例:SUMMARY:Department Party

2.3.28Time Transparency 时间透明度

属性名TRANSP

默认值为0

2.3.29Uniform Resource Locator

属性名URL 网络地址

URL:https://www.doczj.com/doc/c86175065.html,/pub/calendars/jsmith/mytime.or3

2.3.30唯一识别码Unique Identifier

属性名UID

该属性定义了vCalendar实体的全局唯一识别码

例UID:19960401-080045-4000F192713-0052

2.4Miscellaneous Properties 辅助属性

2.4.1扩展部分Extensions

可略过

2.5正式定义Formal Defination

3Internet Recommendations

3.1Recommended Practice With SMTP/MIME

3.2Text/Plain Content Type

vCalendar对象可以被包含在网络电子邮件里,下面的例子,说明了一个vCalendar对象如何嵌入到SMTP消息里去。

Date: Thr, 25 Jan 96 0932 EDT

From: john.smith@https://www.doczj.com/doc/c86175065.html,

Subject: Re: RFC822 vCalendar Example

Sender: john.smith@https://www.doczj.com/doc/c86175065.html,

To: smartin@https://www.doczj.com/doc/c86175065.html,

Message-ID:

Steve: Thanks for the call earlier today. Let?s get together

tomorrow at 8:30 AM EST to discuss your new proposal. Here is

the meeting notice for your PIM.

BEGIN:VCALENDAR

VERSION:1.0

BEGIN:VEVENT

CA TEGORIES:MEETING

STATUS:TENTATIVE

DTSTART:19960401T033000Z

DTEND:19960401T043000Z

SUMMARY:Your Proposal Review

DESCRIPTION:Steve and John to review newest proposal material CLASS:PRIV ATE

END:VEVENT

END:VCALENDAR

相关主题
文本预览
相关文档 最新文档