Re: [sword-devel] load v11n from file

2011-07-16 Thread Konstantin Maslyuk
Indeed, possibility to use module-supplied v11n can seriously simplify  
process of development multiple v11ns.


If was discovered that any built-in v11n or mappings contain errors we can  
update that module with module-supplied v11n, then after new version of  
engine and applications will be released with fix, we can update module  
back on built-in v11n. Process of module update is much simpler than  
updating engine.


___
sword-devel mailing list: sword-devel@crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page


Re: [sword-devel] Alternate Versification for (Protestant) French Bibles?

2011-07-16 Thread David Haslam
Chris,

Yes - I'm talking about each single translation in its own right.

See also
http://fr.wikipedia.org/wiki/Traductions_de_la_Bible_en_fran%C3%A7ais

My own printed French Bible is Version Synodale 1962, but I'm pretty sure it
is in a long line of tradition that follows the same v11n, which includes
the David Martin translation. Many of the subsequent Protestant translations
are descended from David Martin's revision of the Geneva Bible in 1707.

I think our FreMartin module was "squeezed into KJV v11n" by the persons who
digitized the text source (http://www.biblemartin.com/) that we derived it
from in July 2008 . This sort of thing happens all over the world wide web,
as there are so few folk who really appreciate the complexities of av11n. On
some websites, this has even meant the loss of certain passages, those that
fall outside the KJV v11n.

Earlier this week, I analysed the v11n of the 150 Psalms, with the results
tabulated in an Excel worksheet. Available on request.

126 Psalms have a CT.
For 59 of these, the CT is all of verse 1.
For 4 of these, the CT is verses 1-2.
For the other 63, the CT is only part of verse 1.

Your suggestion about adapting \d to become \d_...\d* is a sensible
workaround. We ought to discuss it with the USFM experts in UBS. 

btw. Peter has already made contact with someone at UBS for initial advice
on this topic, but this was before my detailed analysis, when we both
thought that every one of the CTs was the whole of verse 1.

David

--
View this message in context: 
http://sword-dev.350566.n4.nabble.com/Alternate-Versification-for-Protestant-French-Bibles-tp3653812p3671558.html
Sent from the SWORD Dev mailing list archive at Nabble.com.

___
sword-devel mailing list: sword-devel@crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page


Re: [sword-devel] Alternate Versification for (Protestant) French Bibles?

2011-07-16 Thread Sebastien Koechlin
Here is a french page describing versification for some translations, mostly
french. There nothing about psalms headers.

http://bibliquest.org/Bibliquest/Bibliquest-Discordances_de_numerotation_des_versets.htm

Some points from the header of this page:

- Versification came from english bishop Stephen Langton (12th century) for
chapters and french Robert Étienne in 1551 for verses.

- Athias (from Nederland) published in 1661 a Hebrew Bible using
versification according to common paragraph usage by jewish people.  Most
european hebrew bibles published after that were following the same
versification.  And after that, many european bible translation where using
the same versification.

-- 
Seb, autocuiseur

___
sword-devel mailing list: sword-devel@crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page


[sword-devel] SUMMARY TO DATE [load v11n from file]

2011-07-16 Thread Troy A. Griffitts
OK, to summarize where we are, for those who haven't read all the
details and would like to jump in this weekend on the conversation
(Konstantin, please correct me if I've misrepresented your position).

I) Konstantin proposed 2 possibly paths and outlined the benefits and
drawback for both, favoring #2 (path and initial summary, quoted):

> 1. module installation may also install v11n to common folder
> 1: there is need of a lot attention from crosswire developers, to get
this way work proper without collisions and non-coordination

> 2. each module may have its own v11n, no dynamic shared v11ns
> 2: create, test, deliver is simple. just tell in *.conf file to load
v11n from module


II) I expressed concern about the "no dynamic shared v11ns" aspect of
#2, stating that it:

> disregards our objective to ultimately provide a way to position
Bibles of differing v11ns to the same content.

and stressed the unhappy need for the extra work

> to enumerate and define versification systems

so module developer can avoid defining how their Bible maps to all other
Bible modules, but instead can say:

> "I am basically "Synodal", but have these 5 exceptions, and here is
how these 5 exceptions should be handled in relation to "Synodal."

III) Konstantin clarified/proposed a hybrid system where we still seek
to define 'canonical' (no pun intended) internal v11ns, but if an
internal v11n doesn't yet exist for a module, then the module developer
can provide a private v11n used only for his/her own module.  The
primary benefit being that  Primary benefit is that module development
can move forward before internal v11n is supported in engine.


Troy


