Prang

Having got Odio to a reasonable state, the next step is to incorporate a RELAX NG validator into it, to make sure the output of Odio is always a valid ODF document. I couldn't find a Python RELAX NG validator, so I've embarked on Prang.

Armed with the RELAX NG specification, tutorial and suggested algorithm, I'm tackling this daunting task. Actually, dear reader, I'm finding it tough going. I haven't given up though...