Open Kite Interchange Format
It is slowly becoming necessary for there to be a standard interchange format for
kite design information, which can be used by kite design tools, visualisation
tools, and the like.
We have two options here :
- Use an existing format.
- Develop a new format.
The first of these is not seen as a viable option - the existing file formats used
(most notably the .kte file format used by Foilmaker) have the following drawbacks:
- Not general enough - they are, by their nature, tied to the implementation of a
particular software tool, which, in turn, means they are tied to a particular
purpose. A general purpose interchange format should be a superset of these formats.
- Not open - the file formats used are not generally underestood except by the authors
of the tools using them, and there is no current documentation.
The second option also has pitfalls, as follows:
- Size - A general purpose file format is likely to end up carrying a lot of 'baggage'
that will not be used by all the tools accessing it.
- Parsing / Generating - existing design tools will have to be retrofitted with
code to parse and generate this format as well as the existing ones.
Nonetheless, we have decided to go for the second option, and 'take the hit'.
Hopefully, existing tools will start to use this format as their 'native' format,
and the existing formats will 'fall by the wayside'. In order for this to
happen, we must encompass all the flexibility and fuctionality of the existing
formats within the new one.
It is proposed to use XML as the basis of this format. The reasons for this
are as follows:
- XML is a standard.
- XML is expressive, and it is possible to easily check the validity of a document
against its DTD.
- There are freely available parsers for XML written in most languages, so retrofitting
to existing tools shouldn't be too hard.
However, XML should not be seen as a 'magic bullet' - developing the DTD for this
project is likely to be a long, fraught process.
The latest draft DTD is available from here
Project Administrator
Last modified: Fri Jun 9 12:19:37 BST 2000