On 15/07/11 17:50, Konstantin Maslyuk wrote:
>> You make a great and convincing case for proceeding down path #2.
>>> 2. each module may have its own v11n, no dynamic shared v11ns
>>
>> Path #2, though, disregards our objective to ultimately provide a way to
>> position Bibles of differing v11ns to the same content.
> 
>> I would love to forget about trying to enumerate and define
>> versification systems (I'm sure Chris would as well), and to stop asking
>> each Bible module maker to pick which system best represents their data.
>>
>> We currently have 13 systems in our engine.  Eventually we need to
>> extend VerseMgr with a facility to map these between one another
>> (possibly your implementation).
>>
>> You have stated that you have tried with your code
>>
>>> KJV(A) <-> Synodal <-> Vulg <-> NRSV v11ns
>>
>> This implies there exists such a thing as a named list of versification
>> system in our engine (i.e., NOT path #2).
> 
> Of cource, most common v11ns must be hard coded! I can not understand
> here why
> path #2 can not have mixed v11ns: several built-in and several
> module-supplied.
> 
> Except without remark that module name with module-supplied v11n can not
> be same
> as built-in v11n.
> 
> This would be problem of bad statement of thoughts, i didn't meant that
> all modules
> should have module-supplied v11n. Sorry.
> 
> 
> I do not see a problem in making mapping through v11n other than KJV,
> but verse
> mapping must always be thought built-in v11n. One v11n for mapping would be
> enought, or one meta-v11n.
> 
> Though i do not know yet all problem case with v11n mappings, and i know
> that there
> are questionable parts of the Scripture, where in one source one chapter
> should have
> one content and second source under the same chapter have different
> content. But in
> Sword such parts should be known under unified name (even like v1:Esd.34 =
> metav11n:Esd.110, v2:Esd.34 = metav11n:Esd.34).
> 
>> If you allow a module developer to bypass naming which versification
>> system their module uses, you would still somehow like them to define
>> how it maps to other Bibles.  I don't see how this is practical without
>> a named set of known v11n system in the engine.
>>
>> I cannot imagine a module developer ALWAYS defining how their module
>> maps to every other system.
> 
> Of course if module maker do not use built-in v11n, he should use
> module-supplied.
> In any case #1 or #2 he can take ready binary v11n from repository of
> av11s (that
> we must provide in any case) and put within module. Or he can take
> source file for
> v11n, edit and convert to binary format, and use this binary file as
> many times as
> needed. Of course for engine it will be different v11ns, but this is a
> pay for order.
> 
> It is also advantage of external v11ns: we can create and test v11ns
> separate from
> engine, and if v11n is popular enough or well tested it can be made
> built-in, and
> vice versa.
> 
> Source for v11n would be just an OSIS file (of course, i'm not sure that
> this is correct):
> 
> 
> 
>  osisRef="Gen.1.2-Gen.1.3"/>
> 
> 
> 
> 
> Or add method VerseMgr::saveVersification(const char *file), that will
> save static
> arrays of v11n data in to file. So, module maker should write header
> file with v11n
> compile and tes

Re: [sword-devel] Alternate Versification for (Protestant) French Bibles?

2011-07-16 Thread David Haslam
Thanks Seb.

Very useful page, though as he states in the header paragraph,

"The comparison below of the various versions of the Bible in terms of
divisions into chapters and verses was made on a selection of Bibles
somewhat arbitrary, some quite common translations were not analyzed."

No mention of the David Martin translation.

I knew about Psalm 13 verese 5 & 6, but not about Psalm 29:11 (Zadoc Kahn).

Further research is required in regard to the CTs.

David



--
View this message in context: 
http://sword-dev.350566.n4.nabble.com/Alternate-Versification-for-Protestant-French-Bibles-tp3653812p3671668.html
Sent from the SWORD Dev mailing list archive at Nabble.com.

___
sword-devel mailing list: sword-devel@crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page


Re: [sword-devel] SUMMARY TO DATE [load v11n from file]

2011-07-16 Thread David Haslam
I've been following the thread and I think that's a fair summary, Troy.

Though we have not yet come across such a translation, it's also conceivable
that in future we may receive a set of USFM files that make some use of the
*\va* and *\ca* tags.

I've described this in the wiki, when I added the new section the other day.

http://crosswire.org/wiki/Alternate_Versification#Bibles_with_more_than_one_Versification

We probably don't have any thoughts on this yet. 

David

--
View this message in context: 
http://sword-dev.350566.n4.nabble.com/osis2mod-unhappy-with-New-Testament-osisIDs-tp3663231p3671673.html
Sent from the SWORD Dev mailing list archive at Nabble.com.

___
sword-devel mailing list: sword-devel@crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page


Re: [sword-devel] load v11n from file

2011-07-16 Thread Troy A. Griffitts
On 16/07/11 12:33, Troy A. Griffitts wrote:
> III) Konstantin clarified/proposed a hybrid system where we still seek
> to define 'canonical' (no pun intended) internal v11ns, but if an
> internal v11n doesn't yet exist for a module, then the module developer
> can provide a private v11n used only for his/her own module.  The
> primary benefit being that  Primary benefit is that module development
> can move forward before internal v11n is supported in engine.

I am basically in agreement with you and acknowledge the benefit for
supporting modules which v11ns not yet established in the engine, but
here is a brief summary of our current situation with its pain, and my
concerns about moving forward with what we've discussed:


I. Currently
  1) We force module developers to choose a v11n.  This is painful for
them, but in their own interest, as it will enable their module to work
within the future utopia of a cross-module equivalent content
reconciliation implementation (CMECRI, pronounced: see-me-cry)

  2) The downside for the module developer is:
a) their module sometimes has verses concatenated together if they
choose a v11n which doesn't have enough 'slots';
b) worse, they don't have a v11n yet available to choose


II. If we enable the ability for a module to supply something like
/v11n.conf, which defines a custom v11n, I fear:

  1) PEOPLE WILL ACTUALLY USE IT... always... because they are
shortsightedly of the opinion it is 'right'.
a) Module developers will never accept I.2.a, but instead will
always define their own v11n so their verses will never be merged with
another verse.
b) I can see module repositories existing which publish Bibles and
Commentaries which always include a v11n.conf.  We cannot optimize for
this and cannot easily move forward with CMECRI in this hypothetical
scenario.

  2) WE LOSE MOTIVATION
a) for module developers to do the hard work and give us the
information we need about their module, for us to move forward with
CMECRI. e.g., we need to know with which v11n their module best fits,
and we need to know where the exceptions lie.  I realize we can still
ALLOW them to provide this data, but if they are not forced to make
these decisions, like they are currently forced to do, they will not
make these decisions.
b) for us to continue to define v11n systems.  If we don't need to
define a common denominator v11n for a set of modules before we can
release them, we won't... well, we won't as quickly as we would if we
had to.

___


Just to be sure we both have the save vision of module v11n utopia, I
think we both have similar desires like:

All the world's v11n systems defined internally in the engine in under
50 v11ns.

CMECRI between any 2 systems.

Module developers have to choose the best match, and provide exceptions,
(which even allows verses to exist which otherwise might be merged, and
which CMECRI takes into account).


Yes?


Troy












> 
> 
> Troy
> 
> 
> On 15/07/11 17:50, Konstantin Maslyuk wrote:
>>> You make a great and convincing case for proceeding down path #2.
 2. each module may have its own v11n, no dynamic shared v11ns
