[sword-devel] Sword enhancement proposal [was: HTML filter cross references link]

Troy A. Griffitts scribe at crosswire.org
Tue Jul 29 03:01:38 MST 2008

Dear Manfred and Greg,

Yes, I believe this is mostly how JSword operates.

There are plenty of XML repository/database frameworks available, and a 
frontend developer is welcome to use one, instead of SWORD.

The SWORD Engine does not seek to be so generic a framework.  We are a 
Bible Software Engine and hope to do most all processing work for the 
frontend developer.

The benefit of having the SWORD engine encapsulate most processing is 
that we can all share a common set of tools and collaborate on their 
improvement for a variety of platforms (including embedded devices).

Does it remove some flexibility as to how the frontend developer wishes 
to display?  Not really and here is why.

If the SWORD engine is used how it was intended to be used a frontend 
developer can write a basic Bible Software frontend in a couple days 
because the engine encapsulates most of the processing work.  Only 
connecting hooks from the engine to a GUI is required.  If they seek 
more control over how things work, the engine provides mechanisms at 
most every point to allow a developer to plugin their own processing 
classes-- allowing them to fall back on the default processing of the 
engine as much as they want, but providing their custom processing when 
they feel it necessary.

There are a number of good technologies we could choose-- and your 
XML/XSLT idea is good.  But it is not the technology we use for realtime 
processing in the engine.  JSword uses this technology and if it would 
be more beneficial for your project, you might consider using their 
implementation, but I would hope you might help us genericize the 
HTMLHREF filters so we might all be able to share more of the default 
processing inside the SWORD engine.

What don't you like about how HTMLHREF display?  Is it the superscripted 
'x'?  Could we put it in a <span class="footnote_marker"> allowing you 
to write a CSS rule to display or hide as you would like?

Let me know how we can help you attain what you need.


Manfred Bergmann wrote:
> Am 29.07.2008 um 09:25 schrieb Chris Little:
>> Manfred Bergmann wrote:
>>> Am 29.07.2008 um 09:10 schrieb Chris Little:
>>>> Greg Hellings wrote:
>>>>> On Tue, Jul 29, 2008 at 1:45 AM, Manfred Bergmann
>>>>> <bergmannmd at web.de> wrote:
>>>>>> Although I don't understand right now how the Sword module data is
>>>>>> stored,
>>>>>> my proposal here is that Sword should have a simple intermediate
>>>>>> XML format
>>>>>> that can be used by API users to have full access to the module
>>>>>> data.
>>>>>> Simple HTML/RTF can still be produced from this intermediate
>>>>>> format by
>>>>>> Sword. But HTML should not be used to give access to the module
>>>>>> data while
>>>>>> at the same time raw data access should not be used.
>>>>>> Having XSDs would make is easy for API-users to use XML->Object
>>>>>> binding (I
>>>>>> only know JAXB in Java but this might be available to most
>>>>>> languages as it
>>>>>> is used in protocols like SOAP).
>>>>>> Also XSLT stylesheets can be used to produce HTML or whatever
>>>>>> output.
>>>>>> Frontends could choose to use the HTML rendered output or choose
>>>>>> totally
>>>>>> different approaches by using the data of the intermediate XML.
>>>>>> Let me know what you think.
>>>>> It seems to me that this is one of the better ideas.  After all,  
>>>>> the
>>>>> library should supply display-agnostic data to the front end, which
>>>>> then renders it into a display format, rather than presenting it  
>>>>> with
>>>>> a list of a few preselected display formats which are supported at
>>>>> the
>>>>> engine level.
>>>> If you want OSIS, just ask the engine for OSIS. There's no  
>>>> requirement
>>>> that you tell the API to render text as HTML or RTF. You can just as
>>>> easily tell the API to render to OSIS, and it will happily perform  
>>>> (or
>>>> at least attempt) the conversion from GBF and ThML to OSIS. The
>>>> and ThMLOSIS filters might need a little more work, but they should
>>>> already work fairly well.
>>> So that means, basically, there is something like intermediate XML
>>> produced on the fly.
>> Not by default, but you can certainly ask the API for XML in a single
>> format.
> Do you know approximately how expensive it is to filter to OSIS  
> instead of HTML?
> Manfred
> _______________________________________________
> 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