<br><br><div class="gmail_quote">On Fri, Sep 10, 2010 at 10:48 AM,  <span dir="ltr"><<a href="mailto:ned%2Bietf@mauve.mrochek.com">ned+ietf@mauve.mrochek.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im"><br></div>Even if XML-specific tools like stylesheets prove less than useful in<br>
performing manipulations of calendar data, there's still significant benefit<br>
associated with being able to use built in parsing capbilities, espcially when<br>
those capabilites are nicely tied to automatic creation of complex data<br>
stuctures in various languages.<br></blockquote></div><div><br></div>What many XML-haters do not understand is that the syntax is designed to completely automate the process of writing the parser and the backing data classes.<div>
<br></div><div>Starting with an XML Schema definition I can generate the corresponding data structures automatically with one mouse click together with the corresponding parser/serializer calls.</div><div><br></div><div><br>
</div><div>Starting from an EBNF description, I have to first read the description. This has already taken more time than working with the XML version would.</div><div><br></div><div>I then have to work out if the grammar is an FSM or LR(1) or something else. When I was a grad student I used to write yacc parsers but these days I have written enough parser generators that I can actually hand code quicker than it takes me working round the peculiarities of yacc.</div>
<div><br></div><div>So what takes me no time at all with XML is likely to take a couple of days and considerably more skill with EBNF.<br clear="all"><br></div><div><br></div><div>Of course this approach works best in modern languages like Java and C# but I have generated similar tools for C and I am pretty sure the same tools exist for objective C. Its going to suck somewhat if you are coding in FORTRAN or Pascal.</div>
<div><br>-- <br>Website: <a href="http://hallambaker.com/">http://hallambaker.com/</a><br><br>
</div>