>>>
>>> Path #2, though, disregards our objective to ultimately provide a way to
>>> position Bibles of differing v11ns to the same content.
>>
>>> I would love to forget about trying to enumerate and define
>>> versification systems (I'm sure Chris would as well), and to stop asking
>>> each Bible module maker to pick which system best represents their data.
>>>
>>> We currently have 13 systems in our engine.  Eventually we need to
>>> extend VerseMgr with a facility to map these between one another
>>> (possibly your implementation).
>>>
>>> You have stated that you have tried with your code
>>>
 KJV(A) <-> Synodal <-> Vulg <-> NRSV v11ns
>>>
>>> This implies there exists such a thing as a named list of versification
>>> system in our engine (i.e., NOT path #2).
>>
>> Of cource, most common v11ns must be hard coded! I can not understand
>> here why
>> path #2 can not have mixed v11ns: several built-in and several
>> module-supplied.
>>
>> Except without remark that module name with module-supplied v11n can not
>> be same
>> as built-in v11n.
>>
>> This would be problem of bad statement of thoughts, i didn't meant that
>> all modules
>> should have module-supplied v11n. Sorry.
>>
>>
>> I do not see a problem in making mapping through v11n other than KJV,
>> but verse
>> mapping must always be thought built-in v11n. One v11n for mapping would be
>> enought, or one meta-v11n.
>>
>> Though i do not know yet all problem case with v11n mappings, and i know
>> that there
>> are questionable parts of the Scripture, where in one source one chapter
>> should have
>> one content and second source under the same chapter have different
>> content. But in
>> Sword such parts should be known under unified name (even like v1:Esd.34 =
>> metav11n:Esd.110, v2:Esd.34 = metav11n:Esd.34).
>>

Re: [sword-devel] SUMMARY TO DATE [load v11n from file]

2011-07-16 Thread Greg Hellings
On Sat, Jul 16, 2011 at 6:04 AM, David Haslam  wrote:
> I've been following the thread and I think that's a fair summary, Troy.
>
> Though we have not yet come across such a translation, it's also conceivable
> that in future we may receive a set of USFM files that make some use of the
> *\va* and *\ca* tags.

I have only ever encountered a single Bible that made use of such
technology - the Jerusalem Bible.  Such an ability would be germane to
development of that (not that we can, due to copyright). And it is
also possibly of interest to your other discussion as the JB is a
French-based translation.

--Greg

___
sword-devel mailing list: sword-devel@crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page


Re: [sword-devel] SUMMARY TO DATE [load v11n from file]

2011-07-16 Thread DM Smith
For JSword, I'm planning on having the v11n in external resources. If the 
performance is not good, then it'll be moved internally. Can we define the 
format of the file? That way, we won't need to change it if SWORD ever 
externalizes it.

In Him,
DM

On Jul 16, 2011, at 6:33 AM, Troy A. Griffitts wrote:

> OK, to summarize where we are, for those who haven't read all the
> details and would like to jump in this weekend on the conversation
> (Konstantin, please correct me if I've misrepresented your position).
> 
> I) Konstantin proposed 2 possibly paths and outlined the benefits and
> drawback for both, favoring #2 (path and initial summary, quoted):
> 
>> 1. module installation may also install v11n to common folder
>> 1: there is need of a lot attention from crosswire developers, to get
> this way work proper without collisions and non-coordination
> 
>> 2. each module may have its own v11n, no dynamic shared v11ns
>> 2: create, test, deliver is simple. just tell in *.conf file to load
> v11n from module
> 
> 
> II) I expressed concern about the "no dynamic shared v11ns" aspect of
> #2, stating that it:
> 
>> disregards our objective to ultimately provide a way to position
> Bibles of differing v11ns to the same content.
> 
> and stressed the unhappy need for the extra work
> 
>> to enumerate and define versification systems
> 
> so module developer can avoid defining how their Bible maps to all other
> Bible modules, but instead can say:
> 
>> "I am basically "Synodal", but have these 5 exceptions, and here is
> how these 5 exceptions should be handled in relation to "Synodal."
> 
> III) Konstantin clarified/proposed a hybrid system where we still seek
> to define 'canonical' (no pun intended) internal v11ns, but if an
> internal v11n doesn't yet exist for a module, then the module developer
> can provide a private v11n used only for his/her own module.  The
> primary benefit being that  Primary benefit is that module development
> can move forward before internal v11n is supported in engine.
> 
> 
> Troy
> 
> 
> On 15/07/11 17:50, Konstantin Maslyuk wrote:
>>> You make a great and convincing case for proceeding down path #2.
2. each module may have its own v11n, no dynamic shared v11ns
>>> 
>>> Path #2, though, disregards our objective to ultimately provide a way to
>>> position Bibles of differing v11ns to the same content.
>> 
>>> I would love to forget about trying to enumerate and define
>>> versification systems (I'm sure Chris would as well), and to stop asking
>>> each Bible module maker to pick which system best represents their data.
>>> 
>>> We currently have 13 systems in our engine.  Eventually we need to
>>> extend VerseMgr with a facility to map these between one another
>>> (possibly your implementation).
>>> 
>>> You have stated that you have tried with your code
>>> 
 KJV(A) <-> Synodal <-> Vulg <-> NRSV v11ns
>>> 
>>> This implies there exists such a thing as a named list of versification
>>> system in our engine (i.e., NOT path #2).
>> 
>> Of cource, most common v11ns must be hard coded! I can not understand
>> here why
>> path #2 can not have mixed v11ns: several built-in and several
>> module-supplied.
>> 
>> Except without remark that module name with module-supplied v11n can not
>> be same
>> as built-in v11n.
>> 
>> This would be problem of bad statement of thoughts, i didn't meant that
>> all modules
>> should have module-supplied v11n. Sorry.
>> 
>> 
>> I do not see a problem in making mapping through v11n other than KJV,
>> but verse
>> mapping must always be thought built-in v11n. One v11n for mapping would be
>> enought, or one meta-v11n.
>> 
>> Though i do not know yet all problem case with v11n mappings, and i know
>> that there
>> are questionable parts of the Scripture, where in one source one chapter
>> should have
>> one content and second source under the same chapter have different
>> content. But in
>> Sword such parts should be known under unified name (even like v1:Esd.34 =
>> metav11n:Esd.110, v2:Esd.34 = metav11n:Esd.34).
>> 
>>> If you allow a module developer to bypass naming which versification
>>> system their module uses, you would still somehow like them to define
>>> how it maps to other Bibles.  I don't see how this is practical without
>>> a named set of known v11n system in the engine.
>>> 
>>> I cannot imagine a module developer ALWAYS defining how their module
>>> maps to every other system.
>> 
>> Of course if module maker do not use built-in v11n, he should use
>> module-supplied.
>> In any case #1 or #2 he can take ready binary v11n from repository of
>> av11s (that
>> we must provide in any case) and put within module. Or he can take
>> source file for
>> v11n, edit and convert to binary format, and use this binary file as
>> many times as
>> needed. Of course for engine it will be different v11ns, but this is a
>> pay for order.
>> 
>> It is also advantage of external v11ns: we can create and test v11ns
>> separate from
>>

[sword-devel] Prevent setKey from 'Leaking' into overlapping chapters/books

2011-07-16 Thread Alex S
Hi folks,

I'm just getting started with Sword, and Im working through the included 
examples. How can I prevent the verse parser from mapping a non valid reference 
to the next logical book/chapter?

For example if I run verserangeparse (in /examples) with "jn22:1" I get acts 
1:1, which is the next logical chapter/verse since jn22 doesn't exist. 

Verserangeparse jn243:1 yields revelation 22:1

Any help? Sorry for the noob question...

Also, is there more extensive API documentation than the API primer on the 
crossword site?


Regards,
Alex



___
sword-devel mailing list: sword-devel@crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page


Re: [sword-devel] Prevent setKey from 'Leaking' into overlapping chapters/books

2011-07-16 Thread Troy A. Griffitts
Hey Alex,

Well, it depends on what behavior you want to happen when parsing an
'invalid verse reference'.

1) Error() should be raised when parsing is completely misunderstood

2) You can set VerseKey::Normalize to false, and arguably Error() should
be raised when parsing chapters and verses outside of the versification
system, but I'm not sure Error() is raised currently.

3) if Normalize is false, you can check chapter and verse against
VerseKey::getChapterMax() and VerseKey::getVerseMax() to see if it is
outside the versification system.

