[sword-devel] Parsing OSIS Ranges
DM Smith
dmsmith555 at yahoo.com
Thu Feb 28 13:57:25 MST 2008
Thanks,
This was perfect!
DM
Troy A. Griffitts wrote:
> DM,
>
> Your example shows 1 contiguous verse range, so the output of 1 is correct.
>
> Try a call to:
>
> cout << list.getRangeText() << endl;
>
> A versekey can have upper and lower bounds, so your ListKey container
> has 1 VerseKey with upper and lower bounds set.
>
> Hope this helps and makes sense.
>
> You can also have a look at:
>
> http://crosswire.org/svn/sword/trunk/utilities/vs2osisref.cpp
>
> and subsequently the VerseKey::convertToOSIS call:
> http://crosswire.org/svn/sword/trunk/src/keys/versekey.cpp
>
> ACK! How'd those static size buffer get in there! Well, at least this
> is only a static utility function. It was probably moved directly from
> a utility into VerseKey. That needs to be cleaned up...
>
>
> DM Smith wrote:
>
>> Can someone please help.
>>
>> I'm working on getting osis2mod to handle commentaries and
>> annotateRef's argument is an osisRef.
>>
>> So, I am trying to parse an osisRef into a verse list with the
>> following but it does not work.
>>
>> ListKey list = new ListKey();
>>
>> VerseKey verse;
>> verse.AutoNormalize(0);
>> verse.Headings(1);
>> verse.Persist(1);
>>
>> ListKey list = verse.ParseVerseList("Gen.1.1-Gen.1.5", 0, true);
>>
>> // The following should output 3, but it outputs 1
>> cout << list.Count() << endl;
>>
>> Many thanks,
>> DM
>>
More information about the sword-devel
mailing list