[sword-devel] Sword OSIS quotation mark handling question

DM Smith dmsmith555 at yahoo.com
Tue May 1 06:09:19 MST 2007


Kahunapule Michael Johnson wrote:
> So... it sounds like I could simply convert USFM to OSIS with the
> obvious conversions (like \p ... -> <p>...</p>) plus
>   

Remember to have the <p> surround the entire paragraph.

In various source I have seen the equivalent of \p be nothing more than 
a paragraph separator, with the ambiguity that the first verse of 
chapters does not have a \p. There may be paragraphs that don't begin or 
end on a chapter boundary.

osis2mod will convert the open and close tags to <lb 
type="x-begin-paragraph"/> and <lb type="x-end-paragraph"/>, 
respectively. These x- types are non-standard, but they allow a lossless 
reconstruction of the original.

> \qt -> <seg type="otPassage" sID="someid"/>
> \qt* -> <seg type="otPassage" eID="someid"/>
>   

When you use sID/eID, OSIS "requires" that they be paired and each pair 
have unique values. Sword does not care at this point in time about this.

I found having a stack for each distinct milestone usage (e.g. <q>, 
<seg>, <div>) it is constructive to have a stack and a counter. When a 
open element is found, its counter is pushed onto the stack and 
incremented. When an close element is found, it is popped off the stack. 
For quotes, I find the depth of the stack useful for populating the 
level attribute. If when the document is finished the stack is 
non-empty, then I have a bug somewhere.


> \wj -> <q who="Jesus" marker="" sID="someid2"/>
> \wj* -> <q who="Jesus" marker="" eID="someid2"/>
>   

With the WoC, I would ask, selfishly, that you use the container form of 
<q>, that is
<q who="Jesus">...</q>

so
\wj -> <q who="Jesus">
\wj* -> <\q>

JSword cannot handle the milestoned form at this time.

> << -> <q marker="“" sID="x"/> (unless at the beginning of a paragraph
> with an unended quotation in progress, then <milestone type="cQuote"
> marker="“"/>
>   
>>> -> <q marker="”" eID="x"/>
>>>       
> < -> <q marker="‘" sID="y"/> (unless at the beginning of a paragraph
> with an unended quotation in progress, then <milestone type="cQuote"
> marker="‘"/>
>   
>> -> <q marker="’" eID="y"/>
>>     
> I think at this point, my best option to convert quotation punctuation
> found in the text (not as << type markup) is to just leave it in the
> text and not try to disambiguate apostrophes. It should display properly
> anyway. 

For a general purpose converter, that deals with apostrophes having 
meanings that differ according to the language and the text, it 
reasonable to not disambiguate them.

> Since the q elements generated from WoC (\wj) markup will never
> span verses in this implementation, but the actual quote often does, it
> is probably better to not combine the two resulting q elements at the
> beginning and end of the quotation into one q element, because then the
> start/end points wouldn't line up properly for one or the other of the
> meanings of the element (quotation start/end marking vs. text coloration).
>   

Right. The two cannot be combined. Precisely because they are two 
different semantics, differing in markup and in meaning.

There are some instances where there is an "island" of text, a gloss, a 
parenthetical statement, by the book's author, in the WoC that does not 
force the quote to begin and end around it, but needs to be 
distinguished from it.

> Does that make sense?
>   

It makes sense.

> Chris Little wrote:
>   
>>>> There's always <hi type="small-caps">. :) (Um... not that I would ever 
>>>> recommend such heresy as taking semantic markup from USFM and turning it 
>>>> into presentation in OSIS.
>>>>       
>>>>         
> Of course not. ;-)
>   



More information about the sword-devel mailing list