[sword-devel] library request
Troy A. Griffitts
sword-devel@crosswire.org
Sun, 10 Feb 2002 15:49:25 -0700
Martin,
This is already there. The real signature of the method is:
virtual ListKey ParseVerseList (const char *buf, const char *defaultKey
=
"Genesis 1:1", bool expandRange = false);
this will work with code like:
VerseKey vkey = "James 1:19";
ListKey lkey = vkey.ParseVerseList("20-22; 2:17", vkey, true);
this will return:
James 1:20-22
James 2:17
(expandRange true, above, is the difference between James 1:20-22, and
James 1:20)
PS. Your "v.12" example, I believe, is problematic due to our roman
numeral parsing. Not sure; it may work, but I don't think so right
now. My guess is you'll get something like 5:12 (v = 5).
Martin Gruner wrote:
>
> Hello all,
>
> due to a current need for it, I wish to request an addition to the API.
>
> Apart from the nice VerseKey::parseVerseList(char* )
> function we need an additional function which is able to parse an uncomplete
> reference in a given context. Something like
> VerseKey::parseVerseListInContext(VerseKey &context, char* reference).
>
> It should be able to parse things like
> <scripRef p="v.12">v.12</scripRef> correctly in a given context, say Matthew
> 5, resulting in a VerseKey containing "Matthew 5:12". Like parseVerseList()
> it should also parse more difficult / combined references.
>
> And a stupid question: what is the "bool expandRange" argument in
> parseVerseList for?
>
> thanks for considering,
>
> Martin