Hope this is slightly useful.

You'll find the wrapping useful for things like:

// show a context window
int contextWindow = 5;
for (verseKey-=(contextWindow/2); !verseKey.Error() && contextWindow;
verseKey++) ...

// show previous chapter
verseKey.setChapter(verseKey.getChapter() - 1)
...

etc.


Regarding more API help and more examples.  There is some documentation
pulled from the comments in the code as doxygen here (but not as concise
or helpful for a beginner as could be):

http://www.crosswire.org/~ghellings/1_6_2classdocs/

But I think your best bet is the examples/ and tests/ directory in the
source tree.

If there is an example you would like to see, please shout and we can
write one up together and improve the resources of example out.

Troy






On 16/07/11 17:36, Alex S wrote:
> Hi folks,
> 
> I'm just getting started with Sword, and Im working through the included 
> examples. How can I prevent the verse parser from mapping a non valid 
> reference to the next logical book/chapter?
> 
> For example if I run verserangeparse (in /examples) with "jn22:1" I get acts 
> 1:1, which is the next logical chapter/verse since jn22 doesn't exist. 
> 
> Verserangeparse jn243:1 yields revelation 22:1
> 
> Any help? Sorry for the noob question...
> 
> Also, is there more extensive API documentation than the API primer on the 
> crossword site?
> 
> 
> Regards,
> Alex
> 
> 
> 
> ___
> sword-devel mailing list: sword-devel@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@crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page


Re: [sword-devel] Prevent setKey from 'Leaking' into overlapping chapters/books

2011-07-16 Thread Troy A. Griffitts
Sorry, infinite loop typo...
On 16/07/11 17:56, Troy A. Griffitts wrote:
> // show a context window
> int contextWindow = 5;
- for (verseKey-=(contextWindow/2); !verseKey.Error() && contextWindow;
verseKey++) ...
+ for (verseKey-=(contextWindow/2); !verseKey.Error() && contextWindow;
verseKey++,contextWindow--) ...

-Troy



> 
> // show previous chapter
> verseKey.setChapter(verseKey.getChapter() - 1)
> ...
> 
> etc.
> 
> 
> Regarding more API help and more examples.  There is some documentation
> pulled from the comments in the code as doxygen here (but not as concise
> or helpful for a beginner as could be):
> 
> http://www.crosswire.org/~ghellings/1_6_2classdocs/
> 
> But I think your best bet is the examples/ and tests/ directory in the
> source tree.
> 
> If there is an example you would like to see, please shout and we can
> write one up together and improve the resources of example out.
> 
> Troy
> 
> 
> 
> 
> 
> 
> On 16/07/11 17:36, Alex S wrote:
>> Hi folks,
>>
>> I'm just getting started with Sword, and Im working through the included 
>> examples. How can I prevent the verse parser from mapping a non valid 
>> reference to the next logical book/chapter?
>>
>> For example if I run verserangeparse (in /examples) with "jn22:1" I get acts 
>> 1:1, which is the next logical chapter/verse since jn22 doesn't exist. 
>>
>> Verserangeparse jn243:1 yields revelation 22:1
>>
>> Any help? Sorry for the noob question...
>>
>> Also, is there more extensive API documentation than the API primer on the 
>> crossword site?
>>
>>
>> Regards,
>> Alex
>>
>>
>>
>> ___
>> sword-devel mailing list: sword-devel@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@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@crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page


Re: [sword-devel] SUMMARY TO DATE [load v11n from file]

2011-07-16 Thread David Troidl
Wouldn't it be possible to have one "master" v11n, that all the others 
could map to (linear growth), rather than trying to map them all to each 
other (exponential growth)?


For example:
1) Psalm 3 could retain the Hebrew Bible numbering, and KJV map the 
heading to 3:1, and 3:1 to 3:2, etc.
2) Psalm 23, the Hebrew could be subdivided: 23:1a being the header 
(23.1!a in OSIS), and 23:1b the KJV 23:1.  Then of course the HB would 
have to map 23:1 to the range 23:1a-23:1b.


It would probably be best to start with the Hebrew Bible, and work off 
of it to accommodate the others.


This would require a study of the existing v11n's, but would probably be 
worth the effort (for some volunteer who had the time).


Peace,

David

On 7/16/2011 6:33 AM, Troy A. Griffitts wrote:

OK, to summarize where we are, for those who haven't read all the
details and would like to jump in this weekend on the conversation
(Konstantin, please correct me if I've misrepresented your position).

I) Konstantin proposed 2 possibly paths and outlined the benefits and
drawback for both, favoring #2 (path and initial summary, quoted):


1. module installation may also install v11n to common folder
1: there is need of a lot attention from crosswire developers, to get

this way work proper without collisions and non-coordination


2. each module may have its own v11n, no dynamic shared v11ns
2: create, test, deliver is simple. just tell in *.conf file to load

v11n from module


II) I expressed concern about the "no dynamic shared v11ns" aspect of
#2, stating that it:


disregards our objective to ultimately provide a way to position

Bibles of differing v11ns to the same content.

and stressed the unhappy need for the extra work


to enumerate and define versification systems

so module developer can avoid defining how their Bible maps to all other
Bible modules, but instead can say:


"I am basically "Synodal", but have these 5 exceptions, and here is

how these 5 exceptions should be handled in relation to "Synodal."

III) Konstantin clarified/proposed a hybrid system where we still seek
to define 'canonical' (no pun intended) internal v11ns, but if an
internal v11n doesn't yet exist for a module, then the module developer
can provide a private v11n used only for his/her own module.  The
primary benefit being that  Primary benefit is that module development
can move forward before internal v11n is supported in engine.


Troy


On 15/07/11 17:50, Konstantin Maslyuk wrote:

You make a great and convincing case for proceeding down path #2.

 2. each module may have its own v11n, no dynamic shared v11ns

