[jsword-devel] osis and jaxb
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. :)