[sword-devel] Convert markup in all modules to OSIS?

Chris Little sword-devel@crosswire.org
Mon, 3 Mar 2003 12:50:43 -0700 (MST)


On Mon, 3 Mar 2003, Simon wrote:

> Well, why not keep the main code and the import/export code strictly
> separate? By doing so the number of possible bugs in the maincode will
> reduce. I know programmers don't like that way of arguing (in my job as
> Software Architect I face that problem day-by-day), but if done that
> way, the resultcode is much more stable (lesser bugs), and easier to
> maintaince.

Every project has code that is more central and code that is less central 
to a given person's needs.  Since Sword is a library for 3rd party 
development, we still need to provide functionality for import/export.  We 
also can't just dump support for something like other sourcetypes because 
of those projects that still use them and because it would force us to 
make every user update every module they have installed upon upgrading to 
a new version of Sword.

I guess another good reason not to move to OSIS right now is that we still 
don't have the OSIS filters themselves finished, and those that are 
done haven't really been tested.
 
> Well, sounds interesting. But, as far as I know, all marking up that is
> possible in HTML/GBS can be converted to OSIS (correct me if I'm wrong).
> I am currently writing a program what can do extensive converting. So,
> if you can give me a list of modules which don't convert with the tool
> you're using, maybe I can convert them for you...

Yup, you're wrong.  :)  OSIS does a great job when it comes to most 
basic markup.  That's all that OSIS Core was charged with handling.

Presentation markup, such as we have in some ThML modules that use 
extensive HTML (e.g. JFB, MHC, and CathEn if it were available), is not 
handled very much by OSIS Core.  You can do some things with stylesheets, 
and other stuff through non-standard extensions, but it would be better to 
wait for the OSIS Presentation module.

Text critical markup and linguistic annotation are two other planned OSIS 
modules that would provide standard ways of dealing with things for which 
there currently exist only practices without explicitly stated standards 
backing them up. (E.g. there's not really a defined way to identify a text 
variant, morphology, or even a Strong's number--though for the last, at 
least, there are agreed upon standard practices using the attribute 
extension mechanism.)
  
> Well, I have not yet read the OSIS-documtentation about references
> deeply. The only thing I couldn't find about reference-tags was linking
> to a multiple verses, like Psa 1:1-3 or Psa 1:1,2. Maybe you know how to
> do that in OSIS?

<reference osisRef="Bible:Ps.1.1-Ps.1.3"/> marks the first of these.  You
can do the same style for the second, but for a non-contiguous set, like
Ps 1:1,3, you would have to split it into two tags: <reference
osisRef="Bible:Ps.1.1"/><reference osisRef="Bible:Ps.1.3"/>

I don't think the limited documentation is very clear on this at all.  I 
think you would have to interpret the regex pattern for osisRef to glean 
this.  Better documentation is on the way, though, I believe.

--Chris