Subject: XML iCal draft changes

From: "Eric R. Plamondon" <[email-masked]>
Date: Fri, 12 Oct 2001 07:39:18 -0400

Good Morning,

The XML iCal draft has recently been resubmitted
through the Calendaring and Scheduling Working Group.

http://www.ietf.org/internet-drafts/draft-ietf-calsch-many-xcal-00.txt

This is only an initial draft to restart (re-ignite?)
the discussion on a possible representation of iCal
in XML. Since the older draft expired, the goal,
with the OK from Patricia Egen and Bob Mahoney, was to
bring the draft back into the discussion, since 
many people have be asking about. The original authors
will be contacted to determine whether they want to 
continue work on the draft.

Having gone through the archives, there were a number 
of issues with the previous drafts. This version does
not attempt to correct them, but rather reopen the
discussion on them.

Goal
----
The goal of the XML DTD (and schema) is to represent
ical in XML. The names, formats, and structures should
be a direct mapping from the iCalendar RPC. It is not
the goal to change or improve on the iCalendar RPC.

There were a few changes made to this reposting,
from the previous draft-many-ical-xmldoc-01 document,
outlined below.

Summary of Changes
------------------
- Renamed the file from
	draft-many-ical-xmldoc-01
  to
	draft-ietf-calsch-many-xcal-00
- Renamed the document from
	"iCalendar DTD Document"
  to
	"iCalendar DTD Document (xCal)"
- removed references to "ICALXML" and replaced
	with "xCal"
- changed the FPI for the DTD from 
	-//IETF//DTD ICALXML/iCalendar XML//EN
  to
	-//IETF//DTD XCAL/iCalendar XML//EN
- changed the FPI for standard value types from
	-//IETF/NOTATION ICALXML/Value Type/xxx/EN
  to
	-//IETF/NOTATION XCAL/Value Type/xxx/EN
  NOTE: these changes where made to the DTD as well.
- changed all references from 
	draft-many-ical-xmldoc-01
  to
	draft-many-xcal-00
- changed the iCal namespace to xCal
- changed the proposed MIME type from
	text/x-icalxml
  to
	text/x-xcal
