[osis-users] OSIS cross-reference questions

DM Smith dmsmith at crosswire.org
Sat Nov 24 10:19:06 MST 2012


An osisID can be multiple verses. This represents Bibles such as The Message, which number the first verse of each paragraph, if at all. When encoding an osisID it has space separated verse references. Typically, the set is contiguous, but there is no requirement that it be so. (There are a few translations, such as the ESV, that use the KJV numbering for the most part, but will have no text for some verses, deeming those as not part of the original text.)

In Him,
	DM

On Nov 21, 2012, at 3:57 PM, davidtroidl at aol.com wrote:

> Deut. 32:15,17,22–26 could be marked up
> <reference osisRef="Deut.32.15">Deut. 32:15</reference>, <reference osisRef="Deut.32.17">17</reference>, <reference osisRef="Deut.32.22-Deut.32.26">22-26</reference>
> 
> osisID's are meant to be unique identifiers for book, chapter and verse elements in a bible.  They should not be used in notes, and they should not contain multiple references.
> 
> Peace,
> 
> David
> 
> Deut. 32:15,17,22–26
> 
> 
> 
> -----Original Message-----
> From: Markku Pihlaja <markku.pihlaja at sempre.fi>
> To: osis-users <osis-users at crosswire.org>
> Sent: Wed, Nov 21, 2012 11:34 am
> Subject: Re: [osis-users] OSIS cross-reference questions
> 
> 
> Well, no replies to my previous message.
> My explanations might have been too long for anyone to take the effort of reading - sorry about that. So now I'll try reducing and simplyfying the questions that I still need an answer for. Read further to previous conversations if you need more details.
> ------------------------------------------------------------
> 
> 1) How do I make a difference between a list of three separate crossreferences and a single compound crossreference that consists of three separate verses (or even ranges)?
> Example:
> Deut. 32:15; Deut. 32:17; Deut. 32:22–26
> vs.
> Deut. 32:15,17,22–26
> 
> I emphasize that the second example is just a single reference to a non-contiguous set of verses, and can also be one of several separate references on a list like the first example.
> 
> ------------------------------------------------------------
> 
> 2) Is listing multiple individual verses separated by a space really allowed in a) osisIDs b) osisRefs? 
> I tried parsing the OSIS schema for osisIDRegex and osisRefRegex but couldn't find anything that would allow this - probably missed just the crucial character somewhere. The Durusau manual does give an example about a) under "15.4. Grouping". But the manual says that "a single osisRef cannot identify a discontiguous range of a work", so the answer to b) is probably "no" and the latter of the two examples below incorrect?
> 
> Example:
> <note type="crossReference" osisID="Deut.32.15 Deut.32.17">
> <reference osisRef="Deut.32.15 Deut.32.17">
> 
> ------------------------------------------------------------
> 
> 3) If the answer to 2a) is yes, what is allowed with a compound ID like that? Specifically, can I use sub-identifiers? 
> If I name a note with such a grouped osisID, can I append !crossReference to it - and where should I place it? After an extra space after the last verse listed or connected to the las verse (in which case it looks like it only applies to that verse)?
> 
> Example:
> <note type="crossReference" osisID="Deut.32.15 Deut.32.17 !crossReference">
> or 
> <note type="crossReference" osisID="Deut.32.15 Deut.32.17!crossReference">
> or something else?
> 
> Merely <note type="crossReference" osisID="Deut.32.15!crossReference"> won't do because I need to make a difference between a note attached to just verse 15 and to verses 15 and 17 together. And I do need to refer to the very note instead of the verses, that's why I need that sub-identifier.
> 
> ------------------------------------------------------------
> 
> 4) If the answer to 2b) is yes, what is allowed in that compound ref? Specifically, are ranges allowed in such compound refs?
> 
> Example:
> <reference osisRef="Deut.32.15 Deut.32.17 Deut.32.22-Deut.32.26">
> 
> I guess this goes back to question 1) especially if 2b) was wrong.
> 
> ------------------------------------------------------------
> 
> 5) If 2b (and thus also 4) is wrong, how do I make a cross-reference to a note whose source passage consists of incontiguous verses? Also, since annotateRef takes an osisRef value, how can I indicate an incontiguous source in that?
> 
> Example, apparently with at least an invalid osisRef:
> <note type="crossReference" osisID="Deut.32.15 Deut.32.17 !crossReference">
> ...
> <reference osisRef="Deut.32.15 Deut.32.17 !crossReference">Deut. 32.15,17</reference>
> 
> ------------------------------------------------------------
> 
> 6) Is it possible to have a reference's osisRef with a sub-identifier without a corresponding osisID having that (or any) sub-identifier?
> 
> Example:
> <verse osisID="Deut.32.15" sID="Deut.32.15" />Jeshurun grew fat and kicked; filled with food, he became heavy and sleek. He abandoned the God who made him and rejected the Rock his Savior.<verse eID="Deut.32.15" />
> ...
> <reference osisRef="Deut.32.15!part2">
> 
> ------------------------------------------------------------
> 
> Complicated questions, I hope you have some answers or at least workarounds!
> 
> Markku
> 
> 
> 
> 
> 2012/11/19 Markku Pihlaja <markku.pihlaja at sempre.fi>
> Thanks DM,
> 
> (Others are also welcome to share their views! And also to check the one new question at the end, after the second  "-----------" marker)
> 
> That didn't quite solve my problem. You say I shouldn't nest references. But I do need some way of making a difference between a compound reference and a list of separate references. An example:
> 
> In Gen. 46:12, we have three references: 
> Gen. 38:7,10; Num. 26:19-21; 1. Chr. 4:1
> 
> The first one, to Gen., is indeed just one reference even though it refers to separate verses. As far as I can figure out, an unnested note wouldn't be able to tell whether Gen.38.7 and Gen.38.10 are parts of the same reference or two independent references:
> <note type="crossreference">
>         <reference osisRef="Gen.38.7">Gen. 38:7</reference>,
>         <reference osisRef="Gen.38.10">10</reference>;
>         <reference osisRef="Num. 26:19-21">Num. 26:19-21</reference>;
>         <reference osisRef="1Chr.4.1">1. Chr. 4:1</reference>
> </note>
> 
> Of course, to a human those first two refs would probably look like one reference, but the computer needs to rely solely on the markup and not what's between.
> 
> If, on the other hand, I list that as three subsequent notes, the semicolons wouldn't be embedded in any tags and thus would be rendered even when reference notes should be hidden.
> 
> <note type="crossreference">
>         <reference osisRef="Gen.38.7">Gen. 38:7</reference>,
>         <reference osisRef="Gen.38.10">10</reference>
> </note>
> ;
>  <note type="crossreference">
>         <reference osisRef="Num. 26:19-21">Num. 26:19-21</reference>
> </note>
> ;
>  <note type="crossreference">
>         <reference osisRef="1Chr.4.1">1. Chr. 4:1</reference>
> </note>
> 
> I guess it is also true what you wrote about note tags: they represent the marker(s) in the text (even though most of our printed Finnish Bibles don't include markers within the text; the notes are listed after certain passages with references to the position of the note instead). Also this would imply that I shouldn't use the later example with three subsequent notes.
> 
> 
> You mentioned one more approach, listing all parts of the compound reference in one osisRef. That would seem to work somehow:
> 
>  <note type="crossreference">
>         <reference osisRef="Gen.38.7 Gen.38.10">Gen. 38:7,10</reference>;
>         <reference osisRef="Num. 26:19-21">Num. 26:19-21</reference>;
>         <reference osisRef="1Chr.4.1">1. Chr. 4:1</reference>
> </note>
> 
> This osisRef / osisID style, however, is missing from Durusau's User Manual. There is section "15.4 Grouping" that does give an example of such notation with osisIDs, but "Appendix J - osisIDs: Construction Rules" doesn't say anything about this. And I've found nothing whatsoever about osisRefs like this. So is this certainly valid markup?
> 
> Also, assuming "Gen.38.7 Gen.38.10" would be a valid osisRef, would also for example "Gen.38.7 Gen.38.10-Gen.38.12" be? We also have a few compound references consisting of separate verses AND one or more ranges.
> 
> -----------
> 
> As for my question number 3) - the subdivision of  a referenced verse - I tried to explain that there is no automatic or even easy manual way of determining where each subdivision of the verse begins. We would need a Bible content expert to do that, and we don't have one for this project.
> 
> So referring to a fine-grained position of a verse is no option since we don't know where each exact position would be.
> 
> I'll refine my question:
> Is there any way of determining a "vague" division of a verse? For example, does the extension part of an osisRef always need to have a corresponding osisID somewhere? Or could we have a verse like this:
>   <verse osisID="Xxx.2.14" sID=.... />
>   Some text here. Some more text here. Even some more text here. And more and more text.
>   <verse eID="... />
> 
> and then have a reference like this:
>   <reference osisRef="Xxx.2.14!c">Xxx 2:14</reference>
> with just the osisID "Xxx.2.14" declared but not "Xxx.2.14!c"?
> 
> I know this is vague, but so is our current notation, and I'm trying to find some means of including the info in the current notation also in the markup. My plan B would then be to just encode all the references to the whole verse and let only the | separators indicate to the reader that the references point to different parts of the verse, just as in the printed versions now.
> 
> 
> -----------
> 
> And now for one new somewhat related question.
> 
> We also have something that could be called indirect references. Our notation
> Gen. 24:7+
> tells us that this reference doesn't refer to Gen. 24:7 itself, but it shares the references listed for that verse instead. For example, this Gen. 24:7 has references:
> <note osisID="Gen.24.7!crossReference">
>     <reference osisRef="Gen.50.24">Gen. 50:24</reference>;
>     <reference osisRef="Deut.1.8">Deut. 1:8</reference>;
>     <reference osisRef="Josh.1.6">Josh. 1:6</reference>;
>     <reference osisRef="Judg.2.1">Judg.2:1</reference>
> </note>
> 
> Now when another verse lists "Gen. 24:7+" as its reference, it means that this reference list should be used as the reference list for this verse, too. Unfortunately replacing the plus notation with the complete list isn't an option here - apparently the fact that these verses share the same references is of importance itself.
> 
> In normal cases, this would probably be rather simple: refer to the note in Gen. 24:7 with
> <reference osisRef="Gen.24.7!crossReference" ...>Gen. 24:7+</reference>.
> 
> But things get tricky when the referred verse in the plus notation is more than a single verse. We have notations like 
> "Deut. 4:41,43+". or "Gen. 15:19–21+".
> 
> We might be able to cope with the first one, assuming the "Grouping" notation discussed earlier is valid. But is it ok to add the sub-identifier "!crossReference" to an ID like this: "Deut.4.41 Deut.4.43", and where do I add it?
> 
> But it gets worse with the latter notation, since ranges aren't allowed in osisIDs - and thus I also can't create an osisRef "Gen.15.19-Gen.15.21!crossReference". Or that osisRef might still be valid, but at least the corresponding osisID wouldn't, and thus that reference wouldn't make sense.
> 
> One solution would obviously be to use the osisID of just the first verse - that would mean "Deut.4.41!crossReference" or "Gen.15.19!crossReference" in my examples. But that is not possible since there might already be references for that verse alone. Also, omitting the other verses from the ID would mean that nothing at all in the markup would tell that this note is related to more than one verse:
> <note osisid="Gen.15.19!crossReference">
>     <reference osisRef="Exod.3.8">Exod. 3:8</reference>
> </note>
> 
> Any ideas?
> 
> 
> Phew, these things are complicated to explain in an understandable manner... And impossible to do it with only a few short lines.
> 
> Once again, thanks in advance to those who take the effort of reading all this!
> 
> Markku
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 2012/11/14 DM Smith <dmsmith at crosswire.org>
> 
> On Nov 14, 2012, at 8:54 AM, Markku Pihlaja <markku.pihlaja at sempre.fi> wrote:
> 
>> I'll also need to return to some questions that already got answered ages ago - halfway to meet my final needs, as it now turned out.
>> 
>> 
>> 2012/4/26 David Troidl <DavidTroidl at aol.com>
>>> 1)
>>> How should I encode cross-references to non-contiguous verse ranges? For example, I have this reference (in our standard notation): Matt. 27:17,22. This is formally just one reference to verses 17 and 22, not two separate references. OSIS requires that "a single osisRef cannot identify a discontiguous range of a work". So how should this be done? Making one note that contains two references might be a step towards what I want, but there would still be two separate references.
>> Here is the way to encode discontiguous references:
>> <note type="crossReference"><reference osisRef="Matt.27.17">Matt. 27:17</reference>, <reference osisRef="Matt.27.22">22</reference></note>
>> 
>> So, when I have a list of separate references, some of which are non-contiguous ones such as above, should I create a nested note to contain the different notes?
>> 
>> For example, if I have the following three references for one verse:
>> Matt. 27:17,22 ; 2. Sam. 7:16; Matt. 9:27
>> 
>> should that be coded as:
>> 
>> <note type="crossreference">
>>         <note type="crossreference">
>>                 <reference osisRef="Matt.27.17">Matt. 27:17</reference>, 
>>                 <reference osisRef="Matt.27.22">22</reference>
>>         </note>;
>>         <note type="crossreference">
>>                 <reference osisRef="2Sam.7.16">2. Sam. 7:16</reference>
>>         </note>;
>>         <note type="crossreference">
>>                 <reference osisRef="Matt.9.27">Matt. 9:27</reference>
>>         </note>
>> </note>
> 
> No. Don't nest.
> You can also use references such as <reference osisRef="Matt.27.17 Matt.27.22 2Sam.7.16 Matt.9.27">Matt 27:17,22; 2 Sam 7:16; Matt 9:27</reference>.
> Note that some systems (e.g. SWORD Project) cannot handle this. And having 4 refs is better.
> 
>> 
>> Putting all the <reference>'s within just one <note> container would to me mean one reference to extremely non-contiguous verses. And if I omit the outer <note> tags, then the semicolon separators between the different notes would fall outside any note and be rendered even when notes are hidden.
>> 
>> If that suggestion was right, what should we do in simpler cases where there is a group of contiguous references?Should I still enclose them in a second level of <note>'s for consistency, or would it be ok to use only one level like this (assuming here that there is no 27:22 in the first reference):
>> 
>> <note type="crossreference">
>>         <reference osisRef="Matt.27.17">Matt. 27:17</reference>;
>>         <reference osisRef="2Sam.7.16">2. Sam. 7:16</reference>;
>>         <reference osisRef="Matt.9.27">Matt. 9:27</reference>
>> </note>
> 
> Just one level. Just like this.
> 
>> 
>> 
>>> 3)
>>> Our cross-references are currently listed on a verse-by-verse basis in a separate file. Each verse might have a number of references, most of them separated by a semi-colon. However, in some cases the separator is the vertical line character, | (or the pipe sign). This indicates a fine grained division of the source verse. That's *source*, not target. For example,
>>>    Luuk. 2:4-7 ¦ Dan. 1:20
>>> would say that the beginning of the referring verse refers to Luke 2:4-7, and the end to Daniel 1:20. There can be up to 4 divisions like this in one verse. However, there is no automatic way of determining what the exact division of the source verse is. In fact, in some cases even I can't read the verse and tell the division without reading the referenced verses first.
>>> 
>>> This means that in any case I'll probably need to leave the OSIS coding vague in this respect. My question here: is there a way to somehow indicate the existence of this division within the tags, or is the only way to continue marking it like it was done until now, like this:
>>> <reference section1a.... />; <reference section1b.... /> | <reference section2.... /> |  <reference section3a.... />; <reference section3b.... />
>>> 
>>> Could that be done by using osisID's like
>>> Matt.1.1!crossReference.section1.a
>>> Matt.1.1!crossReference.section1.b etc.
>>> or is there a better way?
>> I'm not exactly clear what you are asking here.  If you want to mark up the notes, without changing the markup of the Bible text, you could use word numbers within the verse, to indicate where the note applies.
>> 
>> And I'm not quite clear if I got your point :).
>> Let me give you a quite precise example.
>> 
>> This is Acts 3:13:
>> "The God of Abraham, Isaac and Jacob, the God of our fathers, has glorified his servant Jesus. You handed him over to be killed, and you disowned him before Pilate, though he had decided to let him go."
>> 
>> For that verse, we have three different references which are marked like this:
>> Exod. 3:6 |  Isa. 52:13 | Luke 23:16
>> The | separators (as opposed to semicolons that are normally used as separators in reference lists) indicate that the Exodus reference is related to the beginning of our verse, the Isaiah reference to the middle part and the Luke reference to the end.
>> 
>> As you can see, even though the reference list applies that there are three sections in the verse, there is no automatic way of determining what exactly are "the beginning", "the middle" and "the end", or sections 1, 2 and 3 of that verse. In some cases it is even unclear after you've carefully read the verse and the references and tried to use common sense based on the contents to manually figure out what those sections are. So the aim of placing the reference notes separately in the text exactly where they should appear is rather impossible.
>> 
>> My question is: is there a way of indicating in a reference itself that the source of the reference is some sub-part of the verse? In this way, applications might be able to e.g. show an extra tag "from middle of verse" or something like that. Could we use subdivided osisID's for this purpose, like this:
>> 
>> <note type="cross-reference">
>>                 <reference osisID="Acts.3.13!crossReference.1" osisRef="Exod.3.6">Exod. 3:6</reference> |
>>                 <reference osisID="Acts.3.13.crossreference.2" osisRef="Isa.52.13">Isa. 52:13</reference> |
>>                 <reference osisID="Acts.3.13.crossreference.3" osisRef="Luke.23.16">Luke 23:16</reference>
>> </note>
>> 
>> and with even further fine-tuning if there were for example two references before the first "|":
>> osisID="Acts.3.13!crossReference.1.a" and osisID="Acts.3.13!crossReference.1.b" ?
> 
> >From memory, there is a grain part of the osisID/osisRef that can be used to indicate the code points (think characters) that comprise the sub-part. It is used like SUBSTR in many programming languages.
> 
> However, If you are going to go to that much trouble then I'd suggest that you split the note into various parts and put them into the proper locations in the file.
> 
> The basic idea of the <note> element is that it appears in the source at the position that you want the marker(s). If you want one marker, then you have one note. If you want 3 then you have 3.
> 
> Hope this helps,
> 	DM
> 
>> 
>> 
>> 
>> Thanks for your patience, these are rather hard to explain exactly and understandably but in short :).
>> 
>> Markku
>> 
>> _______________________________________________
>> osis-users mailing list
>> osis-users at crosswire.org
>> http://www.crosswire.org/mailman/listinfo/osis-users
> 
> 
> _______________________________________________
> osis-users mailing list
> osis-users at crosswire.org
> http://www.crosswire.org/mailman/listinfo/osis-users
> 
> 
> 
> _______________________________________________
> osis-users mailing list
> osis-users at crosswire.org
> http://www.crosswire.org/mailman/listinfo/osis-users
> _______________________________________________
> osis-users mailing list
> osis-users at crosswire.org
> http://www.crosswire.org/mailman/listinfo/osis-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.crosswire.org/pipermail/osis-users/attachments/20121124/96bbecca/attachment-0001.html>


More information about the osis-users mailing list