[sword-devel] Importan Issue: Crossreferences

Troy A. Griffitts sword-devel@crosswire.org
Mon, 28 Aug 2000 18:35:00 -0700


You might not like this response at first, but spend a minute or two and
think about it:

	I've left this up to the frontend to decide how Bible references are
formatted.

Think about this.  We have many different markup implementations for
texts.  These are then run through a filter that knows about the markup
language, and also knows about the frontend's desired markup.  Thus we
have GBFHTML, etc., filters.  What's the difference between assuming the
filter knows how the frontend wishes to display the module, and assuming
the filter know how the frontend wishes the get reference marks?

Ultimately, there is a design proposal in the API ref on the website
that uses an intermediate markup language to which all texts would be
converted, then from this common markup, we could render to the
frontend.  I believe this 2 phase conversion allows much more modular
and reusable filters and will solve this very issue.  The API will be
responsible for the first phase (getting the module text from whatever
format into the common markup), and the frontend writer will be
responsible for a filter from this common markup to what he or she wants
to render.  This would also cut down on the number of filters
exponentially, as there would be no need for a 'From every, to every'
set: GBFHTML, GBFRTF, ThMLHTML, ThMLRTF, PlainHTML, PlainRTF, etc.,
etc.  But instead: GBFCOMMON, ThMLCOMMON, PlainCOMMON, COMMONHTML,
COMMONRTF.

OptionsFilters could also be radically reduced.  Instead of trying to
provide GBFFootnotes, redletter, strongs, and everything else, for each
format to each format, instead, the OptionsFilters would be written
against the common markup and would work for everything.

This will, of course, impose more overhead, but only for rendering,
which, I don't believe, we are having any speed issues at the moment.


	Thoughts?

		-Troy.



Joachim Ansorg wrote:
> 
> Am Mon, 28 Aug 2000 schrieben Sie:
> > Joachim Ansorg wrote:
> > > ...
> > > IMHO this is a very important issue for SWORD and frontends like
> > > BibleTime. I have much requests from users of BibleTime that we should
> > > implement support for bible crossreferences.
> > > Basically we have it, but SWORD and BibleTime are missing two important
> > > things:
> > >
> > >         -A standard in modules how crossreferences should be formatted.
> > > At the moment every module uses it's one reference formats (GBF, RAW
> > > etc.). This is the most important issue. Otherwise we would have to add
> > > time wasting regexp mattching things etc. and every frontend has to
> > > implement it's own solutions. It's not good not to have a standard for
> > > crossreferences.
> > >
> > >         -A standard how the crossreferences should be formatted as HTML
> > > (generated by the GBFHTML and PLAINGHTML filters) and how they should
> > > look like in PLAIN formatted text etc.
> > > In BibleTime we use as a quick hack the following syntax (as an example):
> > >
> > > <A HREF="ref://Genesis 1:1">Reference to Genesis 1:1</A>
> > >
> > > Is there somewhere a crossreference standard on the internet? If yes,
> > > should we use it?
> >
> > Use ThML - it's all worked out for you.
> >
> > Use ThML.  Use ThML.  Use ThML.  Use ThML.  Use ThML.  Use ThML.  This
> > is not a recording.
> >
> > :-)
> 
> Sure, ThML is possible. But we have a HTML widget in BibleTime, and somehow
> the filters like ThML2HTML have to work.
> And only a few modules are using ThML.
> Other solutions?
> 
> --Joachim