Path #2, though, disregards our objective to ultimately provide a way to
position Bibles of differing v11ns to the same content.
I would love to forget about trying to enumerate and define
versification systems (I'm sure Chris would as well), and to stop asking
each Bible module maker to pick which system best represents their data.

We currently have 13 systems in our engine.  Eventually we need to
extend VerseMgr with a facility to map these between one another
(possibly your implementation).

You have stated that you have tried with your code


KJV(A)<->  Synodal<->  Vulg<->  NRSV v11ns

This implies there exists such a thing as a named list of versification
system in our engine (i.e., NOT path #2).

Of cource, most common v11ns must be hard coded! I can not understand
here why
path #2 can not have mixed v11ns: several built-in and several
module-supplied.

Except without remark that module name with module-supplied v11n can not
be same
as built-in v11n.

This would be problem of bad statement of thoughts, i didn't meant that
all modules
should have module-supplied v11n. Sorry.


I do not see a problem in making mapping through v11n other than KJV,
but verse
mapping must always be thought built-in v11n. One v11n for mapping would be
enought, or one meta-v11n.

Though i do not know yet all problem case with v11n mappings, and i know
that there
are questionable parts of the Scripture, where in one source one chapter
should have
one content and second source under the same chapter have different
content. But in
Sword such parts should be known under unified name (even like v1:Esd.34 =
metav11n:Esd.110, v2:Esd.34 = metav11n:Esd.34).


If you allow a module developer to bypass naming which versification
system their module uses, you would still somehow like them to define
how it maps to other Bibles.  I don't see how this is practical without
a named set of known v11n system in the engine.

I cannot imagine a module developer ALWAYS defining how their module
maps to every other system.

Of course if module maker do not use built-in v11n, he should use
module-supplied.
In any case #1 or #2 he can take ready binary v11n from repository of
av11s (that
we must provide in any case) and put within module. Or he can take
source file for
v11n, edit and convert to binary format, and use this binary file as
many times as
needed. Of course for en

Re: [sword-devel] SUMMARY TO DATE [load v11n from file]

2011-07-16 Thread DM Smith
It is possible at least in part. Just define a v11n with 200 chapters per book 
and 200 verses per book. This doesn't handle alternate book order. 

I used 200 but any suitably large number would work. 

The other problem is that verse++ at the real end of a chapter would neither 
advance to the first verse of the next chapter nor throw an error. 

In Him
DM 

Cent from my fone so theer mite be tipos. ;)

On Jul 16, 2011, at 1:59 PM, David Troidl  wrote:

> Wouldn't it be possible to have one "master" v11n, that all the others could 
> map to (linear growth), rather than trying to map them all to each other 
> (exponential growth)?
> 
> For example:
> 1) Psalm 3 could retain the Hebrew Bible numbering, and KJV map the heading 
> to 3:1, and 3:1 to 3:2, etc.
> 2) Psalm 23, the Hebrew could be subdivided: 23:1a being the header (23.1!a 
> in OSIS), and 23:1b the KJV 23:1.  Then of course the HB would have to map 
> 23:1 to the range 23:1a-23:1b.
> 
> It would probably be best to start with the Hebrew Bible, and work off of it 
> to accommodate the others.
> 
> This would require a study of the existing v11n's, but would probably be 
> worth the effort (for some volunteer who had the time).
> 
> Peace,
> 
> David
> 
> On 7/16/2011 6:33 AM, Troy A. Griffitts wrote:
>> OK, to summarize where we are, for those who haven't read all the
>> details and would like to jump in this weekend on the conversation
>> (Konstantin, please correct me if I've misrepresented your position).
>> 
>> I) Konstantin proposed 2 possibly paths and outlined the benefits and
>> drawback for both, favoring #2 (path and initial summary, quoted):
>> 
>>> 1. module installation may also install v11n to common folder
>>> 1: there is need of a lot attention from crosswire developers, to get
>> this way work proper without collisions and non-coordination
>> 
>>> 2. each module may have its own v11n, no dynamic shared v11ns
>>> 2: create, test, deliver is simple. just tell in *.conf file to load
>> v11n from module
>> 
>> 
>> II) I expressed concern about the "no dynamic shared v11ns" aspect of
>> #2, stating that it:
>> 
>>> disregards our objective to ultimately provide a way to position
>> Bibles of differing v11ns to the same content.
>> 
>> and stressed the unhappy need for the extra work
>> 
>>> to enumerate and define versification systems
>> so module developer can avoid defining how their Bible maps to all other
>> Bible modules, but instead can say:
>> 
>>> "I am basically "Synodal", but have these 5 exceptions, and here is
>> how these 5 exceptions should be handled in relation to "Synodal."
>> 
>> III) Konstantin clarified/proposed a hybrid system where we still seek
>> to define 'canonical' (no pun intended) internal v11ns, but if an
>> internal v11n doesn't yet exist for a module, then the module developer
>> can provide a private v11n used only for his/her own module.  The
>> primary benefit being that  Primary benefit is that module development
>> can move forward before internal v11n is supported in engine.
>> 
>> 
>> Troy
>> 
>> 
>> On 15/07/11 17:50, Konstantin Maslyuk wrote:
 You make a great and convincing case for proceeding down path #2.
> 2. each module may have its own v11n, no dynamic shared v11ns
 Path #2, though, disregards our objective to ultimately provide a way to
 position Bibles of differing v11ns to the same content.
 I would love to forget about trying to enumerate and define
 versification systems (I'm sure Chris would as well), and to stop asking
 each Bible module maker to pick which system best represents their data.
 
 We currently have 13 systems in our engine.  Eventually we need to
 extend VerseMgr with a facility to map these between one another
 (possibly your implementation).
 
 You have stated that you have tried with your code
 
> KJV(A)<->  Synodal<->  Vulg<->  NRSV v11ns
 This implies there exists such a thing as a named list of versification
 system in our engine (i.e., NOT path #2).
>>> Of cource, most common v11ns must be hard coded! I can not understand
>>> here why
>>> path #2 can not have mixed v11ns: several built-in and several
>>> module-supplied.
>>> 
>>> Except without remark that module name with module-supplied v11n can not
>>> be same
>>> as built-in v11n.
>>> 
>>> This would be problem of bad statement of thoughts, i didn't meant that
>>> all modules
>>> should have module-supplied v11n. Sorry.
>>> 
>>> 
>>> I do not see a problem in making mapping through v11n other than KJV,
>>> but verse
>>> mapping must always be thought built-in v11n. One v11n for mapping would be
>>> enought, or one meta-v11n.
>>> 
>>> Though i do not know yet all problem case with v11n mappings, and i know
>>> that there
>>> are questionable parts of the Scripture, where in one source one chapter
>>> should have
>>> one content and second source under the same chapter have different
>>> content. But in
>>> Sword such parts should be kn

Re: [sword-devel] Prevent setKey from 'Leaking' into overlapping chapters/books

2011-07-16 Thread Alex S
Troy, Thanks so much for the reply.

I added parser.setAutoNormalize(false) before the result = 
parser.ParseVerseList() in verserangeparser.cpp. Now when I run the program 
with an invalid reference like jn22:1, I don't get any output but it looks like 
it errors out, even if I have some valid references in the list, such as 
jn3:16,jn22:1. Could you give me a few pointers on how to skip over the bad 
values in the for loops and continue execution wit the valid references? 

Regards
Alex

On Jul 16, 2011, at 11:56 AM, "Troy A. Griffitts"  wrote:

> Hey Alex,
> 
> Well, it depends on what behavior you want to happen when parsing an
> 'invalid verse reference'.
> 
> 1) Error() should be raised when parsing is completely misunderstood
> 
> 2) You can set VerseKey::Normalize to false, and arguably Error() should
> be raised when parsing chapters and verses outside of the versification
> system, but I'm not sure Error() is raised currently.
> 
> 3) if Normalize is false, you can check chapter and verse against
> VerseKey::getChapterMax() and VerseKey::getVerseMax() to see if it is
> outside the versification system.
> 
> Hope this is slightly useful.
> 
> You'll find the wrapping useful for things like:
> 
> // show a context window
> int contextWindow = 5;
> for (verseKey-=(contextWindow/2); !verseKey.Error() && contextWindow;
> verseKey++) ...
> 
> // show previous chapter
> verseKey.setChapter(verseKey.getChapter() - 1)
> ...
> 
> etc.
> 
> 
> Regarding more API help and more examples.  There is some documentation
> pulled from the comments in the code as doxygen here (but not as concise
> or helpful for a beginner as could be):
> 
> http://www.crosswire.org/~ghellings/1_6_2classdocs/
> 
> But I think your best bet is the examples/ and tests/ directory in the
> source tree.
> 
> If there is an example you would like to see, please shout and we can
> write one up together and improve the resources of example out.
> 
> Troy
> 
> 
> 
> 
> 
> 
> On 16/07/11 17:36, Alex S wrote:
>> Hi folks,
>> 
>> I'm just getting started with Sword, and Im working through the included 
>> examples. How can I prevent the verse parser from mapping a non valid 
>> reference to the next logical book/chapter?
>> 
>> For example if I run verserangeparse (in /examples) with "jn22:1" I get acts 
>> 1:1, which is the next logical chapter/verse since jn22 doesn't exist. 
>> 
>> Verserangeparse jn243:1 yields revelation 22:1
>> 
>> Any help? Sorry for the noob question...
>> 
>> Also, is there more extensive API documentation than the API primer on the 
>> crossword site?
>> 
>> 
>> Regards,
>> Alex
>> 
>> 
>> 
>> ___
>> sword-devel mailing list: sword-devel@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@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@crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page


