From: http://www.ietf.org/internet-drafts/draft-dawson-ical-xml-dtd-01.txt Title: The iCalendar XML DTD Reference: IETF Network Working Group, Internet Draft 'draft-dawson-ical-xml-dtd-01' Date: December 4, 1998 I-D Tracker: http://ietfreport.isoc.org/idref/draft-dawson-ical-xml-dtd/ Tools: http://tools.ietf.org/html/draft-dawson-ical-xml-dtd-01 (HTML) Diff with version -00: http://tools.ietf.org/rfcdiff?url2=draft-dawson-ical-xml-dtd-01.txt --------------------------------------------------------------------------- Network Working Group Frank Dawson, Lotus Internet Draft draft-dawson-ical-xml-dtd-01.txt Expires six months after: December 4, 1998 The iCalendar XML DTD Status of this Memo This document is an Internet-Draft. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months. Internet-Drafts may be updated, replaced, or made obsolete by other documents at any time. It is not appropriate to use Internet- Drafts as reference material or to cite them other than as a "working draft" or "work in progress". To view the entire list of current Internet-Drafts, please check the "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow Directories on ftp.is.co.za (Africa), ftp.nordu.net (Northern Europe), ftp.nis.garr.it (Southern Europe), munnari.oz.au (Pacific Rim), ftp.ietf.org (US East Coast), or ftp.isi.edu (US West Coast). Distribution of this document is unlimited. Copyright (C) The Internet Society 1998. All Rights Reserved. Abstract This memo defines a [XML] Document Type Definition (DTD) that corresponds to the iCalendar, calendaring and scheduling core object format defined by [RFC2445]. This DTD provides equivalent functionality to the standard format defined by [RFC2445]. Documents structured in accordance with this DTD may also be know as "XML iCalendar" documents. The mailing list for discussion of this memo is "ietf- calendar@imc.org". Send an email to " ietf-calendar-request@imc.org" with the message "SUBSCRIBE" to add your email address to this mailing list. Send an email to " ietf-vcard-xml-request@imc.org" with the message "UNSUBSCRIBE" to remove your email address from this mailing list. 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 [RFC 2119]. Dawson 1 Expires June 1999 Internet Draft iCalendar XML DTD December 4, 1998 Table of Contents 1 INTRODUCTION.........................................................3 2 ICALENDAR XML DOCUMENT TYPE DEFINITION...............................3 3 ICALENDAR NOTATION..................................................15 4 EXAMPLE USAGE.......................................................16 4.1 SIMPLE ICALENDAR OBJECT .........................................16 4.2 ICALENDAR WITH NON-STANDARD EXTENSION ...........................16 4.3 ICALENDAR WITH ATTACH PROPERTY ..................................17 4.4 DOCUMENT WITH MULTIPLE ICALENDAR OBJECTS ........................18 4.5 DOCUMENT UTILIZING ICALENDAR NAMESPACE ..........................18 4.6 XML DOCUMENT REFERENCE TO A NON-XML ICALENDAR OBJECT ............19 5 NAMESPACE...........................................................19 6 ACKNOWLEDGMENTS.....................................................20 7 SECURITY CONSIDERATIONS.............................................20 8 BIBLIOGRAPHY........................................................20 9 AUTHOR'S ADDRESS....................................................21 10 FULL COPYRIGHT STATEMENT...........................................21 Dawson 2 Expires June 1999 Internet Draft iCalendar XML DTD December 4, 1998 1 Introduction The Extended Markup Language (XML) as defined in [XML] is gaining widespread attention as a "web friendly" syntax for encoding and exchanging documents and data on the Internet. This interest includes requests for and discussion of possible document type definitions (DTD) for IETF standards such at the iCalendar, calendaring and scheduling core object format, defined by [RFC2445]. This XML DTD is in no way intended to create a separate definition for the vCard schema. The sole purpose for this memo is to define an alternative XML encoding for the format defined by [RFC2445]. The vCard DTD does not introduce any capability not expressible in the format defined by [RFC2445]. However, an attempt has been made to leverage the capabilities of the XML syntax to better articulate the original intent of the iCalendar authors. For example, the notation attribute is used to declare the strong data typing intended for each of the properties in an iCalendar object. It is the responsibility of the XML application supporting this DTD to make sure that the content information is formatted consistently with the notation declared for each element. The iCalendar DTD promotes a number of iCalendar properties into attributes on the "iCal" element. This has been done to express these properties as "global attributes" for the iCalendar object, as a whole. For example, the CALSCALE, METHOD, VERSION and PRODID properties have been "mapped" into attributes on the iCalendar object. Binary content in the ATTACH property may either be specified through an external entity reference to the non-XML binary content or may be included in the content after first encoding the binary information using the BASE64 encoding of [RFC 2146]. XML version 1.0 did not include the definition for namespaces. A namespace is a collection of names, identified by a URI. However, in anticipation of the publication of the "Namespaces in XML" specification, this memo includes the definition for a default namespace for the iCalendar DTD elements. XML applications that support this memo and namespaces in XML can utilize this feature. It is expected that the DTD defined in this memo will not normally be included with iCalendar objects that are distributed. Instead, this DTD will be externally referenced. This means that such iCalendar objects will be well-formed but not valid, as defined in [XML]. 2 iCalendar XML Document Type Definition The following DTD conforms to XML version 1.0, as specified by [XML]. Dawson 3 Expires June 1999 Internet Draft iCalendar XML DTD December 4, 1998 Dawson 6 Expires June 1999 Internet Draft iCalendar XML DTD December 4, 1998 Dawson 7 Expires June 1999 Internet Draft iCalendar XML DTD December 4, 1998 Dawson 9 Expires June 1999 Internet Draft iCalendar XML DTD December 4, 1998 Dawson 10 Expires June 1999 Internet Draft iCalendar XML DTD December 4, 1998 Dawson 12 Expires June 1999 Internet Draft iCalendar XML DTD December 4, 1998 <-- Alarm component property element declarations --> 3 iCalendar Notation The formal public identifier (FPI) for the DTD described in this specification is "-//IETF//DTD iCalendar//EN". A XML document can reference an external non-XML entity containing an iCalendar object, as specified by [RFC2445]. The iCalendar object, Dawson 15 Expires June 1999 Internet Draft iCalendar XML DTD December 4, 1998 while encoded in the standard, non-XML format can be referenced in an external entity reference that identifies the [RFC2445] format in a notation declaration. The [RFC2445] format is identified by the formal public identifier "-//IETF//NONSGML iCalendar//EN", as defined in [FPI]. 4 Example Usage 4.1 Simple iCalendar Object The following is a simple example of a XML document using this DTD. 19981116T163000Z 19981116T190000Z Project XYZ Review Conference Room 23A 4.2 iCalendar with non-standard extension The following is an example of an iCalendar object that also includes a non-standard extension. ]> 19981105T133000Z 19981106T133000Z Draft a test plan 1998-ABC Corp-1234 Dawson 16 Expires June 1999 Internet Draft iCalendar XML DTD December 4, 1998 1 4.3 iCalendar with ATTACH property The following is an example of an iCalendar object that also includes an external reference to an attachment. ]> 19981212T150000Z 19981212T160000Z Department Holiday Party Conference Room 23A The following is an example of an iCalendar object that includes an attachment as inline binary content. method="PUBLISH"> 19981212T150000Z 19981212T160000Z Department Holiday Party Conference Room 23A MIICajCCAdOgAwIBAgICBEUwDQ EEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW 11bmljYXRpb25z...and so on...IENvcnBvc== Dawson 17 Expires June 1999 Internet Draft iCalendar XML DTD December 4, 1998 4.4 Document with multiple iCalendar objects The following is an example of a document that includes more than one iCalendar object. method="PUBLISH"> 19981010T000000Z 19981010T235959Z Register for conference 2 method="PUBLISH"> 19981120T133000Z 19981122T183000Z IT Conference Downtowner Hotel 4.5 Document utilizing iCalendar namespace The following is an example of a well-formed but invalid XML document that declares the iCalendar namespace as it's default namespace. The following is an example of a well-formed but invalid XML document that includes elements from the iCalendar namespace. 19981123T133000Z 19981123T203000Z 1234567 999.99 4.6 XML document reference to a non-XML iCalendar object The following is an example of a XML document with a proper reference to a non-XML entity containing an iCalendar object in the format defined by [RFC2445]. This example shows how existing iCalendar objects can be integrated into XML documents using the XML structure defined in this document. ]> 5 Namespace [NSPACE] defines "XML namespaces" to be a collection of names, identified by a URI, which are used in XML documents as element types and attribute names. XML namespaces 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 namespace for the iCalendar element types. This memo includes the definition of both a qualified name for the iCalendar namespace and also a default namespace. The namespace declaration is specified by attributes on the "iCal" element. The default namespace is specified with the "xmlns" attribute and the qualified name for the iCalendar namespace is specified with the "xmlns:iCal" attribute. The default namespace attribute is useful in XML documents that are based on the iCalendar document types. The qualified name for the iCalendar namespace is useful in XML documents that partially consist of iCalendar elements types but also consist of element types from other schemas. Dawson 19 Expires June 1999 Internet Draft iCalendar XML DTD December 4, 1998 The following is an example of the iCalendar namespace declaration using the qualified namespace: The following is an example of an iCalendar namespace declaration using the default namespace: 6 Acknowledgments The following have participated in the drafting and discussion of this memo: Greg FitzPatrick, Charles Goldfarb, Paul Hoffman, Thomas Rowe, Doug Royer 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. Dawson 20 Expires June 1999 Internet Draft iCalendar XML DTD December 4, 1998 [NSPACE] T. Bray, D. Hollander, A. Layman, "Namespaces in XML", WD- xml-names-19980916, http://www.w3.org/TR/1998/WD-xml-names-19980916, Septebmer 1998. [RFC2445] F. Dawson and T. Howes, "Internet Calendaring and Scheduling Core Object Specification (iCalendar)", RFC 2445, ftp://ftp.isi.edu/in-notes/rfc2445.txt, November 1998. [XML] "Extensible Markup Language (XML)", Worldwid Web Consortium, http://www.w3.org/TR/PR-xml-971208, December 1997. 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 +1-617-693-8728 +1-919-676-9515 Frank_Dawson@Lotus.com fdawson@earthlink.net 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. Dawson 21 Expires June 1999 Internet Draft iCalendar XML DTD December 4, 1998 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 22 Expires June 1999