[taskjuggler-devel] Re: Optimized XML file format v2

From: Chris Schlaeger (cs_at_kde.org)
Date: Sat Mar 04 2006 - 11:18:54 CET


From: Chris Schlaeger <cs@kde.org>
Message-ID: <19c0.4409698e@www.taskjuggler.org>
Date: Sat,  4 Mar 2006 11:18:54 +0100 (CET)
Subject: [taskjuggler-devel] Re: Optimized XML file format v2


The XML format was never intended to be human readable or writeable. We have the tjp format for that. Instead we tried to make it easy for other tools to read and write. We tried to minimize the TJ specific knowledge that such tools would need.

This reasoning had significant impact on the design of the XML syntax, and the code that processes it. The two most obvious are the lack of inheritance and error handling in the parser. In the XML format properties never inherit any attribute. All attributes need to be specified explicitely. We accept that the XML format is very verbose. As it is compressed and machine generated, we don't worry about it. The other major issue is the lack of error handling. When the XML file is read, it is assumed to be syntactically and structurally correct. If this is not the case, a very general error message is generated and parsing is aborted. The error handling is not designed to assist you in finding the exact error location.

I don't think it's a good idea to try to support using generic XML editors as entry tools for TJ projects. This combines the drawbacks of XML (very verbose and difficult to read) with the drawbacks of tjp (need to know the structure of the syntax).

GUI or web based editors are the only real alternative to editing a pure text file. Such a GUI editor needs to know a lot about TJ data structures. The XML format tries to model the internal data structures pretty closely. So, I think it's easier for such an editor to support the current XML format instead of one that supports inheritable attributes. The concept of attribute inheritance was only created to improve readability and compactness of the human read/writeable format.

Chris

--
TaskJuggler Developer
-- 
To unsubscribe, email: taskjuggler-devel-unsubscribe@suse.com
For additional commands, email: taskjuggler-devel-help@suse.com


This archive was generated by hypermail 2.1.7 : Sat Mar 04 2006 - 11:18:56 CET