mirror of
https://github.com/OpenXE-org/OpenXE.git
synced 2024-11-15 20:47:15 +01:00
1193 lines
18 KiB
Plaintext
1193 lines
18 KiB
Plaintext
|
# RELAX NG Schema for iCalendar in XML
|
||
|
# Extract from RFC6321.
|
||
|
# Erratum 3042 applied.
|
||
|
# Erratum 3050 applied.
|
||
|
# Erratum 3314 applied.
|
||
|
|
||
|
default namespace = "urn:ietf:params:xml:ns:icalendar-2.0"
|
||
|
|
||
|
# 3.2 Property Parameters
|
||
|
|
||
|
# 3.2.1 Alternate Text Representation
|
||
|
|
||
|
altrepparam = element altrep {
|
||
|
value-uri
|
||
|
}
|
||
|
|
||
|
# 3.2.2 Common Name
|
||
|
|
||
|
cnparam = element cn {
|
||
|
value-text
|
||
|
}
|
||
|
|
||
|
# 3.2.3 Calendar User Type
|
||
|
|
||
|
cutypeparam = element cutype {
|
||
|
element text {
|
||
|
"INDIVIDUAL" |
|
||
|
"GROUP" |
|
||
|
"RESOURCE" |
|
||
|
"ROOM" |
|
||
|
"UNKNOWN"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
# 3.2.4 Delegators
|
||
|
|
||
|
delfromparam = element delegated-from {
|
||
|
value-cal-address+
|
||
|
}
|
||
|
|
||
|
# 3.2.5 Delegatees
|
||
|
|
||
|
deltoparam = element delegated-to {
|
||
|
value-cal-address+
|
||
|
}
|
||
|
|
||
|
# 3.2.6 Directory Entry Reference
|
||
|
|
||
|
dirparam = element dir {
|
||
|
value-uri
|
||
|
}
|
||
|
|
||
|
# 3.2.7 Inline Encoding
|
||
|
|
||
|
encodingparam = element encoding {
|
||
|
element text {
|
||
|
"8BIT" |
|
||
|
"BASE64"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
# 3.2.8 Format Type
|
||
|
|
||
|
fmttypeparam = element fmttype {
|
||
|
value-text
|
||
|
}
|
||
|
|
||
|
# 3.2.9 Free/Busy Time Type
|
||
|
|
||
|
fbtypeparam = element fbtype {
|
||
|
element text {
|
||
|
"FREE" |
|
||
|
"BUSY" |
|
||
|
"BUSY-UNAVAILABLE" |
|
||
|
"BUSY-TENTATIVE"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
# 3.2.10 Language
|
||
|
|
||
|
languageparam = element language {
|
||
|
value-text
|
||
|
}
|
||
|
|
||
|
# 3.2.11 Group or List Membership
|
||
|
|
||
|
memberparam = element member {
|
||
|
value-cal-address+
|
||
|
}
|
||
|
|
||
|
# 3.2.12 Participation Status
|
||
|
|
||
|
partstatparam = element partstat {
|
||
|
type-partstat-event |
|
||
|
type-partstat-todo |
|
||
|
type-partstat-jour
|
||
|
}
|
||
|
|
||
|
type-partstat-event = (
|
||
|
element text {
|
||
|
"NEEDS-ACTION" |
|
||
|
"ACCEPTED" |
|
||
|
"DECLINED" |
|
||
|
"TENTATIVE" |
|
||
|
"DELEGATED"
|
||
|
}
|
||
|
)
|
||
|
|
||
|
type-partstat-todo = (
|
||
|
element text {
|
||
|
"NEEDS-ACTION" |
|
||
|
"ACCEPTED" |
|
||
|
"DECLINED" |
|
||
|
"TENTATIVE" |
|
||
|
"DELEGATED" |
|
||
|
"COMPLETED" |
|
||
|
"IN-PROCESS"
|
||
|
}
|
||
|
)
|
||
|
|
||
|
type-partstat-jour = (
|
||
|
element text {
|
||
|
"NEEDS-ACTION" |
|
||
|
"ACCEPTED" |
|
||
|
"DECLINED"
|
||
|
}
|
||
|
)
|
||
|
|
||
|
# 3.2.13 Recurrence Identifier Range
|
||
|
|
||
|
rangeparam = element range {
|
||
|
element text {
|
||
|
"THISANDFUTURE"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
# 3.2.14 Alarm Trigger Relationship
|
||
|
|
||
|
trigrelparam = element related {
|
||
|
element text {
|
||
|
"START" |
|
||
|
"END"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
# 3.2.15 Relationship Type
|
||
|
|
||
|
reltypeparam = element reltype {
|
||
|
element text {
|
||
|
"PARENT" |
|
||
|
"CHILD" |
|
||
|
"SIBLING"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
# 3.2.16 Participation Role
|
||
|
|
||
|
roleparam = element role {
|
||
|
element text {
|
||
|
"CHAIR" |
|
||
|
"REQ-PARTICIPANT" |
|
||
|
"OPT-PARTICIPANT" |
|
||
|
"NON-PARTICIPANT"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
# 3.2.17 RSVP Expectation
|
||
|
|
||
|
rsvpparam = element rsvp {
|
||
|
value-boolean
|
||
|
}
|
||
|
|
||
|
# 3.2.18 Sent By
|
||
|
|
||
|
sentbyparam = element sent-by {
|
||
|
value-cal-address
|
||
|
}
|
||
|
|
||
|
# 3.2.19 Time Zone Identifier
|
||
|
|
||
|
tzidparam = element tzid {
|
||
|
value-text
|
||
|
}
|
||
|
|
||
|
# 3.3 Property Value Data Types
|
||
|
|
||
|
# 3.3.1 BINARY
|
||
|
|
||
|
value-binary = element binary {
|
||
|
xsd:string
|
||
|
}
|
||
|
|
||
|
# 3.3.2 BOOLEAN
|
||
|
|
||
|
value-boolean = element boolean {
|
||
|
xsd:boolean
|
||
|
}
|
||
|
|
||
|
# 3.3.3 CAL-ADDRESS
|
||
|
|
||
|
value-cal-address = element cal-address {
|
||
|
xsd:anyURI
|
||
|
}
|
||
|
|
||
|
# 3.3.4 DATE
|
||
|
|
||
|
pattern-date = xsd:string {
|
||
|
pattern = "\d\d\d\d-\d\d-\d\d"
|
||
|
}
|
||
|
|
||
|
value-date = element date {
|
||
|
pattern-date
|
||
|
}
|
||
|
|
||
|
# 3.3.5 DATE-TIME
|
||
|
|
||
|
pattern-date-time = xsd:string {
|
||
|
pattern = "\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\dZ?"
|
||
|
}
|
||
|
|
||
|
value-date-time = element date-time {
|
||
|
pattern-date-time
|
||
|
}
|
||
|
|
||
|
# 3.3.6 DURATION
|
||
|
|
||
|
pattern-duration = xsd:string {
|
||
|
pattern = "(+|-)?P(\d+W)|(\d+D)?"
|
||
|
~ "(T(\d+H(\d+M)?(\d+S)?)|"
|
||
|
~ "(\d+M(\d+S)?)|"
|
||
|
~ "(\d+S))?"
|
||
|
}
|
||
|
|
||
|
value-duration = element duration {
|
||
|
pattern-duration
|
||
|
}
|
||
|
|
||
|
# 3.3.7 FLOAT
|
||
|
|
||
|
value-float = element float {
|
||
|
xsd:float
|
||
|
}
|
||
|
|
||
|
# 3.3.8 INTEGER
|
||
|
|
||
|
value-integer = element integer {
|
||
|
xsd:integer
|
||
|
}
|
||
|
|
||
|
# 3.3.9 PERIOD
|
||
|
|
||
|
value-period = element period {
|
||
|
element start {
|
||
|
pattern-date-time
|
||
|
},
|
||
|
(
|
||
|
element end {
|
||
|
pattern-date-time
|
||
|
} |
|
||
|
element duration {
|
||
|
pattern-duration
|
||
|
}
|
||
|
)
|
||
|
}
|
||
|
|
||
|
# 3.3.10 RECUR
|
||
|
|
||
|
value-recur = element recur {
|
||
|
type-freq,
|
||
|
(type-until | type-count)?,
|
||
|
element interval {
|
||
|
xsd:positiveInteger
|
||
|
}?,
|
||
|
type-bysecond*,
|
||
|
type-byminute*,
|
||
|
type-byhour*,
|
||
|
type-byday*,
|
||
|
type-bymonthday*,
|
||
|
type-byyearday*,
|
||
|
type-byweekno*,
|
||
|
type-bymonth*,
|
||
|
type-bysetpos*,
|
||
|
element wkst { type-weekday }?
|
||
|
}
|
||
|
|
||
|
type-freq = element freq {
|
||
|
"SECONDLY" |
|
||
|
"MINUTELY" |
|
||
|
"HOURLY" |
|
||
|
"DAILY" |
|
||
|
"WEEKLY" |
|
||
|
"MONTHLY" |
|
||
|
"YEARLY"
|
||
|
}
|
||
|
|
||
|
type-until = element until {
|
||
|
type-date |
|
||
|
type-date-time
|
||
|
}
|
||
|
|
||
|
type-count = element count {
|
||
|
xsd:positiveInteger
|
||
|
}
|
||
|
|
||
|
type-bysecond = element bysecond {
|
||
|
xsd:nonNegativeInteger
|
||
|
}
|
||
|
|
||
|
type-byminute = element byminute {
|
||
|
xsd:nonNegativeInteger
|
||
|
}
|
||
|
|
||
|
type-byhour = element byhour {
|
||
|
xsd:nonNegativeInteger
|
||
|
}
|
||
|
|
||
|
type-weekday = (
|
||
|
"SU" |
|
||
|
"MO" |
|
||
|
"TU" |
|
||
|
"WE" |
|
||
|
"TH" |
|
||
|
"FR" |
|
||
|
"SA"
|
||
|
)
|
||
|
|
||
|
type-byday = element byday {
|
||
|
xsd:integer?,
|
||
|
type-weekday
|
||
|
}
|
||
|
|
||
|
type-bymonthday = element bymonthday {
|
||
|
xsd:integer
|
||
|
}
|
||
|
|
||
|
type-byyearday = element byyearday {
|
||
|
xsd:integer
|
||
|
}
|
||
|
|
||
|
type-byweekno = element byweekno {
|
||
|
xsd:integer
|
||
|
}
|
||
|
|
||
|
type-bymonth = element bymonth {
|
||
|
xsd:positiveInteger
|
||
|
}
|
||
|
|
||
|
type-bysetpos = element bysetpos {
|
||
|
xsd:integer
|
||
|
}
|
||
|
|
||
|
# 3.3.11 TEXT
|
||
|
|
||
|
value-text = element text {
|
||
|
xsd:string
|
||
|
}
|
||
|
|
||
|
# 3.3.12 TIME
|
||
|
|
||
|
pattern-time = xsd:string {
|
||
|
pattern = "\d\d:\d\d:\d\dZ?"
|
||
|
}
|
||
|
|
||
|
value-time = element time {
|
||
|
pattern-time
|
||
|
}
|
||
|
|
||
|
# 3.3.13 URI
|
||
|
|
||
|
value-uri = element uri {
|
||
|
xsd:anyURI
|
||
|
}
|
||
|
|
||
|
# 3.3.14 UTC-OFFSET
|
||
|
|
||
|
value-utc-offset = element utc-offset {
|
||
|
xsd:string { pattern = "(+|-)\d\d:\d\d(:\d\d)?" }
|
||
|
}
|
||
|
|
||
|
# UNKNOWN
|
||
|
|
||
|
value-unknown = element unknown {
|
||
|
xsd:string
|
||
|
}
|
||
|
|
||
|
# 3.4 iCalendar Stream
|
||
|
|
||
|
start = element icalendar {
|
||
|
vcalendar+
|
||
|
}
|
||
|
|
||
|
# 3.6 Calendar Components
|
||
|
|
||
|
vcalendar = element vcalendar {
|
||
|
type-calprops,
|
||
|
type-component
|
||
|
}
|
||
|
|
||
|
type-calprops = element properties {
|
||
|
property-prodid &
|
||
|
property-version &
|
||
|
property-calscale? &
|
||
|
property-method?
|
||
|
}
|
||
|
|
||
|
type-component = element components {
|
||
|
(
|
||
|
component-vevent |
|
||
|
component-vtodo |
|
||
|
component-vjournal |
|
||
|
component-vfreebusy |
|
||
|
component-vtimezone
|
||
|
)*
|
||
|
}
|
||
|
|
||
|
# 3.6.1 Event Component
|
||
|
|
||
|
component-vevent = element vevent {
|
||
|
type-eventprop,
|
||
|
element components {
|
||
|
component-valarm+
|
||
|
}?
|
||
|
}
|
||
|
|
||
|
type-eventprop = element properties {
|
||
|
property-dtstamp &
|
||
|
property-dtstart &
|
||
|
property-uid &
|
||
|
|
||
|
property-class? &
|
||
|
property-created? &
|
||
|
property-description? &
|
||
|
property-geo? &
|
||
|
property-last-mod? &
|
||
|
property-location? &
|
||
|
property-organizer? &
|
||
|
property-priority? &
|
||
|
property-seq? &
|
||
|
property-status-event? &
|
||
|
property-summary? &
|
||
|
property-transp? &
|
||
|
property-url? &
|
||
|
property-recurid? &
|
||
|
|
||
|
property-rrule? &
|
||
|
|
||
|
(property-dtend | property-duration)? &
|
||
|
|
||
|
property-attach* &
|
||
|
property-attendee* &
|
||
|
property-categories* &
|
||
|
property-comment* &
|
||
|
property-contact* &
|
||
|
property-exdate* &
|
||
|
property-rstatus* &
|
||
|
property-related* &
|
||
|
property-resources* &
|
||
|
property-rdate*
|
||
|
}
|
||
|
|
||
|
# 3.6.2 To-do Component
|
||
|
|
||
|
component-vtodo = element vtodo {
|
||
|
type-todoprop,
|
||
|
element components {
|
||
|
component-valarm+
|
||
|
}?
|
||
|
}
|
||
|
|
||
|
type-todoprop = element properties {
|
||
|
property-dtstamp &
|
||
|
property-uid &
|
||
|
|
||
|
property-class? &
|
||
|
property-completed? &
|
||
|
property-created? &
|
||
|
property-description? &
|
||
|
property-geo? &
|
||
|
property-last-mod? &
|
||
|
property-location? &
|
||
|
property-organizer? &
|
||
|
property-percent? &
|
||
|
property-priority? &
|
||
|
property-recurid? &
|
||
|
property-seq? &
|
||
|
property-status-todo? &
|
||
|
property-summary? &
|
||
|
property-url? &
|
||
|
|
||
|
property-rrule? &
|
||
|
|
||
|
(
|
||
|
(property-dtstart?, property-dtend? ) |
|
||
|
(property-dtstart, property-duration)?
|
||
|
) &
|
||
|
|
||
|
property-attach* &
|
||
|
property-attendee* &
|
||
|
property-categories* &
|
||
|
property-comment* &
|
||
|
property-contact* &
|
||
|
property-exdate* &
|
||
|
property-rstatus* &
|
||
|
property-related* &
|
||
|
property-resources* &
|
||
|
property-rdate*
|
||
|
}
|
||
|
|
||
|
# 3.6.3 Journal Component
|
||
|
|
||
|
component-vjournal = element vjournal {
|
||
|
type-jourprop
|
||
|
}
|
||
|
|
||
|
type-jourprop = element properties {
|
||
|
property-dtstamp &
|
||
|
property-uid &
|
||
|
|
||
|
property-class? &
|
||
|
property-created? &
|
||
|
property-dtstart? &
|
||
|
property-last-mod? &
|
||
|
property-organizer? &
|
||
|
property-recurid? &
|
||
|
property-seq? &
|
||
|
property-status-jour? &
|
||
|
property-summary? &
|
||
|
property-url? &
|
||
|
|
||
|
property-rrule? &
|
||
|
|
||
|
property-attach* &
|
||
|
property-attendee* &
|
||
|
property-categories* &
|
||
|
property-comment* &
|
||
|
property-contact* &
|
||
|
property-description? &
|
||
|
property-exdate* &
|
||
|
property-related* &
|
||
|
property-rdate* &
|
||
|
property-rstatus*
|
||
|
}
|
||
|
|
||
|
# 3.6.4 Free/Busy Component
|
||
|
|
||
|
component-vfreebusy = element vfreebusy {
|
||
|
type-fbprop
|
||
|
}
|
||
|
|
||
|
type-fbprop = element properties {
|
||
|
property-dtstamp &
|
||
|
property-uid &
|
||
|
|
||
|
property-contact? &
|
||
|
property-dtstart? &
|
||
|
property-dtend? &
|
||
|
property-duration? &
|
||
|
property-organizer? &
|
||
|
property-url? &
|
||
|
|
||
|
property-attendee* &
|
||
|
property-comment* &
|
||
|
property-freebusy* &
|
||
|
property-rstatus*
|
||
|
}
|
||
|
|
||
|
# 3.6.5 Time Zone Component
|
||
|
|
||
|
component-vtimezone = element vtimezone {
|
||
|
element properties {
|
||
|
property-tzid &
|
||
|
|
||
|
property-last-mod? &
|
||
|
property-tzurl?
|
||
|
},
|
||
|
element components {
|
||
|
(component-standard | component-daylight) &
|
||
|
component-standard* &
|
||
|
component-daylight*
|
||
|
}
|
||
|
}
|
||
|
|
||
|
component-standard = element standard {
|
||
|
type-tzprop
|
||
|
}
|
||
|
|
||
|
component-daylight = element daylight {
|
||
|
type-tzprop
|
||
|
}
|
||
|
|
||
|
type-tzprop = element properties {
|
||
|
property-dtstart &
|
||
|
property-tzoffsetto &
|
||
|
property-tzoffsetfrom &
|
||
|
|
||
|
property-rrule? &
|
||
|
|
||
|
property-comment* &
|
||
|
property-rdate* &
|
||
|
property-tzname*
|
||
|
}
|
||
|
|
||
|
# 3.6.6 Alarm Component
|
||
|
|
||
|
component-valarm = element valarm {
|
||
|
type-audioprop | type-dispprop | type-emailprop
|
||
|
}
|
||
|
|
||
|
type-audioprop = element properties {
|
||
|
property-action &
|
||
|
|
||
|
property-trigger &
|
||
|
|
||
|
(property-duration, property-repeat)? &
|
||
|
|
||
|
property-attach?
|
||
|
}
|
||
|
|
||
|
type-emailprop = element properties {
|
||
|
property-action &
|
||
|
property-description &
|
||
|
property-trigger &
|
||
|
property-summary &
|
||
|
|
||
|
property-attendee+ &
|
||
|
|
||
|
(property-duration, property-repeat)? &
|
||
|
|
||
|
property-attach*
|
||
|
}
|
||
|
|
||
|
type-dispprop = element properties {
|
||
|
property-action &
|
||
|
property-description &
|
||
|
property-trigger &
|
||
|
|
||
|
(property-duration, property-repeat)?
|
||
|
}
|
||
|
|
||
|
# 3.7 Calendar Properties
|
||
|
|
||
|
# 3.7.1 Calendar Scale
|
||
|
|
||
|
property-calscale = element calscale {
|
||
|
|
||
|
element parameters { empty }?,
|
||
|
|
||
|
element text { "GREGORIAN" }
|
||
|
}
|
||
|
|
||
|
# 3.7.2 Method
|
||
|
|
||
|
property-method = element method {
|
||
|
|
||
|
element parameters { empty }?,
|
||
|
|
||
|
value-text
|
||
|
}
|
||
|
|
||
|
# 3.7.3 Product Identifier
|
||
|
|
||
|
property-prodid = element prodid {
|
||
|
|
||
|
element parameters { empty }?,
|
||
|
|
||
|
value-text
|
||
|
}
|
||
|
|
||
|
# 3.7.4 Version
|
||
|
|
||
|
property-version = element version {
|
||
|
|
||
|
element parameters { empty }?,
|
||
|
|
||
|
element text { "2.0" }
|
||
|
}
|
||
|
|
||
|
# 3.8 Component Properties
|
||
|
|
||
|
# 3.8.1 Descriptive Component Properties
|
||
|
|
||
|
# 3.8.1.1 Attachment
|
||
|
|
||
|
property-attach = element attach {
|
||
|
|
||
|
element parameters {
|
||
|
fmttypeparam? &
|
||
|
encodingparam?
|
||
|
}?,
|
||
|
|
||
|
value-uri | value-binary
|
||
|
}
|
||
|
|
||
|
# 3.8.1.2 Categories
|
||
|
|
||
|
property-categories = element categories {
|
||
|
|
||
|
element parameters {
|
||
|
languageparam? &
|
||
|
}?,
|
||
|
|
||
|
value-text+
|
||
|
}
|
||
|
|
||
|
# 3.8.1.3 Classification
|
||
|
|
||
|
property-class = element class {
|
||
|
|
||
|
element parameters { empty }?,
|
||
|
|
||
|
element text {
|
||
|
"PUBLIC" |
|
||
|
"PRIVATE" |
|
||
|
"CONFIDENTIAL"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
# 3.8.1.4 Comment
|
||
|
|
||
|
property-comment = element comment {
|
||
|
|
||
|
element parameters {
|
||
|
altrepparam? &
|
||
|
languageparam?
|
||
|
}?,
|
||
|
|
||
|
value-text
|
||
|
}
|
||
|
|
||
|
# 3.8.1.5 Description
|
||
|
|
||
|
property-description = element description {
|
||
|
|
||
|
element parameters {
|
||
|
altrepparam? &
|
||
|
languageparam?
|
||
|
}?,
|
||
|
|
||
|
value-text
|
||
|
}
|
||
|
|
||
|
# 3.8.1.6 Geographic Position
|
||
|
|
||
|
property-geo = element geo {
|
||
|
|
||
|
element parameters { empty }?,
|
||
|
|
||
|
element latitude { xsd:float },
|
||
|
element longitude { xsd:float }
|
||
|
}
|
||
|
|
||
|
# 3.8.1.7 Location
|
||
|
|
||
|
property-location = element location {
|
||
|
|
||
|
element parameters {
|
||
|
|
||
|
altrepparam? &
|
||
|
languageparam?
|
||
|
}?,
|
||
|
|
||
|
value-text
|
||
|
}
|
||
|
|
||
|
# 3.8.1.8 Percent Complete
|
||
|
|
||
|
property-percent = element percent-complete {
|
||
|
|
||
|
element parameters { empty }?,
|
||
|
|
||
|
value-integer
|
||
|
}
|
||
|
|
||
|
# 3.8.1.9 Priority
|
||
|
|
||
|
property-priority = element priority {
|
||
|
|
||
|
element parameters { empty }?,
|
||
|
|
||
|
value-integer
|
||
|
}
|
||
|
|
||
|
# 3.8.1.10 Resources
|
||
|
|
||
|
property-resources = element resources {
|
||
|
|
||
|
element parameters {
|
||
|
altrepparam? &
|
||
|
languageparam?
|
||
|
}?,
|
||
|
|
||
|
value-text+
|
||
|
}
|
||
|
|
||
|
# 3.8.1.11 Status
|
||
|
|
||
|
property-status-event = element status {
|
||
|
|
||
|
element parameters { empty }?,
|
||
|
|
||
|
element text {
|
||
|
"TENTATIVE" |
|
||
|
"CONFIRMED" |
|
||
|
"CANCELLED"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
property-status-todo = element status {
|
||
|
|
||
|
element parameters { empty }?,
|
||
|
|
||
|
element text {
|
||
|
"NEEDS-ACTION" |
|
||
|
"COMPLETED" |
|
||
|
"IN-PROCESS" |
|
||
|
"CANCELLED"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
property-status-jour = element status {
|
||
|
|
||
|
element parameters { empty }?,
|
||
|
|
||
|
element text {
|
||
|
"DRAFT" |
|
||
|
"FINAL" |
|
||
|
"CANCELLED"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
# 3.8.1.12 Summary
|
||
|
|
||
|
property-summary = element summary {
|
||
|
|
||
|
element parameters {
|
||
|
altrepparam? &
|
||
|
languageparam?
|
||
|
}?,
|
||
|
|
||
|
value-text
|
||
|
}
|
||
|
|
||
|
# 3.8.2 Date and Time Component Properties
|
||
|
|
||
|
# 3.8.2.1 Date/Time Completed
|
||
|
|
||
|
property-completed = element completed {
|
||
|
|
||
|
element parameters { empty }?,
|
||
|
|
||
|
value-date-time
|
||
|
}
|
||
|
|
||
|
# 3.8.2.2 Date/Time End
|
||
|
|
||
|
property-dtend = element dtend {
|
||
|
|
||
|
element parameters {
|
||
|
tzidparam?
|
||
|
}?,
|
||
|
|
||
|
value-date-time |
|
||
|
value-date
|
||
|
}
|
||
|
|
||
|
# 3.8.2.3 Date/Time Due
|
||
|
|
||
|
property-due = element due {
|
||
|
|
||
|
element parameters {
|
||
|
tzidparam?
|
||
|
}?,
|
||
|
|
||
|
value-date-time |
|
||
|
value-date
|
||
|
}
|
||
|
|
||
|
# 3.8.2.4 Date/Time Start
|
||
|
|
||
|
property-dtstart = element dtstart {
|
||
|
|
||
|
element parameters {
|
||
|
tzidparam?
|
||
|
}?,
|
||
|
|
||
|
value-date-time |
|
||
|
value-date
|
||
|
}
|
||
|
|
||
|
# 3.8.2.5 Duration
|
||
|
|
||
|
property-duration = element duration {
|
||
|
|
||
|
element parameters { empty }?,
|
||
|
|
||
|
value-duration
|
||
|
}
|
||
|
|
||
|
# 3.8.2.6 Free/Busy Time
|
||
|
|
||
|
property-freebusy = element freebusy {
|
||
|
|
||
|
element parameters {
|
||
|
fbtypeparam?
|
||
|
}?,
|
||
|
|
||
|
|
||
|
value-period+
|
||
|
}
|
||
|
|
||
|
# 3.8.2.7 Time Transparency
|
||
|
|
||
|
property-transp = element transp {
|
||
|
|
||
|
element parameters { empty }?,
|
||
|
|
||
|
element text {
|
||
|
"OPAQUE" |
|
||
|
"TRANSPARENT"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
# 3.8.3 Time Zone Component Properties
|
||
|
|
||
|
# 3.8.3.1 Time Zone Identifier
|
||
|
|
||
|
property-tzid = element tzid {
|
||
|
|
||
|
element parameters { empty }?,
|
||
|
|
||
|
value-text
|
||
|
}
|
||
|
|
||
|
# 3.8.3.2 Time Zone Name
|
||
|
|
||
|
property-tzname = element tzname {
|
||
|
|
||
|
element parameters {
|
||
|
languageparam?
|
||
|
}?,
|
||
|
|
||
|
value-text
|
||
|
}
|
||
|
|
||
|
# 3.8.3.3 Time Zone Offset From
|
||
|
|
||
|
property-tzoffsetfrom = element tzoffsetfrom {
|
||
|
|
||
|
element parameters { empty }?,
|
||
|
|
||
|
value-utc-offset
|
||
|
}
|
||
|
|
||
|
# 3.8.3.4 Time Zone Offset To
|
||
|
|
||
|
property-tzoffsetto = element tzoffsetto {
|
||
|
|
||
|
element parameters { empty }?,
|
||
|
|
||
|
value-utc-offset
|
||
|
}
|
||
|
|
||
|
# 3.8.3.5 Time Zone URL
|
||
|
|
||
|
property-tzurl = element tzurl {
|
||
|
|
||
|
element parameters { empty }?,
|
||
|
|
||
|
value-uri
|
||
|
}
|
||
|
|
||
|
# 3.8.4 Relationship Component Properties
|
||
|
|
||
|
# 3.8.4.1 Attendee
|
||
|
|
||
|
property-attendee = element attendee {
|
||
|
|
||
|
element parameters {
|
||
|
cutypeparam? &
|
||
|
memberparam? &
|
||
|
roleparam? &
|
||
|
partstatparam? &
|
||
|
rsvpparam? &
|
||
|
deltoparam? &
|
||
|
delfromparam? &
|
||
|
sentbyparam? &
|
||
|
cnparam? &
|
||
|
dirparam? &
|
||
|
languageparam?
|
||
|
}?,
|
||
|
|
||
|
value-cal-address
|
||
|
}
|
||
|
|
||
|
# 3.8.4.2 Contact
|
||
|
|
||
|
property-contact = element contact {
|
||
|
|
||
|
element parameters {
|
||
|
altrepparam? &
|
||
|
languageparam?
|
||
|
}?,
|
||
|
|
||
|
value-text
|
||
|
}
|
||
|
|
||
|
# 3.8.4.3 Organizer
|
||
|
|
||
|
property-organizer = element organizer {
|
||
|
|
||
|
element parameters {
|
||
|
cnparam? &
|
||
|
dirparam? &
|
||
|
sentbyparam? &
|
||
|
languageparam?
|
||
|
}?,
|
||
|
|
||
|
value-cal-address
|
||
|
}
|
||
|
|
||
|
# 3.8.4.4 Recurrence ID
|
||
|
|
||
|
property-recurid = element recurrence-id {
|
||
|
|
||
|
element parameters {
|
||
|
tzidparam? &
|
||
|
rangeparam?
|
||
|
}?,
|
||
|
|
||
|
value-date-time |
|
||
|
value-date
|
||
|
}
|
||
|
|
||
|
# 3.8.4.5 Related-To
|
||
|
|
||
|
property-related = element related-to {
|
||
|
|
||
|
element parameters {
|
||
|
reltypeparam?
|
||
|
}?,
|
||
|
|
||
|
value-text
|
||
|
}
|
||
|
|
||
|
# 3.8.4.6 Uniform Resource Locator
|
||
|
|
||
|
property-url = element url {
|
||
|
|
||
|
element parameters { empty }?,
|
||
|
|
||
|
value-uri
|
||
|
}
|
||
|
|
||
|
# 3.8.4.7 Unique Identifier
|
||
|
|
||
|
property-uid = element uid {
|
||
|
|
||
|
element parameters { empty }?,
|
||
|
|
||
|
value-text
|
||
|
}
|
||
|
|
||
|
# 3.8.5 Recurrence Component Properties
|
||
|
|
||
|
# 3.8.5.1 Exception Date/Times
|
||
|
|
||
|
property-exdate = element exdate {
|
||
|
|
||
|
element parameters {
|
||
|
tzidparam?
|
||
|
}?,
|
||
|
|
||
|
value-date-time+ |
|
||
|
value-date+
|
||
|
}
|
||
|
|
||
|
# 3.8.5.2 Recurrence Date/Times
|
||
|
|
||
|
property-rdate = element rdate {
|
||
|
|
||
|
element parameters {
|
||
|
tzidparam?
|
||
|
}?,
|
||
|
|
||
|
value-date-time+ |
|
||
|
value-date+ |
|
||
|
value-period+
|
||
|
}
|
||
|
|
||
|
# 3.8.5.3 Recurrence Rule
|
||
|
|
||
|
property-rrule = element rrule {
|
||
|
|
||
|
element parameters { empty }?,
|
||
|
|
||
|
value-recur
|
||
|
}
|
||
|
|
||
|
# 3.8.6 Alarm Component Properties
|
||
|
|
||
|
# 3.8.6.1 Action
|
||
|
|
||
|
property-action = element action {
|
||
|
|
||
|
element parameters { empty }?,
|
||
|
|
||
|
element text {
|
||
|
"AUDIO" |
|
||
|
"DISPLAY" |
|
||
|
"EMAIL"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
# 3.8.6.2 Repeat Count
|
||
|
|
||
|
property-repeat = element repeat {
|
||
|
|
||
|
element parameters { empty }?,
|
||
|
|
||
|
value-integer
|
||
|
}
|
||
|
|
||
|
# 3.8.6.3 Trigger
|
||
|
|
||
|
property-trigger = element trigger {
|
||
|
|
||
|
(
|
||
|
element parameters {
|
||
|
trigrelparam?
|
||
|
}?,
|
||
|
|
||
|
value-duration
|
||
|
) |
|
||
|
(
|
||
|
element parameters { empty }?,
|
||
|
|
||
|
value-date-time
|
||
|
)
|
||
|
}
|
||
|
|
||
|
# 3.8.7 Change Management Component Properties
|
||
|
|
||
|
# 3.8.7.1 Date/Time Created
|
||
|
|
||
|
property-created = element created {
|
||
|
|
||
|
element parameters { empty }?,
|
||
|
|
||
|
value-date-time
|
||
|
}
|
||
|
|
||
|
# 3.8.7.2 Date/Time Stamp
|
||
|
|
||
|
property-dtstamp = element dtstamp {
|
||
|
|
||
|
element parameters { empty }?,
|
||
|
|
||
|
value-date-time
|
||
|
}
|
||
|
|
||
|
# 3.8.7.3 Last Modified
|
||
|
|
||
|
property-last-mod = element last-modified {
|
||
|
|
||
|
element parameters { empty }?,
|
||
|
|
||
|
value-date-time
|
||
|
}
|
||
|
|
||
|
# 3.8.7.4 Sequence Number
|
||
|
|
||
|
property-seq = element sequence {
|
||
|
|
||
|
element parameters { empty }?,
|
||
|
|
||
|
value-integer
|
||
|
}
|
||
|
|
||
|
# 3.8.8 Miscellaneous Component Properties
|
||
|
|
||
|
# 3.8.8.3 Request Status
|
||
|
|
||
|
property-rstatus = element request-status {
|
||
|
|
||
|
element parameters {
|
||
|
languageparam?
|
||
|
}?,
|
||
|
|
||
|
element code { xsd:string },
|
||
|
element description { xsd:string },
|
||
|
element data { xsd:string }?
|
||
|
}
|