[sword-devel] Small problem with section headers in an OSIS module

Daniel Owens dhowens at pmbx.net
Sun Nov 30 01:30:45 MST 2008


Chris Little wrote:
> Tom Cornell wrote:
>> I'm using BibleTime 1.6.5.1, compiled with  (I'm pretty sure) Sword
>> 1.5.11. I don't think the problem can be in the front end, because the
>> ESV module behaves just fine in this regard. So I'm pretty sure there
>> is a wrinkle in the OSIS code that the ESV compilers got right and I
>> have gotten wrong.

I've had this problem with the VietNVB in the beta repository. Not sure 
what was done to make the ESV look so pretty, but I haven't been able to 
reliably reproduce it with the NVB myself. Look at Genesis 1.
- BT 1.6.5.1 (Sword 1.5.11) displays all headings, but v. 26 has the 
verse number on it's own line, just like what you describe. It think 
this is unique to BT, though I have seen it in the past in BibleDesktop.
- BibleDesktop 1.6 doesn't display any headings as headings in that 
chapter, though the heading for v. 26 appears as verse text.
- GnomeSword 2.4.0 does fairly well with all the headings, though the 
first one is appended to the end of the book introduction.
- BPBible misses the first heading but gets the one in v. 26.
- Not sure what BibleCS does...

I was working on the wiki, and it mentions that content before a <p> 
element when that element occurs before the verse element gets appended 
to the previous verse. I switched the other to <p><title..., and that 
seemed to help but not eliminate the problem of missing headings. You 
might play around with that.

See the Genesis 1 mod2imp output for VietNVB at the bottom of this email.

