idnits 2.17.1 draft-hare-xcalendar-03.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** It looks like you're using RFC 3978 boilerplate. You should update this to the boilerplate described in the IETF Trust License Policy document (see https://trustee.ietf.org/license-info), which is required now. -- Found old boilerplate from RFC 3978, Section 5.1 on line 14. -- Found old boilerplate from RFC 3978, Section 5.5 on line 1753. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 1730. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 1737. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 1743. ** This document has an original RFC 3978 Section 5.4 Copyright Line, instead of the newer IETF Trust Copyright according to RFC 4748. ** This document has an original RFC 3978 Section 5.5 Disclaimer, instead of the newer disclaimer which includes the IETF Trust according to RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- == No 'Intended status' indicated for this document; assuming Proposed Standard Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** There are 95 instances of too long lines in the document, the longest one being 57 characters in excess of 72. ** There are 53 instances of lines with control characters in the document. ** The abstract seems to contain references ([RFC2447], [RFC2119], [CAP], [RFC2445], [RFC2446]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. ** The document seems to lack a both a reference to RFC 2119 and the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords -- however, there's a paragraph with a matching beginning. Boilerplate error? RFC 2119 keyword, line 130: '...o use namespaces MAY include other non...' RFC 2119 keyword, line 133: '... Documents MAY include a Document Ty...' RFC 2119 keyword, line 137: '... a DTD or schema MAY include definitio...' RFC 2119 keyword, line 138: '...t conforming to this memo MUST provide...' RFC 2119 keyword, line 166: '... representations SHOULD provide the sa...' (17 more instances...) Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the RFC 3978 Section 5.4 Copyright Line does not match the current year -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (May 16, 2005) is 6914 days in the past. Is this intentional? -- Found something which looks like a code comment -- if you have code sections in the document, please surround them with '' and '' lines. Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- Missing reference section? 'RFC 2445' on line 1690 looks like a reference -- Missing reference section? 'RFC2446' on line 114 looks like a reference -- Missing reference section? 'RFC2447' on line 152 looks like a reference -- Missing reference section? 'CAP' on line 1702 looks like a reference -- Missing reference section? 'RFC 2119' on line 1686 looks like a reference -- Missing reference section? 'XML' on line 1712 looks like a reference -- Missing reference section? 'RCF 2446' on line 92 looks like a reference -- Missing reference section? 'RFC 2447' on line 1698 looks like a reference -- Missing reference section? 'RFC 2446' on line 1694 looks like a reference -- Missing reference section? 'RFC2445' on line 114 looks like a reference -- Missing reference section? 'XMLNS' on line 271 looks like a reference -- Missing reference section? 'XSL' on line 1715 looks like a reference -- Missing reference section? 'FPI' on line 1672 looks like a reference -- Missing reference section? 'ISO9070' on line 1677 looks like a reference -- Missing reference section? 'RFC 2045' on line 1682 looks like a reference -- Missing reference section? 'XSLT' on line 1718 looks like a reference Summary: 8 errors (**), 0 flaws (~~), 2 warnings (==), 24 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group T. Hare 3 Internet-Draft Individual 4 Expires: November 17, 2005 May 16, 2005 6 Guideline for use of XML with iCalendar elements 7 draft-hare-xcalendar-03 9 Status of this Memo 11 By submitting this Internet-Draft, each author represents that any 12 applicable patent or other IPR claims of which he or she is aware 13 have been or will be disclosed, and any of which he or she becomes 14 aware will be disclosed, in accordance with Section 6 of BCP 79. 16 Internet-Drafts are working documents of the Internet Engineering 17 Task Force (IETF), its areas, and its working groups. Note that 18 other groups may also distribute working documents as Internet- 19 Drafts. 21 Internet-Drafts are draft documents valid for a maximum of six months 22 and may be updated, replaced, or obsoleted by other documents at any 23 time. It is inappropriate to use Internet-Drafts as reference 24 material or to cite them other than as "work in progress." 26 The list of current Internet-Drafts can be accessed at 27 http://www.ietf.org/ietf/1id-abstracts.txt. 29 The list of Internet-Draft Shadow Directories can be accessed at 30 http://www.ietf.org/shadow.html. 32 This Internet-Draft will expire on November 17, 2005. 34 Copyright Notice 36 Copyright (C) The Internet Society (2005). 38 Abstract 40 This memo defines a guideline for using XML to represent calendaring 41 information that corresponds to the iCalendar, Internet Calendaring 42 and Scheduling Core Object Specification defined by [RFC 2445] and 43 the protocols defined by [RFC2446], [RFC2447] and [CAP]. This memo 44 applies to all [RFC 2445] extensions and modifications. 46 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 47 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY" and "OPTIONAL" in this 48 document are to be interpreted as described in [RFC 2119]. 50 Table of Contents 52 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 53 2. Using XML For Representing iCalendar . . . . . . . . . . . . . 5 54 3. XML and XSL Dependencies . . . . . . . . . . . . . . . . . . . 6 55 4. Working With Standard and XML iCalendar Representations . . . 7 56 5. Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . 8 57 6. Mixed Use of Both Representations . . . . . . . . . . . . . . 9 58 7. Using Data Types . . . . . . . . . . . . . . . . . . . . . . . 10 59 8. Namespaces . . . . . . . . . . . . . . . . . . . . . . . . . . 11 60 9. Emailing documents with iCalendar XML Representation . . . . . 13 61 10. iCalendar XML Representation and File Systems . . . . . . . 14 62 11. Example Usage . . . . . . . . . . . . . . . . . . . . . . . 15 63 11.1 Example DTD . . . . . . . . . . . . . . . . . . . . . . . 15 64 11.2 An example XSL transformation . . . . . . . . . . . . . . 28 65 11.3 A well-formed and valid iCalendar XML document . . . . . . 34 66 11.4 Including binary content in attachments . . . . . . . . . 34 67 11.5 Including binary content inline . . . . . . . . . . . . . 35 68 11.6 iCalendar XML document with multiple iCalendar objects . . 36 69 11.7 Using the iCalendar namespace . . . . . . . . . . . . . . 37 70 11.8 Publish meeting information . . . . . . . . . . . . . . . 38 71 11.9 Publish transparent annual event . . . . . . . . . . . . . 38 72 11.10 Meeting invitation . . . . . . . . . . . . . . . . . . . 39 73 11.11 Assign a to-do . . . . . . . . . . . . . . . . . . . . . 39 74 11.12 Publish busy time . . . . . . . . . . . . . . . . . . . 40 75 11.13 Request busy time . . . . . . . . . . . . . . . . . . . 41 76 11.14 Issue a CAP command . . . . . . . . . . . . . . . . . . 41 77 11.15 A well-formed and valid XML document which can be 78 transformed into iCalendar . . . . . . . . . . . . . . . 41 79 12. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . 44 80 13. Security Considerations . . . . . . . . . . . . . . . . . . 45 81 Author's Address . . . . . . . . . . . . . . . . . . . . . . . 45 82 A. Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . 46 83 Intellectual Property and Copyright Statements . . . . . . . . 48 85 1. Introduction 87 The Extended Markup Language (XML) as defined in [XML] has gained 88 widespread attention as a "web friendly" syntax for representing and 89 exchanging documents and data on the Internet. This interest 90 includes requests for and discussion of possible document type 91 definitions (DTD) and name-spaces for IETF standard formats such as 92 that defined by [RFC 2445], [RCF 2446], and [RFC 2447]. 94 This memo defines how XML can be used to represent iCalendar 95 objects,and how iCalendar namespaces can be used with other XML 96 documents. An example DTD is provided although use of a DTD is not 97 required. 99 This memo does not try to enforce any specific one-to-one mapping 100 between XML objects and iCalendar objects, but instead attempts to 101 document the method whereby XML developers can provide 102 interoperability with iCalendar. 104 NOTE: The [RFC 2445] is the definitive reference for the definition 105 of iCalendar semantics. This memo only provides a guideline for 106 representing such semantics in XML. This memo does not introduce any 107 new semantics for items already defined by [RFC 2445]. [RFC 2446], 108 [RFC 2447], and [CAP] are the references for protocols for the 109 exchange of iCalendar objects. This memo does not introduce any new 110 protocols or functions beyond those in the respective documents. 112 An attempt has been made to guide the developer in use of XML to 113 represent iCalendar semantics, allowing XML-based applications to 114 make use of the iCalendar [RFC2445] and related protocols [RFC2446], 115 [RFC2447], and [CAP] semantics and to provide interoperability 116 between XML-based applications and iCalendar-compliant applications. 118 The publication of XML version 1.0 was followed by publication of two 119 World-wide Web Consortium (W3C) recommendations relevant to this 120 memo. The first was a recommendation on "Namespaces in XML" and the 121 other was a recommendation on "Extensible Stylesheet Language" and 122 "Extensible Stylesheet Language Transformation" (XSL and XSLT). An 123 XML name-space is a collection of names, identified by a URI. An XSL 124 transformation(XSLT)is a document in the Extensible Stylesheet 125 Language (XSL) which provides a method for transforming an XML 126 document into some other form. In anticipation of the use of XML 127 namespaces, this memo includes the definition of URIs to be used to 128 identify the namespaces for iCalendar [RFC 2445], iTIP [RFC 2446], 129 iMIP [RFC 2447] and CAP elements. XML applications that conform to 130 this memo and also use namespaces MAY include other non-iCalendar 131 namespaces. 133 Documents MAY include a Document Type Definition (DTD), an XML 134 schema, or may reference external versions of either. This memo 135 allows documents containing iCalendar XML objects to be constructed 136 with either. DTDs and Schemas are outside the scope of this memo. A 137 document containing a DTD or schema MAY include definitions for 138 calendar elements. Any document conforming to this memo MUST provide 139 an XSL transformation which will render those calendar elements 140 into standard iCalendar/iTIP/iMIP/CAP (as appropriate) elements. 142 2. Using XML For Representing iCalendar 144 XML is a simplified version of the text markup syntax defined by ISO 145 8879, Standard Generalized Markup Language (SGML). XML was published 146 as a proposed recommendation [XML] by the World-wide Web Consortium 147 (W3C) on February 10, 1998. 149 3. XML and XSL Dependencies 151 This memo specifies the XML representation for the standard iCalendar 152 elements defined by [RFC 2445], [RFC 2446], [RFC2447], and [CAP]. 153 There are no XML dependencies other than the [XML] and the [XMLNS] 154 recommendations. 156 This memo requires that conforming documents include a reference to 157 an [XSL] stylesheet for transforming the document into standard 158 iCalendar format. How the transformation is done is left to the 159 implementor. Providing an XSL transform into iCalendar objects does 160 not preclude providing other transforms. 162 4. Working With Standard and XML iCalendar Representations 164 This memo provides a guideline for using alternative, XML 165 representations for the standard iCalendar elements defined in [RFC 166 2445]. These alternative representations SHOULD provide the same 167 semantics as that defined in the standard format. It is the goal of 168 this memo to allow all [RFC 2445] extensions and modifications to be 169 translated into and from this XML format. 171 5. Conversion 173 This memo requires any compliant document to be transformable into 174 standard iCalendar information. It is recognized that such 175 conversion MAY be asymmetric, since compliant documents MAY include 176 information which is not representable in iCalendar and which would 177 be lost during any "round trip" conversions. This does not preclude 178 implementation of "round-trippable" transformations, but they are not 179 required. 181 To formalize and standardize the interchange of iCalendar information 182 through XML, each conforming document MUST include reference to an 183 XSL stylesheet which can transform the document into a standard 184 iCalendar [RFC 2445] document of MIME content-type "text/calendar". 186 6. Mixed Use of Both Representations 188 As previously indicated, conversion between the XML and standard 189 representations of iCalendar is a straightforward process using XSL 190 transformations. In addition, mixed use of both representations is 191 also possible using MIME objects. 193 While MIME multipart content-types can be used to provide a mix of 194 both the standard and XML representations, this is NOT required. 195 Instead, each document MUST include a reference to an XSL stylesheet 196 which can transform the XML representation into standard iCalendar 197 (and possibly, iTIP, iMIP, or CAP) syntax. 199 With the use of the MIME multipart content-types, compound MIME 200 entities containing a mix of the standard and XML representations can 201 be specified. Internet applications conforming to this memo MAY send 202 both the standard and XML representation of the iCalendar objects, to 203 provide compatibility with Internet applications which cannot process 204 the required XSL transformation. 206 7. Using Data Types 208 Strong "data typing" is an integral design principle to the iCalendar 209 format. Strong data typing in iCalendar means that the format type 210 for each property value is well known. Within [RFC 2445], the data 211 type is called the "value type". The standard format defined by [RFC 212 2445] specifies a default value type for each calendar and component 213 property. In addition, many of the property definitions allow for 214 the specification of alternate value types. The required XSL 215 transformation in this memo MUST create iCalendar elements with 216 proper types. Consult iCalendar [RFC 2445] for documentation of 217 value types. 219 8. Namespaces 221 [XMLNS] defines "Namespaces in XML" to be a collection of names, 222 identified by a URI, which are used in XML documents as element types 223 and attribute names. The [XML] specification does not include a 224 definition for namespaces, but does set down some guidelines for 225 experimental naming of namespaces. 227 XML namespaces allow multiple markup vocabulary in a single document. 228 Documents and applications conforming to this memo MAY use multiple 229 namespaces with the iCalendar, iTIP, iMIP, and CAP namespaces. 230 Multiple namespaces MUST be used for the different iCalendar and 231 protocol elements. This requirement is intended to provide clarity 232 in the document, by discriminating calendar object elements 233 from protocol elements. 235 The document at the namespace URI does not contain any defintions but 236 serves as a unique identifier to allow specification of different 237 namespaces. Applications complying with this memo MUST use the 238 following URIs for namespace elements: 240 iCalendar: http://www.ietf.org/rfc/rfc2445.txt 242 iTIP: http://www.ietf.org/rfc/rfc2446.txt 244 iMIP: http://www.ietf.org/rfc/rfc2447.txt 246 CAP: http://www.ietf.org/internet-drafts/ 247 draft-ietf-calsch-cap-13.txt 249 NOTE: the URI for CAP will be replaced with the RFCxxxx reference 250 when CAP is completed. 252 The following is an example of a well-formed but invalid "xdoc" 253 document type that includes elements and attribute lists from the 254 iCalendar and iTIP namespaces. 256 257 258 261 262 263 265 266 268 270 The semantics of the "xmlns" attribute, and any attribute with 271 "xmlns:" as a prefix, is as specified in [XMLNS]. It is used to 272 declare a namespace in XML. 274 iCalendar provides for "experimental" elements. These elements are 275 represented in iCalendar with element names beginning with "X-". Any 276 experimental element in a document which conforms to this memo MUST 277 be represented by a namespace different than those used for 278 iCalendar, iTIP, iMIP, or CAP. This requirement is intended to 279 simplify implementation of extensions and experimental items. 281 9. Emailing documents with iCalendar XML Representation 283 It is expected that iCalendar XML documents will need to be sent over 284 SMTP/MIME email. The "text/xml" and "application/xml" content-types 285 have been registered for XML documents. 287 All documents conforming to this memo SHOULD be sent as content-type 288 "text/xml" or "application/xml". When iCalendar elements may be 289 mixed with others, it is not practical for an MUA to determine, 290 without opening the document, if iCalendar XML elements exist within 291 the document. 293 If a part of a MIME multi-part message contains only XML-represented 294 iCalendar objects, and it is wished to provide the ability for an 295 application to determine content based upon the MIME headers, the 296 content-types "text/xml+calendar" or "application/xml+calendar" MAY 297 be used. 299 Internet applications conforming to this memo MUST include in any 300 iCalendar XML document that is sent, the XSL stylesheet reference to 301 be used to provide transformation from the XML representation to the 302 standard representation. This restriction guarantees that a standard 303 iCalendar object can be produced from the iCalendar XML document. 305 Internet applications conforming to this memo MAY send the iCalendar 306 XML document in a "multipart/alternative" MIME entity that also 307 contains an equivalent iCalendar object in the standard format 308 defined by [RFC 2445], to provide compatibility with applications 309 which cannot process XML or XSL transformations. 311 An XML application comforming to the guidelines in this memo MUST be 312 able to receive and properly process the "application/xml" document 313 contained within a "multipart" message content-type, and MUST be 314 capable of performing the XSL transformation of the iCalendar 315 elements of the document into a standard iCalendar document. 317 10. iCalendar XML Representation and File Systems 319 The iCalendar XML documents will be stored in file systems. The 320 accepted practice for file extensions for XML documents is the text 321 "XML". However, IF a document contains only XML representations of 322 iCalendar data, then for file association with applications that can 323 directly process this document type, it is RECOMMENDED that the file 324 extension be the text "xcs". 326 11. Example Usage 328 The following sections provide various examples of documents using 329 iCalendar elements in XML. 331 11.1 Example DTD 333 The following is a DTD which can be used to represent iCalendar [RFC 334 2445] objects. While this DTD represents the iCalendar objects as 335 currently defined, this document does not imply that this is the only 336 way to represent them, nor that this is the best DTD to do so. This 337 is provided as an example, only. 339 341 342 343 345 349 353 356 357 358 360 363 365 368 370 373 374 377 379 383 384 385 387 390 392 395 397 400 401 402 404 405 406 407 408 409 410 412 415 416 418 421 422 425 426 428 432 433 434 436 439 441 444 446 449 451 455 461 462 467 469 475 477 483 485 489 491 495 497 501 503 506 507 509 512 514 517 518 521 522 524 527 529 533 535 538 540 543 545 548 550 553 554 556 559 561 565 568 569 572 573 575 579 583 585 588 589 591 594 595 597 600 601 603 608 611 613 616 617 619 622 623 627 628 629 631 635 637 639 642 644 647 650 652 654 657 660 661 663 665 668 670 671 672 674 675 677 679 680 681 682 684 685 688 689 693 695 696 700 701 705 706 711 712 717 719 720 721 723 724 725 727 728 733 734 737 738 741 742 747 748 752 753 755 756 761 763 764 768 769 773 774 778 779 782 783 786 787 791 792 794 796 798 799 802 803 807 808 811 812 815 816 819 821 822 836 837 842 843 850 851 856 857 861 862 865 866 869 871 872 876 877 880 881 885 886 889 891 892 894 896 897 900 901 905 906 908 909 912 913 916 917 920 921 924 926 927 931 933 935 936 944 945 946 947 948 949 951 952 954 955 957 958 960 961 964 966 968 971 11.2 An example XSL transformation 973 The following is an example of an XSL transformation which can 974 convert an xCalendar document into an iCalendar [RFC 2445] text 975 object. Again, this is an example and not presented as the only or 976 best way to accomplish the transformation. 978 979 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 BEGIN:VCALENDAR 1004 1005 1006 1010 1011 1012 METHOD:PUBLISH 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 : 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 END:VCALENDAR 1033 1034 1035 1036 1037 1038 1039 BEGIN: 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 END: 1051 1052 1053 1054 1055 1056 1057 1058 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 : 1076 1077 1078 1079 1080 1081 1082 1083 1084 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 : 1100 1101 1102 1103 1104 1105 , 1106 1107 1108 1109 1110 1111 1112 1114 1115 1116 1117 1118 1119 1120 : 1121 1122 ; 1123 1124 1125 1126 1127 1128 1129 1130 1131 ; 1132 1133 1134 1135 = 1136 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1166 1167 1169 1170 1171 1172 1175 1176 1177 1178 1179 1180 1181 1184 1185 1186 1187 1188 1189 1190 1193 1194 1195 1196 1197 1198 1199 1202 1203 1204 1205 1206 1207 1208 1211 1212 1213 1214 1215 1216 1217 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1232 11.3 A well-formed and valid iCalendar XML document 1234 The following is a simple example of a iCalendar XML document. This 1235 document is both a well-formed and valid XML document. It also 1236 contains the required reference to the XSL transformation. The 1237 iCalendar object specifies an appointment. 1239 1240 1242 1243 1244 1247 1248 19981116T150000@cal10.host.com 1249 19981116T145958Z 1250 Project XYZ Review 1251 Conference Room 23A 1252 19981116T163000Z 1253 19981116T190000Z 1254 1255 Appointment 1256 1257 1258 1259 1261 11.4 Including binary content in attachments 1263 The following is an example of a valid iCalendar XML document that 1264 also includes an external reference to an attachment. The iCalendar 1265 object specifies a meeting invitation with an attachment. 1267 1268 1272 1273 1274 REQUEST 1275 2.0 1276 -//HandGen//NONSGML vGen v1.0//EN 1277 1278 19981211T133000@cal1.host.com 1279 19981211T132928Z 1280 cap://host.com/jim 1281 19981212T150000Z 1282 19981212T160000Z 1283 Department Meeting 1284 Conference Room 23A 1285 jim@host.com 1286 MAILTO:joe@host.com 1288 MAILTO:steve@host.com 1290 http://host.com/pub/photos/holiday.jpg 1291 1292 1293 1295 11.5 Including binary content inline 1297 The following is an example of a well-formed and valid iCalendar XML 1298 document that includes an attachment as inline binary content. The 1299 iCalendar object specifies a meeting invitation with an attachment. 1301 1302 1304 1305 1306 1307 REQUEST 1308 2.0 1309 -//HandGen//NONSGML vGen v1.0//EN 1310 1311 19981211T133000@cal1.host.com 1312 19981211T132928Z 1313 MAILTO:jim@host.com 1314 19981212T150000Z 1315 19981212T160000Z 1316 Department Meeting 1317 Conference Room 23A 1318 MAILTO:jim@host.com 1319 MAILTO:joe@host.com 1321 MAILTO:steve@host.com 1323 MIICajCCAdOgAwIBAgI 1324 CBEUwDQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXB 1325 lIEjYXRpb25z...and so on...IENvcnBvc== 1326 1327 1328 1330 11.6 iCalendar XML document with multiple iCalendar objects 1332 The following is an example of a well-formed and valid iCalendar XML 1333 document that includes more than one iCalendar object. 1335 1336 1338 1339 1340 1341 PUBLISH 1342 2.0 1343 -//HandGen//NONSGML vGen v1.0//EN 1344 1345 19981009T233000@cal1.host.com 1346 19981009T232928Z 1347 19981010T000000Z 1348 19981010T235959Z 1349 Register for conference 1350 2 1351 1352 1353 1354 2.0 1355 -//HandGen//NONSGML vGen v1.0//EN 1356 PUBLISH 1357 1358 19981009T233010@cal1.host.com 1359 19981009T233000Z 1360 19981120T133000Z 1361 19981122T183000Z 1362 IT Conference 1363 Downtowner Hotel 1364 1365 1366 1368 11.7 Using the iCalendar namespace 1370 The following is an example of a snippet of a XML document that 1371 includes elements from the iCalendar name-space. 1373 1376 19981123T133000Z 1377 19981123T203000Z 1378 1234567 1379 999.99 1380 1382 11.8 Publish meeting information 1384 The following is a snippet of an iCalendar XML document that 1385 publishes information about a meeting. 1387 1388 1389 2.0 1390 -//hacksw/handcal//NONSGML 1.0//EN 1391 PUBLISH 1392 1393 19970901T130000Z-123401@host.com 1394 19970901T130000Z 1395 19970903T163000Z 1396 19970903T190000Z 1397 Annual Employee Review 1398 PRIVATE 1399 Business,Human Resources 1400 1401 1402 1404 11.9 Publish transparent annual event 1406 The following is a snippet of an iCalendar XML document that 1407 publishes information about an annually repeating event that is 1408 transparent to busy time searches. 1410 1411 1412 2.0 1413 1414 PUBLISH 1415 1416 19990101T125957Z-123403@host.com 1417 19990101T130000Z 1418 19991102 1419 Our Blissful Anniversary 1420 CONFIDENTIAL 1421 TRANSPARENT 1422 Anniversary,Personal,Special Occasion 1423 FREQ=YEARLY 1424 1425 1426 1428 11.10 Meeting invitation 1430 The following is a snippet of an iCalendar XML document that 1431 specifies an invitation for a meeting. The meeting occurs on the 1432 first Monday of each year for five years. 1434 1435 1436 REQUEST 1437 2.0 1438 -//hacksw/handcal//NONSGML 1.0//EN 1439 1440 19981220T130000Z-123403@host.com 1441 19981220T130050Z 1442 MAILTO:corprel@host.com 1443 19990104T140000Z 1444 19990104T220000Z 1445 Annual Stockholders Meeting 1446 One Corporate Drive, Wilmington, DL 1447 MAILTO:mrbig@host.com 1448 CAP:host.com/stockholders 1450 Business,Meeting,Special Occasion 1451 FREQ=YEARLY;COUNT=5;BYDAY=1MO 1452 1453 1454 1456 11.11 Assign a to-do 1458 The following is a snippet of an iCalendar XML document for a to-do. 1460 1461 1462 REQUEST 1463 2.0 1464 -//hacksw/handcal//NONSGML 1.0//EN 1465 1466 19990104T133402@ical1.host.com 1467 19990104T133410Z 1468 19990104 1469 19990129 1470 MAILTO:dboss@host.com 1471 Periodic Self Review 1472 Complete your self review. 1473 Contact me if you questions. 1474 1 1475 CONFIDENTIAL 1476 CAP:dilbert@host.com 1477 1478 1479 1481 11.12 Publish busy time 1483 The following is an iCalendar XML document that publishes busy time 1484 information. The default value for the "method" attribute is 1485 "PUBLISH" and does not need to be specified in this example. 1487 1488 1489 2.0 1490 -//hacksw/handcal//NONSGML 1.0//EN 1491 1492 19980313T133000@ical1.host.com 1493 19990104T133010Z 1494 CAP:host.com/jsmith 1495 19980313T141711Z 1496 19980410T141711Z 1497 jsmith.ifb 1498 19980314T233000Z/19980315T003000Z 1499 19980316T153000Z/19980316T163000Z 1500 19980318T030000Z/19980318T040000Z 1501 1502 1503 1505 11.13 Request busy time 1507 The following is a snippet of an iCalendar XML document that requests 1508 a calendar user's busy time information. 1510 1511 1512 REQUEST 1513 2.0 1514 -//hacksw/handcal//NONSGML 1.0//EN 1515 1516 19970901T083000@ical1.host.com 1517 19970901T083000Z 1518 MAILTO:jane_doe@host1.com 1519 19971015T050000Z 1520 19971016T050000Z 1521 MAILTO:john_public@host2.com 1522 1523 1524 1526 11.14 Issue a CAP command 1528 The following is a snippet of an iCalendar XML document that issues a 1529 CAP command to delete a UID. 1531 1533 1534 2.0 1535 -//hacksw/handcal//NONSGML 1.0//EN 1536 relcalid-22 1537 DELETE 1538 1539 SELECT VEVENT FROM VAGENDA WHERE UID = 'abcd12345' 1540 1541 1542 1544 11.15 A well-formed and valid XML document which can be transformed 1545 into iCalendar 1547 The following is a simple example document which contains some date 1548 and time elements . This document is both a well-formed and valid 1549 XML document. It contains a DTD and references a stylesheet which 1550 transforms the schedule elements into iCalendar. The time used is a 1551 "floating" time, without timezone information, to simplify the 1552 example. 1554 1555 1557 1558 1559 1560 1561 1562 1563 1564 1565 Frank Dylan 1566 Rolling Blunder Revue 1567 1568 East Sandusky, Ohio Civic Auditorium 1569 01/03/1997 1570 1571 1572 1573 Sandlot, NM Lost Highway Cafe 1574 08/09/1997 1575 1576 1577 1579 The required stylesheet to transform the document into an iCalendar 1580 object (tour2ical.xsl) . Note that some of the transformations, 1581 notably date and time, would need more work to provide the robustness 1582 usually needed for applications; the simple method here is used as an 1583 example only. 1585 1586 1588 1589 1590 BEGIN:VCALENDAR 1591 METHOD:PUBLISH 1592 1593 BEGIN:VEVENT 1594 1595 1596 DTSTAMP: 1597 DTSTART: 1598 SUMMARY: 1599 DESCRIPTION: 1600 1601 1602 1603 1604 1605 1606 1607 1608 T 1609 1610 1611 1612 1613 1615 12. Acknowledgments 1617 This document is based on previous work by Frank Dawson, Eric R. 1618 Plamondon, Doug Royer, and Surendra K. Reddy, whose previous XML- 1619 iCalendar work provided the basis for this document. Their previous 1620 xCalendar work also acknowledged the contributions of Greg 1621 FitzPatrick, Charles Goldfarb, Paul Hoffman, Lisa Dusseault and 1622 Thomas Rowe. The rdf2ical.xsl transformation created by Masahide 1623 Kanzaki provided inspiration and concepts for the XSL transformation 1624 in this document. The primary author of this version of the document 1625 (T. Hare), however, assumes responsibility for all content, 1626 omissions, and especially errors. 1628 13. Security Considerations 1630 CDATA Sections - - A XML iCalendar document may contain CDATA 1631 sections to represent content for specific element types. The CDATA 1632 section specifies arbitrary character data that is not meant to be 1633 interpreted. It is not scanned by the XML parser for markup. While 1634 this memo restricts that any CDATA section MUST NOT contain markup or 1635 other such alternate representation for the property value, in 1636 general, CDATA section from a non-conformant implementation can 1637 contain content such as HTML markup. HTML text can be used to invoke 1638 programs. Implementors should be aware that this may leave an 1639 implementation open to malicious attack that might occur as a result 1640 of executing the markup in the CDATA section. 1642 PROCEDURAL ALARMS - - A XML iCalendar document can be created that 1643 contains a "VEVENT" and "VTODO" calendar component with "VALARM" 1644 calendar components. The "VALARM" calendar component can be of type 1645 PROCEDURE and can have an attachment containing some sort of 1646 executable program. Implementations that incorporate these types of 1647 alarms are subject to any virus or malicious attack that might occur 1648 as a result of executing the attachment. 1650 ATTACHMENTS - - A XML iCalendar document can include references to 1651 Uniform Resource Locators that can be programmed resources. 1652 Implementers and users of this memo should be aware of the network 1653 security implications of accepting and parsing such information. 1655 In addition, since the XML objects in this memo may be exchanged via 1656 many possible mechanisms, the security considerations observed by 1657 implementations of those mechanisms should be followed for this memo. 1659 Author's Address 1661 Tim Hare 1662 An individual 1663 3048 Bell Grove Dr. 1664 Tallahassee, FL 32308 1665 US 1667 Phone: (850)414-4209 1668 Email: TimHare@comcast.net 1670 Appendix A. Bibliography 1672 [FPI] F. Dawson, "iCalendar Formal Public Identifier", Internet 1673 Draft, 1674 http://www.internic.net/internet-drafts/draft-calsch-icalfpi-00.txt, 1675 September 1998. 1677 [ISO9070] "Information Technology_SGML Support 1678 Facilities_Registration Procedures for Public Text Owner 1679 Identifiers", ISO/IEC 9070, Second Edition, International 1680 Organization for Standardization, April 1991. 1682 [RFC 2045] N. Freed, N. Borenstein, "Multipurpose Internet Mail 1683 Extensions (MIME) - Part One: Format of Internet Message Bodies", 1684 RFC 2045, November 1996. 1686 [RFC 2119] S. Bradner, "Key words for use in RFCs to Indicate 1687 Requirement Levels", RFC 2119, http://www.ietf.org/rfc/rfc2119.txt, 1688 March 1997. 1690 [RFC 2445] F. Dawson and D. Stenerson, "Internet Calendaring and 1691 Scheduling Core Object Specification (iCalendar)", RFC 2445, 1692 http://www.ietf.org/rfc/rfc2445.txt, November 1998. 1694 [RFC 2446] F. Dawson, R. Hopson, S. Mansour, S. Silverberg 1695 "iCalendar Transport- independent Interoperability Protocol", RFC 1696 2446, http://www.ietf.org/rfc/rfc2446.txt, November 1998 1698 [RFC 2447] F. Dawson, S. Mansour, S. Silverberg "iCalendar Message- 1699 based Interoperability Protocol", RFC 2447, 1700 http://www.ietf.org/rfc/rfc2447.txt, November 1998 1702 [CAP] G. Babics, P. Hill, S. Mansour, D. Royer "Calendar Access 1703 Protocol", Internet-Draft, 1704 http://www.ietf.org/internet-drafts/draft-ietf-calsch-cap-13.txt, 1705 January 2004 1707 [Previous xCalendar work] F. Dawson, S. Reddy, D. Royer, E. Plamondon 1708 "iCalendar DTD Document (xCal)", Internet-Draft, 1709 http://www.ietf.org/internet-drafts/draft-ietf-many-xcal-03.txt, July 1710 2002 1712 [XML] "Extensible Markup Language (XML)", Worldwide Web Consortium, 1713 http://www.w3.org/TR/REC-xml, October 2000. 1715 [XSL] "Extensible Stylesheet Language (XSL)", Worldwide Web 1716 Consortium, http://www.w3.org/TR/xsl, October 2001. 1718 [XSLT] "Extensible Stylesheet Language Transformations (XSLT)", 1719 Worldwide Web Consortium, http://www.w3.org/TR/xslt, November 1999. 1721 Intellectual Property Statement 1723 The IETF takes no position regarding the validity or scope of any 1724 Intellectual Property Rights or other rights that might be claimed to 1725 pertain to the implementation or use of the technology described in 1726 this document or the extent to which any license under such rights 1727 might or might not be available; nor does it represent that it has 1728 made any independent effort to identify any such rights. Information 1729 on the procedures with respect to rights in RFC documents can be 1730 found in BCP 78 and BCP 79. 1732 Copies of IPR disclosures made to the IETF Secretariat and any 1733 assurances of licenses to be made available, or the result of an 1734 attempt made to obtain a general license or permission for the use of 1735 such proprietary rights by implementers or users of this 1736 specification can be obtained from the IETF on-line IPR repository at 1737 http://www.ietf.org/ipr. 1739 The IETF invites any interested party to bring to its attention any 1740 copyrights, patents or patent applications, or other proprietary 1741 rights that may cover technology that may be required to implement 1742 this standard. Please address the information to the IETF at 1743 ietf-ipr@ietf.org. 1745 Disclaimer of Validity 1747 This document and the information contained herein are provided on an 1748 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 1749 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET 1750 ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, 1751 INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE 1752 INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 1753 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 1755 Copyright Statement 1757 Copyright (C) The Internet Society (2005). This document is subject 1758 to the rights, licenses and restrictions contained in BCP 78, and 1759 except as set forth therein, the authors retain all their rights. 1761 Acknowledgment 1763 Funding for the RFC Editor function is currently provided by the 1764 Internet Society.