[jsword-devel] osis and jaxb

Eric Galluzzo jsword-devel@crosswire.org
04 Jan 2003 18:44:42 -0500

On Thu, 2003-01-02 at 18:54, Joe Walker wrote:
> Currently JSword uses its own XML format to represent Bible data before 
> it gets to the view (to use MVC terms)
> I've always thought that it would be better to use a standard and it 
> would seem that OSIS is it. I've read through the schema, and it seems 
> to do just what we need.

Yep, OSIS seems like the perfect format for JSword data to me.  It
should also be easy-ish to write a converter from GBL to OSIS, and then
one can write an XSLT stylesheet to convert OSIS into most anything

> I fancy taking some short cuts by using JAX-B to generate a parser and 
> some Java classes to help us work with OSIS data.

Sounds reasonable, although I usually distrust autogenerated bindings
(or autogenerated anything else) until I've seen how good they are. :) 
One big disadvantage to this sort of thing is that adding business
methods to those classes is impossible if one ever wants to regenerate
the classes.  A friend of mine is working on a technique to make this
possible, but it's not quite proven yet, and even when it is, it may not
work for JAXB.

> Troy, do you have any string feelings about how we should generate 
> classes to represent OSIS data?
> I've also generated some HTML and word docs from the OSIS spec to make 
> it easier to navigate because I couldn't find anything at 
> http://www.bibletechnologies.net. Are you interested?

I'm definitely interested.  Also, I've got a work-in-progress stylesheet
to convert OSIS to HTML for viewing (requires a Xalan-specific extension
in order to break long documents up).  The only kinda cool feature is
that it hyperlinks each word (with color: black; text-decoration: none,
so that it doesn't look like a link) to the appropriate Strong's
definition.  I don't really know who I should give this to, but would
anyone on this list be interested?

> This is all a bit blue-sky right now - I'm working on getting Lexicon 
> and Dictionary support working, but it should be done soon.

Cool!  Thanks for the info. :)

    - Eric