ODF Implementation-Support Toolkits and Libraries
I have no appraisal of the relative maturity and quality of the various toolkits that are emerging on the ODF scene (and likewise with regard to OOXML). However, it is important to have a cataloging of what there is. This is a random start. I will add to this post and build an nfoWorks catalog page later:
- lpOD: languages & platforms OpenDocument Project (also Français).
Definition of a Free Software API implementing the ISO/IEC 26300 standard.
Development, for higher level use cases, in Python, Perl and Ruby languages.
of a top-down oriented API. Licensing is under Free Software Foundation (FSF) versions.
An important resource for ways to harmonize document formats involves attention to the libraries and models employed for constructing document-centric software and their applications. This applies for the development of testing and conformance tools as well as for implementation of format-supporting software products. Indeed, one might reasonably expect that such tools would be a companion demonstration of implementation-support quality.
In the interesting case of OpenDocument Format, the availability of open-source code bases for implementations is both a risk (in that deviations or omissions in support for the standards
is are perpetuated through code mimicry) and an opportunity for faster tooling and testing. Of course, closed-source implementations (and related toolkits) have their own dangers in this regard, while denying public inspection of the code. I suspect that implementation notes are required in all cases to ensure understanding of intentions and interpretations as well as limitations and the different ways that discretionary matters are handled.
For ODF, the continuing work on toolkits and on independent open-source implementations is providing important diversity. This can inform the search for a harmonious profile and perhaps suggest adaptations that encourage harmonious implementations. Diversity across platforms and programming models may also help in the recognition and abstraction of essentials away from implementation incidentals. That can also be valuable in ensuring that harmonization is on essentials and not accidents of implementation.
I will be reviewing available toolkits, libraries, and APIs as I define my own around interface contracts for abstracted levels of document models and processing support. I expect some cross-fertilization while adhering to a model that is concentrated on harmony.