Re: [sword-devel] SUMMARY TO DATE [load v11n from file]

2011-07-16 Thread jhphx

On 7/16/2011 12:03 PM, DM Smith wrote:

It is possible at least in part. Just define a v11n with 200 chapters per book 
and 200 verses per book. This doesn't handle alternate book order.

I used 200 but any suitably large number would work.

The other problem is that verse++ at the real end of a chapter would neither 
advance to the first verse of the next chapter nor throw an error.

In Him
DM


An auto advance through blank verses, or auto advance only if it leads 
to a new chapter, may be a fix if it doesn't break something else.


Jerry


___
sword-devel mailing list: sword-devel@crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page


Re: [sword-devel] SUMMARY TO DATE [load v11n from file]

2011-07-16 Thread David Troidl



On 7/16/2011 3:03 PM, DM Smith wrote:

It is possible at least in part. Just define a v11n with 200 chapters per book 
and 200 verses per book. This doesn't handle alternate book order.
I think you misunderstood.  Haggai has 2 chapters in any v11n I know 
of.  It would continue to have 2 chapters in the "master".  And unless 
there were some Bible that disagreed, it would still have 15 verses in 
the first and 23 in the second.


I used 200 but any suitably large number would work.

The other problem is that verse++ at the real end of a chapter would neither 
advance to the first verse of the next chapter nor throw an error.
That would depend on what the "real" chapter end is.  In some cases the 
KJV chapter end is offset by a verse, or even a few verses, from the 
Hebrew Bible.  And the Septuagint is sometimes offset by a whole 
chapter.  (Though of course, any v11n is simply a reference system 
imposed on the Bible by a later editor.)


In Him
DM

Cent from my fone so theer mite be tipos. ;)

On Jul 16, 2011, at 1:59 PM, David Troidl  wrote:


Wouldn't it be possible to have one "master" v11n, that all the others could 
map to (linear growth), rather than trying to map them all to each other (exponential 
growth)?

For example:
1) Psalm 3 could retain the Hebrew Bible numbering, and KJV map the heading to 
3:1, and 3:1 to 3:2, etc.
2) Psalm 23, the Hebrew could be subdivided: 23:1a being the header (23.1!a in 
OSIS), and 23:1b the KJV 23:1.  Then of course the HB would have to map 23:1 to 
the range 23:1a-23:1b.

It would probably be best to start with the Hebrew Bible, and work off of it to 
accommodate the others.

This would require a study of the existing v11n's, but would probably be worth 
the effort (for some volunteer who had the time).

Peace,

David

On 7/16/2011 6:33 AM, Troy A. Griffitts wrote:

OK, to summarize where we are, for those who haven't read all the
details and would like to jump in this weekend on the conversation
(Konstantin, please correct me if I've misrepresented your position).

I) Konstantin proposed 2 possibly paths and outlined the benefits and
drawback for both, favoring #2 (path and initial summary, quoted):


1. module installation may also install v11n to common folder
1: there is need of a lot attention from crosswire developers, to get

this way work proper without collisions and non-coordination


2. each module may have its own v11n, no dynamic shared v11ns
2: create, test, deliver is simple. just tell in *.conf file to load

v11n from module


II) I expressed concern about the "no dynamic shared v11ns" aspect of
#2, stating that it:


disregards our objective to ultimately provide a way to position

Bibles of differing v11ns to the same content.

and stressed the unhappy need for the extra work


to enumerate and define versification systems

so module developer can avoid defining how their Bible maps to all other
Bible modules, but instead can say:


"I am basically "Synodal", but have these 5 exceptions, and here is

how these 5 exceptions should be handled in relation to "Synodal."

III) Konstantin clarified/proposed a hybrid system where we still seek
to define 'canonical' (no pun intended) internal v11ns, but if an
internal v11n doesn't yet exist for a module, then the module developer
can provide a private v11n used only for his/her own module.  The
primary benefit being that  Primary benefit is that module development
can move forward before internal v11n is supported in engine.


Troy


On 15/07/11 17:50, Konstantin Maslyuk wrote:

You make a great and convincing case for proceeding down path #2.

 2. each module may have its own v11n, no dynamic shared v11ns

