[sword-devel] osis2mod problems
DM Smith
dmsmith at crosswire.org
Tue May 19 05:32:24 MST 2009
I've verified that this is a bug and entered a bug report. I'm working
on a fix.
I also added a feature request for handling comments.
In Him,
DM
On May 18, 2009, at 6:55 PM, DM Smith wrote:
>
> On May 18, 2009, at 12:06 AM, Ben Morgan wrote:
>
>> osis2mod doesn't handle comments - is this known/cared about?
>
> So far it does not know about comments. It would be a nice addition.
> I think the behavior should be to skip all content (i.e. exclude it
> from the module)from an opening <!-- to a closing -->. While this
> does not match the xml spec, it probably would be adequate. The xml
> spec does not allow for nesting comments in comments. I suppose that
> we could also look for a --> and if we are not in a comment that it
> would be an error.
>
>> osis2mod currently assumes that a <div eID="..."> that appears
>> outside a verse, but inside a chapter is a chapter-closing div
>> (presumably because that is how commentaries close chapters).
>
> I don't think it should. Osis2mod has a stack that it uses to pair
> start tags with end tags. Basically, it should, upon finding a </
> div>, consult the stack to see what the opening element is. If it is
> a chapter div, then it closes the chapter.
>
>
>> This breaks the pre-verse logic when you have this type of thing
>> (inside a chapter):
>> <div type="section">
>> <title>Genesis 1.1 title</title>
>> <verse osisID="Gen.1.1" osisRef="Gen.1.1">Verse 1 text</verse>
>> </div>
>
> This closing div should be matched, via the stack, with <div
> type="section">.
>
>> <div type="section">
> The intended behavior of osis2mod upon seeing an opening tag between
> two verses is to mark it as starting pre-verse material. This <div
> type="section"> should be attached to the beginning of
>> <title>Genesis 1.2 title</title>
>> <verse osisID="Gen.1.2" osisRef="Gen.1.2">Verse 2 text</verse>
>> </div>
>>
>> This should put Genesis1.2 title in Genesis 1:2. However, it
>> currently puts it at the end of Genesis 1:1 due to the closing div.
>
> So, if it doesn't do what it should do, the way it should, then it
> is a bug and needs to be fixed.
>
>>
>> I have fixed two other problems today with osis2mod:
>> 1) due to typo, the default storage was LZSS compression
>> 2) pre-verse material which was handled was not matching the sID
>> with the eID
>
> Thank you so much.
>
>>
>> I wonder if we need to release some of the important utilities at
>> different times from the engine. (i.e. have a osis2mod release once
>> problems are fixed with it)
>
> I can go both ways on this. It is important that osis2mod builds
> modules that can be read by a particular version of the SWORD
> engine. Even with SWORD 1.5.11, osis2mod built modules that would
> work with 1.5.9 front-ends. The current osis2mod requires a 1.6.0
> engine.
>
> As to bug fixes, my recommendation is almost always to use SVN head.
> The only exception to this was during the development of av11n,
> which broke osis2mod for a while. In that case, getting osis2mod
> from head and building against 1.5.11 would have been great.
>
> I realize that this is generally beyond Windows users. And most
> users of a distribution expect the code there to be current with the
> latest release, even though that has not been true. Perhaps the old
> days are gone, where recommending to Linux users to build something
> is typical.
>
> I think we need to start a regression test case. Perhaps the
> following would work. An OSIS xml input file, like above that does
> not have real text, but gives a suitable placeholder. And a raw file
> built from the input. I think we can stick with either NT or OT
> references so that we only have one file.
>
> Running it with DEBUG compiled in and with the -d 2 flag to produce
> verse milestones would help identify where the problems occur.
>
> Then as someone reports a problem, it can be added to the input
> file, and the output file could be updated too. The regression test
> case would not catch unrepresented, problematic constructs, but it
> would prevent regression due to either improvements to osis2mod or
> to the SWORD engine that it uses.
>
> I've got a start of such a file and we have a spot on the wiki for
> it too. Now to meld them together.
>
> In Him,
> DM
>
>>
>> God Bless,
>> Ben
>> -------------------------------------------------------------------------------------------
>> Multitudes, multitudes,
>> in the valley of decision!
>> For the day of the LORD is near
>> in the valley of decision.
>>
>> Giôên 3:14 (ESV)
>>
>> _______________________________________________
>> sword-devel mailing list: sword-devel at crosswire.org
>> http://www.crosswire.org/mailman/listinfo/sword-devel
>> Instructions to unsubscribe/change your settings at above page
>
>
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page
More information about the sword-devel
mailing list