- In some of the examples, the <![CDATA[xxx]]>
	xml formatting was removed (the XML version
	of the draft, using the DTD from rfc2629,
	failed to parse properly

Property Parameters
- the following property parameters where change to
	reflect their iCal counterpart
	- delfrom  to delegated-from
	- delto    to delegated-to
	- lang     to language
	- trigtype to related
	- sentby   to sent-by

Component Properties
- the following component properties where change to
	reflect their iCal counterpart
	- desc     to description
	- end      to dtend
	- start    to dtstart
	- fbdata   to freebusy
	- recurid  to recurrence-id
	- related  to related-to
	- last-mod to last-modified
	- seq      to sequence
	- rstatus  to request-status

Structure Properties
- the following structure properties where change to
	reflect their iCal counterpart
	- ical     to vcalendar
	- event    to vevent
	- todo     to vtodo
	- journal  to vjournal
	- freebusy to vfreebusy
	- timezone to vtimezone
	- alarm    to valarm

Issues to be discussed
======================
- should all the names be returned to upper case
	(or named case, as in XML schema).
- there are a few places where attributes are used
	instead of child elements (e.g. in the vCalendar
	element the version, prodid, calscale, and method)
- include an XML schema in this specification
- resolve other errors in the draft document
- correct the differences with "related" and "related-to"
	within the DTD
- does the name "xCal" conflict too much with the
	X-Windows calendar program by the same name
- If the original authors wish to continue work, their
	business information must be updated.
- Provide a wbxml binding for xcal.

Thanks,
Eric

-------------------------------
Eric R. Plamondon
Steltor - Chief Web Architect
2000 Peel Street, 4th Floor
Montreal, Quebec
mailto:[email-masked]
http://www.steltor.com

---

From: Libby Miller <[email-masked]>
Date: Fri, 12 Oct 2001 14:01:18 +0100 (BST)

Hi Eric

We've been working on drafts of an RDF/XML calendar schema based on
iCalendar[1], [2]. It looks like we should liaise with you guys, since
our goals are similar, perhaps to produce a stylesheet which converts
between the two, for example.

Your message prompts me to ask a question: is there a model described
anywhere for the work in icalendar or in xcal? Michael Arick did a
brilliant job turning icalendar into UML[3], but I'd be interested to
supplement this with what the thoughts were of the icalendar group
_while_ the icalendar RFC was being created, if these are described
anywhere. It doesn't have to be UML, just a summary diagram or
description of the objects and properties.

all the best

Libby

[1] http://ilrt.org/discovery/2001/04/calendar/ (RDF calendar homepage)
[2] http://ilrt.org/discovery/2001/06/schemas/ical-full/hybrid.rdf
(current schema draft, unstable)
[3] http://www.cse.ucsc.edu/~marick/iCalendarUML.html

--
Dr Libby Miller

---

From: "Greg FitzPatrick" <[email-masked]>
Date: Fri, 12 Oct 2001 15:39:56 +0200

this DTD corrects the "desc" "description" inconsistancy - Libby, did you
include that in your version?

-  Somebody decided that description should be desc instead but forgot to
correct that in an entitiy declaration.

Hi Eric

all the best

Libby

--
Dr Libby Miller

---

From: Doug Royer <[email-masked]>
Date: Fri, 12 Oct 2001 15:16:36 -0600

I think that it would be a good idea. However we might want
to consider XML/Schema (if it is close to ready) and not DTD.
And only if there are schema parsers and validators that 
are available.

( http://www.w3.org/XML/Schema )

-Doug

---

From: Gary Frederick <[email-masked]>
Date: Mon, 15 Oct 2001 09:58:40 -0500

Great! (re-ignite :-))

I have been working on XML versions of iCalendar data. I tend to keep 
what I do 'loose' so when (not if) a standard came out, I could fit my 
work into the standard.

I have a patch to the libical libarary that reads an iCalendar file and 
outputs XML. The XML  uses tags from RFC 2445, 'component', 'property', 
'value' with a 'name' attribute to identify each tag.

The XML format (I call it iCal...) is awkward.
I played a bit with an XSLT stylesheet to translate to xCal.

It may be useful to the rest of us to see some of what I did. I'll clean 
things up a bit and pass on to those interested.

Gary

=== an iCal fragment
<?xml version="1.0" ?>
<?xml-stylesheet type="text/xsl" href="lib/listiCal.xsl"?>
<component name="VCALENDAR">
   <property name="PRODID">
     <value>-//StarSchedule//NONSGML ?#\"StarOffice 5.2\"//EN</value>
   </property>
...
<component name="VEVENT">
   <property name="UID">
     <value>882998/5524/250</value>
   </property>
   <property name="SUMMARY">
     <value>Starting Homeschooling</value>
   </property>
   <property name="DESCRIPTION">
     <value>Free Workshop at The Homeschool Store.\nStarting 
Homeschooling -
  It\'s a Piece of Cake!\nLearn the basics and get off to a great
  start.\n713-683-8894\nwww.thehomeschoolstore.com</value>
   </property>
   <property name="CATEGORIES">
     <value>HSEvents</value>
   </property>
   <property name="PRIORITY">
     <value>1</value>
   </property>
   <property name="CLASS">
     <value>PUBLIC</value>
   </property>

=== a version of an XSLT stylesheet that prints xCal
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                 version="1.0">
   <xsl:output method="html"/>

<xsl:template match="/">
   <html>
   <head>
   <title>Test listing xcs</title>
   </head>
   <body>
     <xsl:apply-templates select="iCalendar/vcalendar/vevent" />
   </body>
   </html>
</xsl:template>

<xsl:template match="vevent">
   Date start: <xsl:value-of select="substring(./DTSTART, 1, 8)" /><br />
   Date end: <xsl:value-of select="substring(./DTEND, 1, 8)" /><br />
   Summary: <xsl:value-of select="SUMMARY" /><br />
   Location: <xsl:value-of select="LOCATION" />
   <hr />
</xsl:template>

</xsl:stylesheet>

---

From: Gary Frederick <[email-masked]>
Date: Mon, 15 Oct 2001 10:09:47 -0500

I like what I had seen of the RDF/XML calendar work. The thought that 
kept coming up for me was that there were at least two 'parts' that 
could come out of all the work. One a description (dtd) of iCalendar 
based on RFC 2445 and another that was the rest of the calendaring 
standards in RDF. Then you would have eg <vevent> as part of the 
iCalendar dtd and RDF that described relationships etc from RFC 2446 etc.

Gary

---

From: Doug Royer <[email-masked]>
Date: Mon, 15 Oct 2001 15:41:59 -0600

I would be in favor of the use of namesapces, something like:

<?xml version="1.0"?>
<vCal:VCALENDAR xmlns:vCal="http://...some url we pick...">
 <vCal:PRODIC>-//StarSchedule//NONSGML ?#\"StarOffice 5.2\"//EN</vCal:PRODID>
 <vCal:VEVENT>
   <vCal:UID>-//StarSchedule//NONSGML ?#\"StarOffice 5.2\"//EN</vCal:UID>
   <vCal:SUMMARY>Starting Homeschooling</vCal:SUMMARY>
   <vCal:DESCRIPTION>Free Workshop at The Homeschool Store.\nStarting
Homeschooling -
It\'s a Piece of Cake!\nLearn the basics and get off to a great
start.\n713-683-8894\nwww.thehomeschoolstore.com</vCal:DESCRIPTION>
   <vCal:CATEGORIES>HSEvents</vCal:CATEGORIES>
   <vCal:PRIORITY>1<vCal:PRIORITY>
   <vCal:CLASS>PUBIC</vCal:CLASS>
 </vCal:VEVENT>
</vCal:VCALENDAR>