> 
> The description of the problem makes me initially suspect a frontend or 
> filter problem. That could be the case, even if the ESV looks right.
> 
> The other (very good) possibility is a problem with the importer. DM 
> just did a rather radical update to osis2mod (and by "just", I mean 
> since 1.5.11). So my first question would be: are you using osis2mod 
> from 1.5.11 (or another release) or are you compiling it from SVN?
> 
> Another piece of data that would help us to analyze where the bug is 
> (and I'm fairly certain it's a bug in someone's code) would be a chunk 
> of data from the module itself (post osis2mod). You can get at this by 
> running mod2imp on your module. Then search the resulting .imp file for 
> an example of the misbehaving data and post a snippet to the list. Since 
> you have headings, there should definitely have been some manipulation 
> of the data by osis2mod. It's just hard to guess what it might have done 
> wrong (if that's the case).
> 
> In the near term, if you just want to get things working, you might try 
> the other recent version of osis2mod (so, SVN if you used 1.5.11 or 
> 1.5.11 if you used SVN).
> 
>> My markup looks like this, basically:
>>
>> ...
>> </div>
>> <div type="section">
>> <title>The Section Title</title>
>> <verse sID="..." .../>...<verse eID="..."/>
>> ...
>> </div>
> 
> This markup is definitely correct.
> 
> 
> 
> More long-term, DM and I are in agreement that we need to change the way 
> we handle storage of OSIS documents within modules. We feel we need to 
> get away from the pre-verse hacks that you'll notice in the output from 
> mod2imp. And we feel we need to do a better job of preserving all of the 
> data in a document (including the <verse> tags themselves).

Amen! Not that I can do much to help with coding, but it would seem that 
such a new regime would make it much easier to faithfully represent osis 
texts as encoded.

> 
> When I committed a new version of osis2mod 3-4 years ago that did all of 
> this (in a way that neither harmed existing nor future data) it was 
> roundly rejected and reverted. I'm still convinced that preservation, 
> including storing <verse>, is the only solution to certain of our 
> problems. And I'm hoping that DM and I can convince the naysayers of the 
> merits of that position.

I hope you do. Is it a programming or performance issue? Aside from 
momentum, what's holding this back? It makes perfect sense to me, and it 
would make it easer to go from osis to mod to osis and back to mod with 
little lost, I would think.

Daniel

> 
> --Chris
> 
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page
> 

Notice the v. 1 title appended to the end of 0:0 and the apparently 
correct placement of the v. 26 title at the beginning of the verse. 
Could it be that BibleTime is taking the <div> element as a line break?

$$$[ Module Heading ]

$$$[ Testament 1 Heading ]

$$$Genesis 0:0
<lb type="x-begin-paragraph"/> <lb type="x-end-paragraph"/> <lb 
type="x-begin-paragraph"/> <lb type="x-end-paragraph"/> <lb 
type="x-begin-paragraph"/> <lb type="x-end-paragraph"/> <lb 
type="x-begin-paragraph"/> <lb type="x-end-paragraph"/> <title 
type="main">SÁNG THẾ</title> <div type="section"><title>Giới 
Thiệu</title> Sách Sáng Thế là sách nói về cuộc sáng tạo vũ trụ, nguồn 
gốc của loài người, tội lỗi, sự đau khổ trên thế giới và cách Đức Chúa 
Trời đối xử với loài người. Sách Sáng Thế có thể được chia thành hai 
phần chính: 1<hi type="italic">Chương 1-11</hi> Cuộc sáng tạo thế giới 
và lịch sử nhân loại thời cổ đại. Phần Kinh Thánh này nói về thủy tổ 
loài người, A-đam và Ê-va, Ca-in và A-bên, Nô-ê và trận đại hồng thủy, 
biến cố tháp Ba-bên. 2<hi type="italic">Chương 12-50</hi> Lịch sử tổ 
tiên người Do Thái. Quốc tổ của người Do Thái là Áp-ra-ham, gương đức 
tin và sự tuân phục Đức Chúa Trời của ông. Thứ đến là câu chuyện của 
Y-sác, con trai Áp-ra-ham, Gia-cốp (hay Y-sơ-ra-ên), cháu nội Áp-ra-ham 
và mười hai con trai của Gia-cốp tức là mười hai tộc trưởng của mười hai 
chi tộc Y-sơ-ra-ên. Cuộc đời của Giô-sép, một trong mười hai con trai 
của Gia-cốp được ghi nhận; câu chuyện này dẫn đến việc Gia-cốp và gia 
đình xuống sống ở Ai-cập. Mặc dù sách Sáng Thế nói về cuộc sống của một 
số người nhưng thực ra sách nói về hoạt động của Đức Chúa Trời. Trước 
hết sách xác nhận rằng Đức Chúa Trời sáng tạo vũ trụ và kết thúc với lời 
hứa rằng Ngài vẫn tiếp tục quan tâm đến loài người. Nhân vật chính của 
sách Sáng Thế là Đức Chúa Trời; Ngài xét xử và trừng phạt những kẻ phạm 
tội, hướng dẫn, giúp đỡ dân Ngài. Sách cổ này ghi chép lịch sử đức tin 
của một dân tộc và giúp gìn giữ, duy trì đức tin ấy sống mãi. </div> 
<div type="section"> <title>Bố cục</title> <list> <item>1 Cuộc sáng tạo 
vũ trụ và loài người 1:1-2:25</item> <item>2 Tội lỗi và sự đau khổ 
3:1-24</item> <item>3 Từ A-đam đến Nô-ê 4:1-5:32</item> <item>4 Nô-ê và 
trận đại hồng thủy 6:1-10:32</item> <item>5 Tháp Ba-bên 11:1-9</item> 
<item>6 Từ Sam đến Áp-ra-ham 11:10-32</item> <item>7 Các tổ phụ 
Áp-ra-ham, Y-sác, Gia-cốp 12:1-35:29</item> <item>8 Dòng dõi Ê-sau 
35:1-43</item> <item>9 Giô-sép và các anh em người 37:1-45:28</item> 
<item>10 Dân Y-sơ-ra-ên tại Ai-cập 46:1-50:26</item> </list> </div> <div 
type="section"> <title>Sáng Tạo Trời Đất</title> 
 

$$$Genesis 1:0 

<lb type="x-begin-paragraph"/> 

$$$Genesis 1:1 

Ban đầu, Đức Chúa Trời sáng tạo trời đất. 

$$$Genesis 1:2 

Lúc ấy, đất không có hình thể và còn trống không. Bóng tối, bao trùm vực 
thẳm và Thần Linh của Đức Chúa Trời vận hành trên mặt nước.
$$$Genesis 1:3 

Bấy giờ, Đức Chúa Trời phán: <q level="1" marker="“" sID="q1.49"/>Phải 
có ánh sáng!<q eID="q1.49" level="1" marker="”"/> Ánh sáng liền xuất 
hiện. 

$$$Genesis 1:4 

Đức Chúa Trời thấy ánh sáng là tốt. Đức Chúa Trời phân rẽ ánh sáng và 
bóng tối.
$$$Genesis 1:5 

Đức Chúa Trời gọi sáng là Ngày và tối là Đêm. Đó là buổi chiều và buổi 
sáng ngày thứ nhất.
$$$Genesis 1:6 

Đức Chúa Trời phán: <q level="1" marker="“" sID="q1.50"/>Phải có khoảng 
không phân cách nước với nước<q eID="q1.50" level="1" marker="”"/>.  <lb 
type="x-end-paragraph"/> <lb type="x-begin-paragraph"/> 

$$$Genesis 1:7 

Vậy, Đức Chúa Trời tạo khoảng không phân cách nước dưới khoảng không với 
nước trên khoảng không, thì có như vậy.
$$$Genesis 1:8 

Đức Chúa Trời gọi khoảng không là bầu trời. Đó là buổi chiều và buổi 
sáng ngày thứ nhì.  <lb type="x-end-paragraph"/> <lb 
type="x-begin-paragraph"/> 
 

$$$Genesis 1:9 

Đức Chúa Trời phán: <q level="1" marker="“" sID="q1.51"/>Nước dưới bầu 
trời hãy tụ lại một chỗ và đất khô phải xuất hiện<q eID="q1.51" 
level="1" marker="”"/>, thì liền có như thế. 
 

$$$Genesis 1:10 

Đức Chúa Trời gọi đất khô là Đất, và vùng nước tụ lại là Biển. Đức Chúa 
Trời thấy điều ấy là tốt.
$$$Genesis 1:11 

Đức Chúa Trời phán: <q level="1" marker="“" sID="q1.52"/>Đất phải sinh 
cây cỏ; cỏ kết hạt và cây kết quả có hạt tùy theo loại<q eID="q1.52" 
level="1" marker="”"/> thì có như vậy. 

$$$Genesis 1:12 

Đất sinh sản cây cỏ, cỏ kết hạt tùy theo loại, cây kết quả có hạt tùy 
theo loại. Đức Chúa Trời thấy điều ấy là tốt.
$$$Genesis 1:13 

Đó là buổi chiều và buổi sáng ngày thứ ba.  <lb type="x-end-paragraph"/> 
<lb type="x-begin-paragraph"/>
$$$Genesis 1:14 

Đức Chúa Trời phán: <q level="1" marker="“" sID="q1.53"/>Phải có các vì 
sáng trên bầu trời để phân biệt ngày và đêm, làm dấu cho thì tiết, ngày 
và năm, 

$$$Genesis 1:15 

và hãy có những vì sáng trên bầu trời để soi sáng trái đất,<q 
eID="q1.53" level="1" marker="”"/> thì có như vậy. 

$$$Genesis 1:16 

Đức Chúa Trời tạo hai vì sáng lớn, vì sáng lớn hơn cai quản ban ngày; vì 
sáng nhỏ hơn cai quản ban đêm, và các tinh tú.
$$$Genesis 1:17 

Đức Chúa Trời đặt các vì sáng trên bầu trời để soi sáng trái đất, 

$$$Genesis 1:18 

cai quản ngày và đêm và phân rẽ ánh sáng với bóng tối. Đức Chúa Trời 
thấy điều đó là tốt.
$$$Genesis 1:19 

Đó là buổi chiều và buổi sáng ngày thứ tư.  <lb type="x-end-paragraph"/> 
<lb type="x-begin-paragraph"/>
$$$Genesis 1:20 

Đức Chúa Trời phán: <q level="1" marker="“" sID="q1.54"/>Nước phải đầy 
dẫy sinh vật và phải có chim bay trên trời!<q eID="q1.54" level="1" 
marker="”"/> 

$$$Genesis 1:21 

Đức Chúa Trời tạo các loài thủy quái, mọi loài sinh vật đầy dẫy dưới 
nước tùy theo loại, và các loài chim có cánh tùy theo loại. Đức Chúa 
Trời thấy điều đó là tốt. 
 

$$$Genesis 1:22 

Đức Chúa Trời ban phước cho chúng và bảo: <q level="1" marker="“" 
sID="q1.55"/>Hãy sinh sản, tăng thêm; sinh đầy dẫy dưới biển. Các loài 
chim hãy gia tăng trên đất.<q eID="q1.55" level="1" marker="”"/> 
 

$$$Genesis 1:23 

Đó là buổi chiều và buổi sáng ngày thứ năm. 

$$$Genesis 1:24 

Đức Chúa Trời phán: <q level="1" marker="“" sID="q1.56"/>Đất phải sinh 
các sinh vật tùy theo loại, các súc vật, các loài bò sát và thú rừng tùy 
theo loại!<q eID="q1.56" level="1" marker="”"/> thì có như vậy. 

$$$Genesis 1:25 

Đức Chúa Trời tạo nên các thú rừng tùy theo loại, súc vật tùy theo loại 
và mọi loài bò sát trên đất tùy theo loại. Đức Chúa Trời thấy điều đó là 
tốt đẹp.  <lb type="x-end-paragraph"/> <lb type="x-begin-paragraph"/> 

$$$Genesis 1:26 

<title subType="x-preverse" type="section">Sáng Tạo Loài Người</title> 
<div type="section">     Đức Chúa Trời phán: <q level="1" marker="“" 
sID="q1.57"/>Chúng ta hãy tạo nên loài người như hình thể Ta và giống 
như Ta, để quản trị các loài cá biển, chim trời, súc vật trên cả trái 
đất và các loài vật bò trên đất.<q eID="q1.57" level="1" marker="”"/> 
 

$$$Genesis 1:27 

Đức Chúa Trời tạo loài người theo hình ảnh Ngài. Ngài sáng tạo loài 
người như hình ảnh Đức Chúa Trời. Ngài tạo nên người nam và người nữ.
$$$Genesis 1:28 

Đức Chúa Trời ban phước cho loài người và phán: <q level="1" marker="“" 
sID="q1.58"/>Hãy sinh sản gia tăng đầy dẫy mặt đất và thống trị đất. Hãy 
quản trị loài cá biển, chim trời và tất cả các loài vật bò trên đất.<q 
eID="q1.58" level="1" marker="”"/>
$$$Genesis 1:29 

Đức Chúa Trời phán: <q level="1" marker="“" sID="q1.59"/>Ta ban cho các 
ngươi mọi thứ rau cỏ kết hạt mọc trên đất và mọi thứ cây cối sinh quả 
kết hạt, để dùng làm thực phẩm cho các ngươi. 

$$$Genesis 1:30 

Ta cũng ban tất cả cây cỏ xanh cho các thú vật, chim trời và mọi loài 
vật bò trên đất, mọi loài có sinh khí làm thực phẩm thì có như vậy.<q 
eID="q1.59" level="1" marker="”"/> 

$$$Genesis 1:31 

Đức Chúa Trời nhìn mọi vật Ngài dựng nên và thấy là rất tốt. Đó là buổi 
chiều và buổi sáng ngày thứ sáu.  <lb type="x-end-paragraph"/> </div>



More information about the sword-devel mailing list