My immediate thought is, there is no USFM text which conforms to spec. And those that try to still vary in their interpretation and the semantics. So a tool to transform needs to be flexible and editable.<br>Sent from my HTC<br><br>----- Reply message -----<br>From: &quot;Chris Little&quot; &lt;chrislit@crosswire.org&gt;<br>To: &quot;SWORD Developers&#39; Collaboration Forum&quot; &lt;sword-devel@crosswire.org&gt;<br>Subject: [sword-devel] USFM conformance in usfm2osis.py<br>Date: Wed, Aug 1, 2012 3:16 am<br><br><br>My new usfm2osis.py script is progressing quite nicely. I&#39;ve got it generating valid OSIS from one Bible that uses a very minimal set of USFM elements. At the moment, I&#39;m working to make it process all tags present within the USFM versions of the WEB and RV, and this has raised an issue.<br><br>I&#39;ve been working primarily with the USFM reference from UBS ICAP, treating it as a sort of specification. My question is: should this new utility accept USFM that does not conform to the reference at UBS ICAP?<br><br>Should it accept &amp; interpret USFM tags that are not present in the reference?<br><br>One specific example is that the WEB uses \fqa*, which is obviously intended as an end-tag version of \fqa (used to mark alternate translations). But the USFM reference does not identify this as a valid end-tag, by my reading.<br><br>So... should we...<br><br>a) Make the new utility accept non-conformant USFM (from the perspective of the USFM reference). I&#39;m leery of this, since one of my reasons for writing the new utility was to keep it pristinely spec-conformant and I have a feeling we might start incorporating tags and syntax that are less obviously interpretable than \fqa*.<br><br>b) Write a separate utility to convert common and interpretable non-conformant tags/syntax to conformant markup.<br><br>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.)<br><br>d) Punt on the issue, and let those performing conversion deal with non-conformant markup on a case by case basis.<br><br><br>--Chris<br><br>_______________________________________________<br>sword-devel mailing list: sword-devel@crosswire.org<br>http://www.crosswire.org/mailman/listinfo/sword-devel<br>Instructions to unsubscribe/change your settings at above page<br>