[sword-devel] Poetry, verse 0, setIntros() and the state of things thus.
niccarter at mac.com
Tue Feb 5 03:33:15 MST 2013
I just wanted to touch base with where I'm at with the poetry stuff.
Taking Ben's code as a guide, I've ported it across to SWORD and it's kinda working. You can see my current version on bit bucket.
Note that this current version is very similar to the patch I sent through a few days ago, but I'm going to suggest that we don't implement this in SWORD just yet.
The reason being that I have discovered that we need to incorporate Ben's hack to work around the fact that modules may not be properly formed OSIS & may contain <l>s outside of <lg>s. This then simply makes things look messy and so I have had to write more code to work around this, but I've done this in Objective-C as I couldn't figure out how to save state between subsequent calls to renderText().
Note that I now also always retrieve verse 0 for each and every chapter in order to gather any required formatting that is missing from verse 1, but as verse 0 often is simply "<br />", I check for this and simply discard verse 0 if that's what it is. :)
As it appears that the ESV is going to be ready soon, perhaps an option is for us to add checking of <l> inside <lg>s as part of our OSIS validation and hold off incorporating any poetry code into SWORD until we know our modules are good enough?
However, what is the "proper" way of encoding these indented lines in OSIS? The WEB module opens its <l> tags at the end of each verse for the line starting in the next verse. This seems weird to me, and I would have thought that it would make more sense to start the verse with the <l> as that is where the text corresponding to that <l> is located?
So, yes, for me this is revealing more inconsistencies between modules and how they have been constructed. And as I don't particularly know what is the "correct" way of forming the OSIS, I don't know which is the "correct" way to be coding this.
More information about the sword-devel