[sword-devel] Efficiently extracting section + chapter headers

Tobias Klein contact at tklein.info
Sun May 23 11:40:11 EDT 2021


When I extract the section headers using the search function this takes 
~700ms for Psalms (on my Core i7, measured on JavaScript side). I 
suppose it is much slower on a tablet or phone.

Is there any way to speed up this operation in the SWORD engine?

Best regards,
Tobias

On 5/23/21 2:20 PM, Tobias Klein wrote:
>
> Thanks, Troy.
>
> The issue was that I previously hadn't used this:
>
> mgr.setGlobalOption("Headings", "On");
> My new helper function now works after using that call initially.
>
> Best regards,
> Tobias
>
> On 5/22/21 11:09 PM, Troy A. Griffitts wrote:
>> Hi Tobias. Have a look at sword/examples/cmdline/search.cpp. I 
>> believe it takes an optional range parameter.
>>
>>
>>
>> On May 22, 2021 7:49:48 PM GMT+02:00, Tobias Klein 
>> <contact at tklein.info> wrote:
>>
>>     Hi Troy,
>>
>>     I can't seem to get the scope parameter of the search function right ...
>>     I either get crashes or no results.
>>
>>     How do I have to initialize the scope parameter for the module search so
>>     that I get the headings for one particular Bible book as search results?
>>
>>     Best regards,
>>     Tobias
>>
>>     On 4/12/21 9:07 PM, Troy A. Griffitts wrote:
>>
>>         Sure Tobias, module->getEntryAttributes() will allow you to
>>         pull the headings from a verse, and an Entry Attributes
>>         search for '/Heading' will give you only the verses with
>>         Heading entries attributes. I've thrown together a quick
>>         example here, which you can use with something like:
>>         ./showHeadings NASB Matt-John which will give you the
>>         headings from the Gospels.
>>         https://crosswire.org/svn/sword/trunk/examples/tasks/findHeadings.cpp
>>         <https://crosswire.org/svn/sword/trunk/examples/tasks/findHeadings.cpp>
>>         Creating this example, I found I needed to fix a bug in the
>>         engine.  The engine Entry Attributes search lets you search
>>         for values in the entry attributes (e.g., a Strong's number
>>         1234).  In your use case, when searching, you don't care
>>         about the value; you only care about presence.  This wasn't
>>         working, but simple presence can now be searched for with my
>>         latest commit. Hope this helps, Troy On 4/12/21 9:31 AM,
>>         Tobias Klein wrote:
>>
>>             Hi, I have been getting a request from a user to render
>>             section headings independently of the currently opened
>>             bible translation module. So for example when opening the
>>             KJV still using the section/chapter headers of the NASB.
>>             This would be useful in those cases when the respective
>>             bible translation module does not come with
>>             section/chapter headers, but another one does. A
>>             requirement would be to efficiently extract
>>             section/chapter headers from a module using the SWORD
>>             API. As of now I only see that you can iterate over the
>>             verses of a book and individually scan each verse for the
>>             headers. Is there a more efficient way of doing that?
>>             Another use case could be to render a book outline. This
>>             is what I am already doing now in Ezra, but in a way that
>>             is not so clean (I am traversing the DOM looking for all
>>             section header elements of the current book). Best
>>             regards, Tobias
>>             ------------------------------------------------------------------------
>>             sword-devel mailing list: sword-devel at crosswire.org
>>             http://crosswire.org/mailman/listinfo/sword-devel
>>             <http://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://crosswire.org/mailman/listinfo/sword-devel
>>         <http://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://crosswire.org/mailman/listinfo/sword-devel  <http://crosswire.org/mailman/listinfo/sword-devel>
>>     Instructions to unsubscribe/change your settings at above page
>>
>>
>> -- 
>> Sent from my Android device with K-9 Mail. Please excuse my brevity. 
>
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://crosswire.org/pipermail/sword-devel/attachments/20210523/b71c4669/attachment.html>


More information about the sword-devel mailing list