# [sword-devel] USFM conformance in usfm2osis.py

Chris Little chrislit at crosswire.org
Thu Aug 2 00:17:48 MST 2012

On 08/01/2012 12:09 PM, Kahunapule Michael Johnson wrote:
>> c) Add a command-line switch to usfm2osis.py so that it performs a
>> pre-processing step of making non-conformant tags/syntax into
>> conformant markup. (This would be the same as option b, but would
>> place everything in a single utility.)
>
> It is unlikely that character style end marker processing all the
> time would cause a problem, leaving no reason to turn the switch off.
> However, if you had processing for common mistakes, like writing \q
> where \pi belongs, that might better be put in an optional
> preprocessor.

This ended up being the option I chose. I suppose the command-line
switch could be reversed so that the script defaults to relaxed markup
handling, but I'd rather see the script interpret markup strictly so
that non-conformance can be identified quickly.

End tags like \fqa* make little difference. Without the relaxed
processing, the only difference my script makes is to not delete these
end tags. But if someone is still using \ss to mark a subsection, I'd
like the person running the converter to be cognizant of the fact that
they're working with legacy markup and I want them to have to make a
conscious decision to go on using a USFM converter on non-USFM docs.

--Chris