Path #2, though, disregards our objective to ultimately provide a way to
position Bibles of differing v11ns to the same content.
I would love to forget about trying to enumerate and define
versification systems (I'm sure Chris would as well), and to stop asking
each Bible module maker to pick which system best represents their data.

We currently have 13 systems in our engine.  Eventually we need to
extend VerseMgr with a facility to map these between one another
(possibly your implementation).

You have stated that you have tried with your code


KJV(A)<->   Synodal<->   Vulg<->   NRSV v11ns

This implies there exists such a thing as a named list of versification
system in our engine (i.e., NOT path #2).

Of cource, most common v11ns must be hard coded! I can not understand
here why
path #2 can not have mixed v11ns: several built-in and several
module-supplied.

Except without remark that module name with module-supplied v11n can not
be same
as built-in v11n.

This would be problem of bad statement of thoughts, i didn't meant that
all modules
should have module-supplied v11n. Sorry.


I do not see a problem in making mapping through v11n other than KJV,
but verse
mapping must always be thought built-in v11n. One v11n for mapping would be
enought, or one meta-v11n.

Though i do not know yet al

Re: [sword-devel] SUMMARY TO DATE [load v11n from file]

2011-07-16 Thread Konstantin Maslyuk

I think it would be just a binarized canon header file:

string, string, string, int,
string string, string, int,
. . .

DM Smith  писал(а) в своём письме Sat, 16 Jul 2011  
18:07:21 +0400:


For JSword, I'm planning on having the v11n in external resources. If  
the performance is not good, then it'll be moved internally. Can we  
define the format of the file? That way, we won't need to change it if  
SWORD ever externalizes it.


In Him,
DM

On Jul 16, 2011, at 6:33 AM, Troy A. Griffitts wrote:


OK, to summarize where we are, for those who haven't read all the
details and would like to jump in this weekend on the conversation
(Konstantin, please correct me if I've misrepresented your position).

I) Konstantin proposed 2 possibly paths and outlined the benefits and
drawback for both, favoring #2 (path and initial summary, quoted):


<вырезано>

this way work proper without collisions and non-coordination


<вырезано>

v11n from module


II) I expressed concern about the "no dynamic shared v11ns" aspect of
#2, stating that it:


<вырезано>

Bibles of differing v11ns to the same content.

and stressed the unhappy need for the extra work


<вырезано>


so module developer can avoid defining how their Bible maps to all other
Bible modules, but instead can say:


<вырезано>

how these 5 exceptions should be handled in relation to "Synodal."

III) Konstantin clarified/proposed a hybrid system where we still seek
to define 'canonical' (no pun intended) internal v11ns, but if an
internal v11n doesn't yet exist for a module, then the module developer
can provide a private v11n used only for his/her own module.  The
primary benefit being that  Primary benefit is that module development
can move forward before internal v11n is supported in engine.


Troy


On 15/07/11 17:50, Konstantin Maslyuk wrote:

<вырезано>



___
sword-devel mailing list: sword-devel@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@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@crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page

Re: [sword-devel] load v11n from file

2011-07-16 Thread Konstantin Maslyuk

I. Currently
  1) We force module developers to choose a v11n.  This is painful for
them, but in their own interest, as it will enable their module to work
within the future utopia of a cross-module equivalent content
reconciliation implementation (CMECRI, pronounced: see-me-cry)
   2) The downside for the module developer is:
a) their module sometimes has verses concatenated together if they
choose a v11n which doesn't have enough 'slots';
b) worse, they don't have a v11n yet available to choose


I would agree here, for the sake of few places that can be forced to any
existent v11n there is no need to define and use module-supplied v11n.

Except definition of 'future utopia', at least because i have everything
to define and get the same content for such unlike modules as KJV and
RusSynodal.


II. If we enable the ability for a module to supply something like
/v11n.conf, which defines a custom v11n, I fear:


I hope that i persuaded you that path #2 is preferred, because in relation
of user repositories with path #1 collisions are inevitable.


  1) PEOPLE WILL ACTUALLY USE IT... always... because they are
shortsightedly of the opinion it is 'right'.
a) Module developers will never accept I.2.a, but instead will
always define their own v11n so their verses will never be merged with
another verse.
b) I can see module repositories existing which publish Bibles and
Commentaries which always include a v11n.conf.  We cannot optimize for
this and cannot easily move forward with CMECRI in this hypothetical
scenario.


I m not sure, define v11n with mappings is not a simple thing. If you make
changes in canon you also need to define how this changes are mapped. It is
additional work that need a lot of attention to make every thing work
right. I'm
not sure that for module maker way to contract or expand a few of verses is
simpler then to define own v11n. Even in regard of that module maker thinks
that his source is the most right.

I can share concerns of that tomorrow every module maker will make own
v11n. But i also was witnessed that engine changes would destroy a module,
when
in Synodal canon in Psalms was added one verse, and i got skipped first
verse
in every chapter across the rest of OT.

It is great if module maker forced to use any standard v11n for his
module, but
it will be terrible if one day in that v11n something will change. If we
change
something in canon in engine then, we need to synchronously update all
existing
modules of that canon.

With external v11n displayed result will always be the same.

Summarize, we may need external v11n to avoid desynchronization of v11n in
engine
and module, but we may need to close access to the tools.


  2) WE LOSE MOTIVATION
a) for module developers to do the hard work and give us the
information we need about their module, for us to move forward with
CMECRI. e.g., we need to know with which v11n their module best fits,
and we need to know where the exceptions lie.  I realize we can still
ALLOW them to provide this data, but if they are not forced to make
these decisions, like they are currently forced to do, they will not
make these decisions.
b) for us to continue to define v11n systems.  If we don't need to
define a common denominator v11n for a set of modules before we can
release them, we won't... well, we won't as quickly as we would if we
had to.


Agree, centralized work over v11ns is still necessary.

You have very strict policy of accepting modules even not regarding to
copyright issues. I have Russian Commentary that was ignored twice on
mod...@crosswire.org (i cant remember, at least ones).

Open Source gives ability to do every thing to anyone with preservation
of centralized development.


___
  Just to be sure we both have the save vision of module v11n utopia, I
think we both have similar desires like:
 All the world's v11n systems defined internally in the engine in under
50 v11ns.
 CMECRI between any 2 systems.
 Module developers have to choose the best match, and provide exceptions,
(which even allows verses to exist which otherwise might be merged, and
which CMECRI takes into account).
  Yes?


I do not see difference internally or externally if we talk about final.
Internally it is normal for me and i can agree with this.

But this thread is more about how we will achieve this 50 v11n with correct
transitions between.

And would i consider this as lets delay publication of Russian modules for
years yet, to ensure we have correct mappings to other v11ns?


___
sword-devel mailing list: sword-devel@crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page


Re: [sword-devel] Prevent setKey from 'Leaking' into overlapping chapters/books

2011-07-16 Thread Alex S
Ok, I did what Troy initially recommended, i.e. Checking if 
VerseKey.getVerse()>VerseKey.getMaxVerse, ditto for the chapter. If this is 
true, I used ListKey.SetToElement() and ListKey.Remove() to remove the invalid 
reference(s).

Works great.

I can see the utility of wrapping for interactive GUI apps, but it's not 
useful for single command-line reference lookups, such as in the example I 
referred to originally.

Thanks for the help.

Regards,
Alex


On Jul 16, 2011, at 11:56 AM, "Troy A. Griffitts"  wrote:

