[sword-devel] Titles and other Inter-verse material

Chris Little chrislit at crosswire.org
Mon Jul 23 19:06:15 MST 2012

On 07/23/2012 07:09 AM, David Haslam wrote:
> To chip in with one additional observation, to add to DM's list of bullet
> points....
> Our esteemed friend who developed *xulsword* abandoned the use of line group
> and line elements for poetry.
> He came to the conclusion that where chunks of poetry start and finish is
> often ill-defined in the texts that we receive, even when they are made
> using UBS Paratext.

Poetry is ill-defined in source documents, therefore OSIS markup for 
poetry should not be used? There must be some part of this story that is 
missing, because that isn't logical.

> Couple that with the fact that there are some XML elements disallowed within
> OSIS line elements,
> (titles for example), then the task of correctly placing these elements can
> be insurmountable.

What would be the use of a title element within a lineGroup? There are 
some bugs in the OSIS schema, but the vast majority of cases in which a 
particular sequence is un-encodable are intentional and indicate that 
you're probably encoding incorrectly. A lineGroup with a title in it 
sounds like two lineGroups to me.

> He therefore introduced a new OSIS element <milestone type="x-p-indent" />
> It's used to provide a poetry indentation as an alternative to using line
> elements with level attributes.
> Currently, deeper indents are created by two or three <milestone
> type="x-p-indent" /> elements in series.

That sounds incredibly bad. It's up there with milestoned <p/>.

Why not just encode &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * the number of 
indents? Or use the UTF-8 equivalent, which is only 10-bytes long. They 
both require no processing by rendering filters and are meaningless as 
standard markup like the milestone tag above.

> By foregoing the use of line group and line elements, he's able to make
> xulsword display poetry pretty nigh perfectly,
> and at the same time to ensure that related preverse titles do not end up
> having verse tags, etc.

But how does xulsword perform with correctly encoded text?

> His method makes much more use of the simple line break element <lb /> than
> most of our own modules.

<lb/> should basically never appear in a Bible text. I've used it a few 
times in dictionaries & GenBooks, but Bibles really only need <div>, 
<p>, and <lg>/<l> to indicate where lines break. We added <lb/> because 
one of OSIS's sponsors required it to mark typographical linebreaks that 
appear within poetic lines in a printed edition of one of their Bibles.


More information about the sword-devel mailing list