Network Working Group Frank Dawson, Lotus Internet Draft Surendra Reddy, Oracle The "b64bin" element type is used to include the binary content within the XML document, after first character encoding the binary information using the BASE64 encoding method of [RFC 2146]. For example, the following XML snippets would be needed to include the executable "foo.exe" in the "attach" element type; after first BASE64 encoding the binary information: MIICajCC AdOgAwIBAgICBEUwDQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05l dHNjYXBlIENvbW11bmljYXRpb25z...and soon...IENvcnBvc== Dawson, Reddy, Royer 6 Expires July 1999 Internet Draft iCalendar DTD Document February 20, 1999 2.6 Including Multiple iCalendar Objects The iCalendar format has the capability for including multiple, individual iCalendar objects in a single data stream. The XML encoding can support this also. Individual iCalendar objects are specified by the "iCal" element type. One or more "iCal" element types are permitted within the parent element type, called "iCalendar". The "annotation" attribute can be specified on the "iCalendar" element type to provide explanatory text. The attribute has no iCalendar semantics. For example: 2.11 Namespace [NSPACE] defines "XML name-spaces" to be a collection of names, identified by a URI, which are used in XML documents as element types and attribute names. The [XML] specification does not include a definition for names-spaces, but does set down some guidelines for experimental naming of name-spaces. XML name-spaces allow multiple markup vocabulary in a single document. Considering the utility of the iCalendar properties in other applications, it is important for the iCalendar XML DTD to define a name-space for the iCalendar element types. This memo includes the experimental definition of both a name for the qualified iCalendar name-space and also a default iCalendar name- space. The name-space declaration is specified by attributes on the "iCal" element. The default name-space is specified with the "xmlns" attribute and the qualified name-space is specified with the "xmlns:iCal" attribute. The default name-space attribute is useful in XML documents that are based on the iCalendar document types. The qualified name-space is useful in XML documents that partially consist of iCalendar elements types but also consist of element types from other schemas. The following is an example of the iCalendar name-space declaration using the qualified name-space: Dawson, Reddy, Royer 12 Expires July 1999 Internet Draft iCalendar DTD Document February 20, 1999 The following is an example of an iCalendar name-space declaration using the default name-space: 2.12 Emailing the iCalendar XML Encoding It is expected that iCalendar XML documents will need to be sent over SMTP/MIME email. The "text/xml" and "application/xml" content-types have been registered for XML documents. However, use of these content-type definitions present some problems for XML applications such as calendaring and scheduling. The "text/xml" and "application/xml" content-type definitions do not provide for any header field parameters to identify the type of XML document contained in the MIME entity. This means that a recipient mail user agent must (MUA) open up each "text/xml" or "application/xml" content in order to determine what object handler is needed to process the information. To a MUA, all XML documents look like just plain "text/xml" or "application/xml" content. Additionally, it is accepted practice for a MUA to provide iconic feedback to the user for individual content-types that are supported by the MUA. For example, not only would feedback be provided for a calendaring and scheduling content. Some further unique identification would also be provided for each different scheduling message; such as a meeting invitation, response to an invitation, reschedule notice, cancellation notice, etc. In such cases, acceptable performance by the MUA is dependent on the existence of header field information, such as it provided in the definition of the "text/calendar" content-type by [RFC 2445]. Pending the updates to the definition of the XML content-type specification, it is RECOMMENDED that applications supporting this memo identify iCalendar XML documents with the content-type "text/xmlical". The content-type header field SHOULD also contain a "component" and "method" parameter to clearly identify a comma- Dawson, Reddy, Royer 13 Expires July 1999 Internet Draft iCalendar DTD Document February 20, 1999 separated list of components and the singular method used in the iCalendar XML document. For example, an iCalendar XML document specifying a REQUEST for a VEVENT and VTODO would be specified with the following content-type header field: content-type:text/xmlical ;method=REQUEST ;component=VEVENT,VTODO The XML application receiving the iCalendar XML document MUST be able to receive and properly process the "text/xmlical" document contained within a "multipart" message content-type. 2.13 iCalendar XML Encoding and File Systems The iCalendar XML documents will be stored in file systems. The accepted practice for file extensions for XML documents is the text "XML". However, in order to uniquely identify iCalendar XML documents for file association with applications that can directly process this document type, it is RECOMMENDED that the file extension be the text "XCS". 3 Example Usage The following sections provide various examples of iCalendar XML documents. 3.1 A well-formed and valid iCalendar XML document The following is a simple example of a iCalendar XML document. This document is both a well-formed and valid XML document. The iCalendar object specifies an appointment. 19981116T150000@cal10.host.com 19981116T145958Z Project XYZ Review Conference Room 23A 19981116T163000Z 19981116T190000Z Appointment Dawson, Reddy, Royer 14 Expires July 1999 Internet Draft iCalendar DTD Document February 20, 1999 3.2 Adding non-standard extensions The following is an example of a valid iCalendar XML document that also includes a non-standard extension, as provided for by [RFC 2445]. The iCalendar object specifies the publication of a to-do with a non-standard property for a customer charge code. ]> 19981104T130000@cal1.host.com 19981104T125957Z 19981105T133000Z 19981106T133000Z Draft a test plan 1998-ABC Corp-1234 1 3.3 Including binary content in attachments The following is an example of a valid iCalendar XML document that also includes an external reference to an attachment. The iCalendar object specifies a meeting invitation with an attachment. ]> Dawson, Reddy, Royer 15 Expires July 1999 Internet Draft iCalendar DTD Document February 20, 1999 19981211T133000@cal1.host.com 19981211T132928Z jim@host.com 19981212T150000Z 19981212T160000Z Department Meeting Conference Room 23A jim@host.com MAILTO:joe@host.com MAILTO:steve@host.com The following is an example of a well-formed and valid iCalendar XML document that includes an attachment as inline binary content. The iCalendar object specifies a meeting invitation with an attachment. 19981211T133000@cal1.host.com 19981211T132928Z MAILTO:jim@host.com 19981212T150000Z 19981212T160000Z Department Meeting Conference Room 23A MAILTO:jim@host.com MAILTO:joe@host.com MAILTO:steve@host.com MIICajCCAdOgAwIBAgI CBEUwDQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXB lIEjYXRpb25z...and so on...IENvcnBvc== 3.4 iCalendar XML document with multiple iCalendar objects The following is an example of a well-formed and valid iCalendar XML document that includes more than one iCalendar object. Dawson, Reddy, Royer 16 Expires July 1999 Internet Draft iCalendar DTD Document February 20, 1999 19981009T233000@cal1.host.com 19981009T232928Z 19981010T000000Z 19981010T235959Z Register for conference 2 19981009T233010@cal1.host.com 19981009T233000Z 19981120T133000Z 19981122T183000Z IT Conference Downtowner Hotel 3.5 Using the iCalendar name-space The following is an example of a snippet of a XML document that declares the iCalendar name-space as it's default name-space. The following is an example of a snippet of a XML document that includes elements from the iCalendar name-space. 19981123T133000Z 19981123T203000Z 1234567 999.99 Dawson, Reddy, Royer 17 Expires July 1999 Internet Draft iCalendar DTD Document February 20, 1999 3.6 Publish meeting information The following is a snippet of an iCalendar XML document that publishes information about a meeting. The "method" attribute isn't specified since it is the default value. 19970901T130000Z-123401@host.com 19970901T130000Z 19970903T163000Z 19970903T190000Z Annual Employee Review PRIVATE Business Human Resources 3.7 Publish transparent annual event The following is a snippet of an iCalendar XML document that publishes information about an annually repeating event that is transparent to busy time searches. 19990101T125957Z-123403@host.com 19990101T130000Z 19991102 19991102 Our Blissful Anniversary CONFIDENTIAL Anniversary Personal Special Occasion FREQ=YEARLY TRANSPARENT Dawson, Reddy, Royer 18 Expires July 1999 Internet Draft iCalendar DTD Document February 20, 1999 3.8 Meeting invitation The following is a snippet of an iCalendar XML document that specifies an invitation for a meeting. The meeting occurs on the first Monday of each year for five years. 19981220T130000Z-123403@host.com 19981220T130050Z MAILTO:corprel@host.com 19990104T140000Z 19990104T220000Z Annual Stockholders Meeting Room AUD1,One Corporate Drive, Wilmington, DL MAILTO:mrbig@host.com MAILTO:stockholders@host.com Business Meeting Special Occasion FREQ=YEARLY;COUNT=5;BYDAY=1MO 3.9 Assign a to-do The following is a snippet of an iCalendar XML document that assigns a to-do. 19990104T133402@ical1.host.com 19990104T133410Z 19990104 19990129 MAILTO:dboss@host.com Periodic Self Review Complete your self review. Contact me if you questions. 1 CONFIDENTIAL MAILTO:dilbert@host.com Dawson, Reddy, Royer 19 Expires July 1999 Internet Draft iCalendar DTD Document February 20, 1999 3.10 Publish a journal entry The following is a snippet of an iCalendar XML document that publishes a journal entry. 19990104T170003@ical1.host.com 19990104T170001Z 19990104 MAILTO:corprel@host.com PUBLIC Annual Report Business Year end report for Worldwide Calendar Company