> Hey Alex,
> 
> Well, it depends on what behavior you want to happen when parsing an
> 'invalid verse reference'.
> 
> 1) Error() should be raised when parsing is completely misunderstood
> 
> 2) You can set VerseKey::Normalize to false, and arguably Error() should
> be raised when parsing chapters and verses outside of the versification
> system, but I'm not sure Error() is raised currently.
> 
> 3) if Normalize is false, you can check chapter and verse against
> VerseKey::getChapterMax() and VerseKey::getVerseMax() to see if it is
> outside the versification system.
> 
> Hope this is slightly useful.
> 
> You'll find the wrapping useful for things like:
> 
> // show a context window
> int contextWindow = 5;
> for (verseKey-=(contextWindow/2); !verseKey.Error() && contextWindow;
> verseKey++) ...
> 
> // show previous chapter
> verseKey.setChapter(verseKey.getChapter() - 1)
> ...
> 
> etc.
> 
> 
> Regarding more API help and more examples.  There is some documentation
> pulled from the comments in the code as doxygen here (but not as concise
> or helpful for a beginner as could be):
> 
> http://www.crosswire.org/~ghellings/1_6_2classdocs/
> 
> But I think your best bet is the examples/ and tests/ directory in the
> source tree.
> 
> If there is an example you would like to see, please shout and we can
> write one up together and improve the resources of example out.
> 
> Troy
> 
> 
> 
> 
> 
> 
> On 16/07/11 17:36, Alex S wrote:
>> Hi folks,
>> 
>> I'm just getting started with Sword, and Im working through the included 
>> examples. How can I prevent the verse parser from mapping a non valid 
>> reference to the next logical book/chapter?
>> 
>> For example if I run verserangeparse (in /examples) with "jn22:1" I get acts 
>> 1:1, which is the next logical chapter/verse since jn22 doesn't exist. 
>> 
>> Verserangeparse jn243:1 yields revelation 22:1
>> 
>> Any help? Sorry for the noob question...
>> 
>> Also, is there more extensive API documentation than the API primer on the 
>> crossword site?
>> 
>> 
>> Regards,
>> Alex
>> 
>> 
>> 
>> ___
>> sword-devel mailing list: sword-devel@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@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@crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page


Re: [sword-devel] SUMMARY TO DATE [load v11n from file]

2011-07-16 Thread DM Smith

On Jul 16, 2011, at 3:57 PM, David Troidl wrote:

> 
> 
> On 7/16/2011 3:03 PM, DM Smith wrote:
>> It is possible at least in part. Just define a v11n with 200 chapters per 
>> book and 200 verses per book. This doesn't handle alternate book order.
> I think you misunderstood.

Rereading your post, I think I did misunderstand. I see you were talking about 
a v11n that would never be directly used by a Bible, but rather as the arbiter 
of CMECRI.

>  Haggai has 2 chapters in any v11n I know of.  It would continue to have 2 
> chapters in the "master".  And unless there were some Bible that disagreed, 
> it would still have 15 verses in the first and 23 in the second.

True. At least as far as the few versifications that I've looked at. But given 
my ignorance of *all* versifications, the suggestion of arbitrarily large 
number of chapters and verses was to have way more than enough space for all 
possibilities and have no need/consideration for rational analysis.

I picked 200 because it was an even hundred, and bigger than the number of 
verses or chapters in any Bible book.

-- DM

>> 
>> I used 200 but any suitably large number would work.
>> 
>> The other problem is that verse++ at the real end of a chapter would neither 
>> advance to the first verse of the next chapter nor throw an error.
> That would depend on what the "real" chapter end is.

This is where my reading of your note went astray. This v11n would not be used 
by the KJV or any other Bible.

> In some cases the KJV chapter end is offset by a verse, or even a few verses, 
> from the Hebrew Bible.  And the Septuagint is sometimes offset by a whole 
> chapter.  (Though of course, any v11n is simply a reference system imposed on 
> the Bible by a later editor.)
>> 
>> In Him
>> DM
>> 
>> Cent from my fone so theer mite be tipos. ;)
>> 
>> On Jul 16, 2011, at 1:59 PM, David Troidl  wrote:
>> 
>>> Wouldn't it be possible to have one "master" v11n, that all the others 
>>> could map to (linear growth), rather than trying to map them all to each 
>>> other (exponential growth)?
>>> 
>>> For example:
>>> 1) Psalm 3 could retain the Hebrew Bible numbering, and KJV map the heading 
>>> to 3:1, and 3:1 to 3:2, etc.
>>> 2) Psalm 23, the Hebrew could be subdivided: 23:1a being the header (23.1!a 
>>> in OSIS), and 23:1b the KJV 23:1.  Then of course the HB would have to map 
>>> 23:1 to the range 23:1a-23:1b.
>>> 
>>> It would probably be best to start with the Hebrew Bible, and work off of 
>>> it to accommodate the others.
>>> 
>>> This would require a study of the existing v11n's, but would probably be 
>>> worth the effort (for some volunteer who had the time).
>>> 
>>> Peace,
>>> 
>>> David
>>> 
>>> On 7/16/2011 6:33 AM, Troy A. Griffitts wrote:
 OK, to summarize where we are, for those who haven't read all the
 details and would like to jump in this weekend on the conversation
 (Konstantin, please correct me if I've misrepresented your position).
 
 I) Konstantin proposed 2 possibly paths and outlined the benefits and
 drawback for both, favoring #2 (path and initial summary, quoted):
 
> 1. module installation may also install v11n to common folder
> 1: there is need of a lot attention from crosswire developers, to get
 this way work proper without collisions and non-coordination
 
> 2. each module may have its own v11n, no dynamic shared v11ns
> 2: create, test, deliver is simple. just tell in *.conf file to load
 v11n from module
 
 
 II) I expressed concern about the "no dynamic shared v11ns" aspect of
 #2, stating that it:
 
> disregards our objective to ultimately provide a way to position
 Bibles of differing v11ns to the same content.
 
 and stressed the unhappy need for the extra work
 
> to enumerate and define versification systems
 so module developer can avoid defining how their Bible maps to all other
 Bible modules, but instead can say:
 
> "I am basically "Synodal", but have these 5 exceptions, and here is
 how these 5 exceptions should be handled in relation to "Synodal."
 
 III) Konstantin clarified/proposed a hybrid system where we still seek
 to define 'canonical' (no pun intended) internal v11ns, but if an
 internal v11n doesn't yet exist for a module, then the module developer
 can provide a private v11n used only for his/her own module.  The
 primary benefit being that  Primary benefit is that module development
 can move forward before internal v11n is supported in engine.
 
 
 Troy
 
 
 On 15/07/11 17:50, Konstantin Maslyuk wrote:
>> You make a great and convincing case for proceeding down path #2.
>>> 2. each module may have its own v11n, no dynamic shared v11ns
>> Path #2, though, disregards our objective to ultimately provide a way to
>> position Bibles of differing v11ns to the same content.
>> I would love to forget about tr