ietf
[Top] [All Lists]

Re: Registration of media type application/calendar+xml

2010-09-10 14:00:19
The objections raised by Keith do not appear to me to fall under any of the
requirements for MIME type registration set out in RFC 4288.


I disagree with the argument made in any case.

If you want to have a system in which 95% of your data structures are in XML
you probably don't want to have to introduce a separate syntax and you most
certainly do not want to deal with a separate data model for dealing with
calendaring.

The iCalendar format represents a 1990s style approach to the problem. There
is no real separation of syntax from the data model. Software developed in
that manner is notoriously difficult to get right for the reasons that Keith
describes.

XML is a substantial overhead if you are dealing with a single protocol but
when you are dealing with multiple protocols the benefits are substantial
and allow something like 70% of your coding effort to be pushed onto the
platform layer. That means that you have 70% less new code and new code
paths to contend with.

One of the discoveries of the mid 1990s was that yacc and LR(1) grammars are
no more useful for describing computer languages than they are for
describing natural languages. The most useful feature of a computer grammar
is regularity and consistency. XML enforces a high degree of consistency.


Now I would quite prefer to take about 50% or more of the XML spec and
discard it. They did a good job of taking out the most insane features of
SGML but there is much more cruft that could be cut out. But that does not
change the fact that using XML as is produces clearer specifications that
are more likely to be implemented without errors than with the 1990s
approach.


On Thu, Sep 9, 2010 at 10:51 PM, Keith Moore 
<moore(_at_)cs(_dot_)utk(_dot_)edu> wrote:


--
Website: http://hallambaker.com/
_______________________________________________
Ietf mailing list
Ietf(_at_)ietf(_dot_)org
https://www.ietf.org/mailman/listinfo/ietf
<Prev in Thread] Current Thread [Next in Thread>