The complete report can be found at the Corporate website. http://www.host.com/annualreport
3.11 Publish busy time The following is a snippet of an iCalendar XML document that publishes busy time information. The default value for the "method" attribute is "PUBLISH" and does not need to be specified in this example. 19980313T133000@ical1.host.com 19990104T133010Z MAILTO:jsmith@host.com 19980313T141711Z 19980410T141711Z 19980314T233000Z/19980315T003000Z 19980316T153000Z/19980316T163000Z 19980318T030000Z/19980318T040000Z http://www.host.com/calendar/busytime/jsmith.ifb 3.12 Request busy time The following is a snippet of an iCalendar XML document that requests a calendar user's busy time information. Dawson, Reddy, Royer 20 Expires July 1999 Internet Draft iCalendar DTD Document February 20, 1999 19970901T083000@ical1.host.com 19970901T083000Z MAILTO:jane_doe@host1.com 19971015T050000Z 19971016T050000Z MAILTO:john_public@host2.com 3.13 Response to a busy time request The following is a snippet of an iCalendar XML document that responds to request for busy time information. 19970901T083000@ical1.host.com 19970901T100000Z MAILTO:jane_doe@host1.com MAILTO:john_public@host2.com 19971015T050000Z/PT8H30M, 19971015T160000Z/PT5H30M,19971015T223000Z/PT6H30M http://host2.com/pub/busy/jpublic-01.ifb 3.14 Published event that references time zone information The following is a snippet of an iCalendar XML document that publishes calendar information about an event that includes date/time values that reference a time zone definition. US-Eastern 19981025T020000 19981025T020000 -0400 0500 EST Dawson, Reddy, Royer 21 Expires July 1999 Internet Draft iCalendar DTD Document February 20, 1999 19990404T020000 19990404T020000 -0500 -0400 EDT 19980309T231000Z guid-1.host1.com 19980312T083000 19980312T093000 MAILTO:mrbig@host.com Project XYZ Review Meeting Meeting PUBLIC XYZ Project Review 1CP Conference Room 4350 MAILTO:employee-@host.com 3.15 An event with an alarm The following is a snippet of an iCalendar XML with associated alarms. The event specifies alarm definitions for a "display", "audio", "email" and "procedure" type of alarms. The "method" attribute isn't specified since it is the default value. ]> 19990104T130000@host.com 19990104T130100Z 19990704T230000Z 19970705T040000Z Firework Celebration Dawson, Reddy, Royer 22 Expires July 1999 Internet Draft iCalendar DTD Document February 20, 1999 Holiday Special Occasion DISPLAY 19990704T224500Z 2 PT15M Firework Celebration Tonight at 6 PM !!! AUDIO 19990704T224500Z 2 PT15M EMAIL MAILTO:PIN1234@pager.host.com 19990704T224500Z *** Firework Celebration On TV *** Firework Celebration Tonight at 6 PM on Channel 6!!! PROCEDURE 19990704T230000Z 4 iCalendar XML Document Type Definition The following DTD conforms to XML version 1.0, as specified by [XML]. Dawson, Reddy, Royer 24 Expires July 1999 Internet Draft iCalendar DTD Document February 20, 1999 Dawson, Reddy, Royer 25 Expires July 1999 Internet Draft iCalendar DTD Document February 20, 1999 Dawson, Reddy, Royer 27 Expires July 1999 Internet Draft iCalendar DTD Document February 20, 1999 Dawson, Reddy, Royer 28 Expires July 1999 Internet Draft iCalendar DTD Document February 20, 1999 Dawson, Reddy, Royer 29 Expires July 1999 Internet Draft iCalendar DTD Document February 20, 1999 Dawson, Reddy, Royer 30 Expires July 1999 Internet Draft iCalendar DTD Document February 20, 1999 Dawson, Reddy, Royer 31 Expires July 1999 Internet Draft iCalendar DTD Document February 20, 1999 5 RFC 2445 iCalendar Format Notation A XML document can reference an external non-XML entity containing an iCalendar object, as specified by [RFC 2445]. An iCalendar object, as encoded in the standard, non-XML format can be referenced as an external entity reference. The external entity reference will identify the [RFC 2445] format in a notation declaration. The [RFC 2445] format is identified by the formal public identifier "- //IETF//NOTATION iCalendar RFC2445//EN", as defined in [FPI]. 5.1 XML document reference to a non-XML iCalendar object The following is an example of a XML document that references a non- XML entity containing an iCalendar object in the standard format defined by [RFC 2445]. This example shows how existing iCalendar objects can be integrated into XML documents using the XML structure defined in this document. ]> 6 Acknowledgments The following have participated in the drafting and discussion of this memo: Greg FitzPatrick, Charles Goldfarb, Paul Hoffman, Lisa Lippert, Thomas Rowe. 7 Security Considerations Security issues are not currently discussed in this memo. 8 Bibliography [FPI] F. Dawson, "iCalendar Formal Public Identifier", Internet Draft, http://www.internic.net/internet-drafts/draft-calsch-icalfpi- 00.txt, September 1998. [ISO9070] "Information Technology_SGML Support Facilities_ Registration Procedures for Public Text Owner Identifiers", ISO/IEC 9070, Second Edition, International Organization for Standardization, April, 1991. [RFC 2045] N. Freed, N. Borenstein, "Multipurpose Internet Mail Extensions (MIME) - Part One: Format of Internet Message Bodies", RFC 2045, November 1996. [RFC 2119] S. Bradner, "Key words for use in RFCs to Indicate Requirement Levels", RFC 2119, ftp://ftp.isi.edu/in-notes/ rfc2119.txt, March 1997. [NSPACE] T. Bray, D. Hollander, A. Layman, "Namespaces in XML", http://www.w3.org/TR/1998/PR-xml-names-19981117, November 1998. [RFC 2445] F. Dawson and D. Stenerson, "Internet Calendaring and Scheduling Core Object Specification (iCalendar)", RFC 2445, ftp://ftp.isi.edu/in-notes/rfc2445.txt, November 1998. Dawson, Reddy, Royer 36 Expires July 1999 Internet Draft iCalendar DTD Document February 20, 1999 [XML] "Extensible Markup Language (XML)", Worldwid Web Consortium, http://www.w3.org/TR/1998/REC-xml-19980210, February 1998. 9 Author's Address The following address information is provided in a vCard XML DTD electronic business card, format. Frank Dawson Dawson Frank Lotus Development Corporation 6544 Battleford Drive Raleigh NC 27613-3502 USA +1-617-693-8728 +1-919-676-9515 Frank_Dawson@Lotus.com fdawson@earthlink.net Surendra K. Reddy Reddy Surendra K. Oracle Corporation M/S 6op3 500 Oracle Parkway Redwoodshores CA 94065 USA +1(650) 506 5441 +1(650) 654 6205 skreddy@us.oracle.com Doug Royer Royer Doug Sun Microsystems MS MPK17-105 Dawson, Reddy, Royer 37 Expires July 1999 Internet Draft iCalendar DTD Document February 20, 1999 901 San Antonio Road Palo Alto CA 94303-4900 USA +1(650) 786 7599 doug.royer@sun.com 10 Full Copyright Statement "Copyright (C) The Internet Society (1998).All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implmentation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works.However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process MUST be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Dawson, Reddy, Royer 38 Expires July 1999