[osis-core] empty tag / milestone proposal

Steve DeRose osis-core@bibletechnologieswg.org
Wed, 19 Jun 2002 21:47:41 -0400


At 02:27 PM -0400 06/19/02, Harry Plantinga wrote:
>I can think of two reasons why such usage would be less than
>idea. (Of course, all solutions to the overlapping hierarchies
>problem are less than ideal.)
>
>1. In <verse verseID="jn.1.1" mStart="jn.1.1"/>In the beginning...<verse
>mEnd="jn.1.1"/>, the verse is not a container as far as CSS, XSLT,
>etc. are concerned.  Want to render in HTML and give a style to the
>whole verse?  Can't do it, unless you put some container around the verse.

That's the thing that first convinced me the segmentation approach was good.

>
>To process a verse like this, you might have to parse the whole document,
>turning on processing at the opening <verse/> and turning off processing
>at the closing <verse/>. That means every access to such an element
>means traversing the whole document, or some large part of it.
>
>2. Worse, what is between the <verse/> tags may not be well-formed xml.
>E.g.
>
><p>...<verse verseID="jn.1.1" mStart="jn.1.1"/>In the </p>beginning...<verse
>mEnd="jn.1.1"/>
>
>The verse itself is
>
>In the </p> beginning...
>
>What are we to make of that? what elements might it be intended that
>the "In the" belongs in? Do we have to search backwards to see where
>the <p> started, what its attributes were, etc?
>
>One way to process such things that I can think of is to process the
>smallest container containing both milestones and jump to/highlight
>the verse in question. (Hence the imporance of having <div> containers.)
>
>However, the other solution also has problems. If you split containers
>into pieces at overlapping hierarchy boundaries, you get unreasonable
>growth in the number of pieces you need when you have multiple overlapping
>hierarchies.

Yup, that's the kicker. For one crossing it's probably tolerable, but 
it explodes later, so it amounts to an early architectural decision 
that Kirk is going to have to place his markup external. Which may 
well be the best architecture anyway, but we'd be pretty much 
assuming that....

>
>I don't know how to solve these problems, but I would suggest that the
>linked containers would be easier if there is little overlap and the
>milestone approach may be necessary (though a pain in the posterior)
>if there is lots of overlap.
>

What if we provide segmentation in the core (and document the uglier 
cases and how to at least do them), and then add Troy's 'most things 
can be milestones when it helps' approach in 2.0? That would buy us 
time to work out the details more leisurely, and give us some 
feedback on how painful people find segmentation cases in actual 
practice.

Troy, since you've been doing this conversion stuff, what's your best 
guess on how many cases like the triple-embedding one you cited, 
actually come up in Scripture? Are we talking a few, or a few 
hundred, or...?
-- 

Steve DeRose -- http://www.stg.brown.edu/~sjd
Chair, Bible Technologies Group -- http://www.bibletechnologies.net
Email: sderose@speakeasy.net
Backup email: sderose@mac.com, sjd@stg.brown.edu