[sword-devel] Problem with display of references

DM Smith dmsmith at crosswire.org
Thu May 7 02:27:05 MST 2009

On May 7, 2009, at 4:46 AM, Adrian Korten wrote:

> Good day,
> I am trying to help with a Thai version of Torrey's New Topical  
> Textbook. However, the references are not working as I expected.  
> Could someone please explain what I'm doing wrong or if it is a bug  
> or missing feature? I am using the Sword Project for Windows but  
> don't know this has to do with the sword engine or the UI.

I don't know ThML well enough to comment on it, but will regarding OSIS.

> I have tried this with ThML and OSIS style references in a IMP file.  
> They have different results but the end result is not what I'd like.  
> I have attached my test files. What I would like is to only display  
> the Thai text in the lexicon window. I'd like to have a pop-up or  
> jump-to verse selection available. What I would like is for it to  
> read the English/standard bible references but display the Thai  
> references.
> Instead, the OSIS version seems to read and display only the Thai  
> references and does not pop up a verse or display a verse list.  
> While the ThML version seems to read and display the English/ 
> standard references and then pop up a verse(s) or display a verse  
> list.
> I have not tested this a fully conformant OSIS or ThML document. Is  
> that the problem?

No, it is not a problem. The SWORD engine does not care as long as the  
parts are as it expects. Using imp2mod is a great way to do testing.

> Or is it something else? Nor have I tested it with other programs on  
> other platforms because most of the users will be Windows users and  
> most already have the Sword Project version.

To see if this is a UI problem try it in Xiphos on Windows which uses  
the SWORD engine. To see if it is an encoding problem, try  
BibleDesktop, which uses the JSword engine.

> - OSIS example <reference osisRef="Jer.32.39">ch. 32:39</reference>

This is the proper form and should show "ch. 32:39" as the text for a  

> - english ref test <reference osisRef="Act.12.5"> Lukes book </ 
> reference>
> $$$BEAR, THE
> The kingdom of Antichrist<br /><reference>Rev 13:2</reference>

This is not a proper reference as it has no osisRef. It should display  
Rev 13:2, but not as a hyperlink.

> $$$ประกาศ
> โดยพระคริสต์ <reference osisRef="Eph.2.17,  
> Act.10.36"> เอเฟซัส 2:17 กิจการ 10:36 </ 
> reference><br />

This is not a valid osisRef as it is using a comma and not a space for  
a separator.

> โดย ผู้รับใช้พระเจ้า <reference  
> osisRef="Isa.52.7, Rom.10.15"> อิสยาห์ 52:7, โรม  
> 10:15 </reference><br />
> โดยทูตสวรรค์ <reference osisRef="Luk.2.14">  
> ลูกา 2:14 </reference><br />
> $$$จะพิพากษา
> เผยความในใจ <reference osisRef="Lev.12.14, 1Co. 
> 4.5">ปัญญาจารย์ 12:14 1 โครินธ์  
> 4:5</reference><br />
> ผู้ใดจะยืนอยู่ได้ได้  
> <reference osisRef="Psa.130.3, 143.2, Rom 3:19">สดุดี 130:3  
> 143:2 โรม 3:19</reference><br />

This is not a valid osisRef, not only because of the comma, but also:
Psa is not the OSIS name for Psalms.
143.2 does not have a book name.
Rom 3:19 is not an OSIS ref as it uses spaces and colon.

While it is not a valid osisRef, both the SWORD and JSword engines  
probably don't care and probably can create a verse list from it just  

And while it is valid to have an osisRef point to more than one verse,  
I don't think the SWORD engine handles it all that well. Most SWORD  
frontends are chapter at a time viewers. Having a reference point to  
two or more chapters would be problematic. (The same probably goes for  
ThML, too.)

It would be better to encode this last one as:
<reference osisRef="Ps.130.3">สดุดี 130:3</reference>  
<reference osisRef="Ps.143.2">สดุดี 143:2</reference>  
<reference osisRef="Rom.3:19">โรม 3:19</reference>

Hope this helps.


More information about the sword-devel mailing list