[osis-users] OSIS cross-reference questions

Markku Pihlaja markku.pihlaja at sempre.fi
Thu Nov 22 11:55:08 MST 2012

Hello Brian,

2012/11/22 Brian J Dumont <brian.j.dumont at gmail.com>

 1) I would suggest both of these as legitimate OSIS which you could select
> between:
> <note n="1"><reference osisRef="Gen.1.3 Exod.26.15-Exod.26.30">Genesis 1,
> 3; Ex. 26, 15 -30</reference></note>

This is the alternative I'm hoping to be possible - but fear that it isn't.
Durusau's manual, page 91 says: "A single osisRef cannot identify a
discontiguous range of a work". But the validator doesn't complain about

> or:
> <note n="1"><reference osisRef="Gen.1.3">Genesis 1, 3</reference>;
> <reference osisRef="Exod.26.15-Exod.26.30">Ex. 26, 15 -30</reference></note>

This answer seems to keep popping up - but unfortunately it's not usable
here since it doesn't make a difference between two separate references and
one compound reference consisting two distinct ranges.

Here's a real example:
Matt 2:2 contains one note with three different references, like this in
the printed version:
Num. 24:17; Matt. 27:11,37; Mark. 15:2
Your method would make this into
<note><reference osisRef="Num.24.17">Num. 24:17</reference>; <reference
osisRef="Matt.27.11">Matt. 27:11</reference>,<reference
osisRef="Matt.27.37">37</reference>; <reference osisRef="Mark.15.2">Mark

The information about the two Matthew verses being parts of the same
reference is lost. Or well, it can be carefully read between the tags: a
comma followed by no space separating the <reference>s, instead of a
semicolon and a space. But all structural info should be contained in the
tags and their attributes, not between them.

One thing that I'm pretty sure is INVALID is a reference like:
> <note n="1"><reference osisRef="Gen.1.3 Exod.26.15-30">Genesis 1, 3; Ex.
> 26, 15 -30</reference></note>

Yes, Exod.26.16-30 is definitely not a valid osisRef.

> or anything with nested <note>s

This one I'm not quite sure about, and I'm actually starting to believe
that nested <note>s actually might be the solution. DM previously said that
they shouldn't be used, but it that's the only way to do this, then I might
need to go that way. Nested notes do seem to be valid according to the
schema, but if I understood right, the second level <note> tags should then
enclose all references - <reference> and <note> aren't allowed as siblings.

But I'm hoping someone will still give me something better than that.

> 2)mostly covered above, but let me expound:
> <note n="1"><p>This note gives explanation of why these references are
> here, including <reference osisRef="Gen.1.3">Genesis 1,
> 3</reference></note>.</p><p>This second paragraph within the same note goes
> on to say <reference osisRef="Exod.26.15-Exod.26.30">Ex. 26, 15
> -30</reference></p></note>

I'm afraid you didn't get my question right. I didn't explain it too
exactly now since I had done it earlier. Here's an example (with imaginary

<verse osisID="Matt.2.1" sID.../> ...<note><reference osisRef="crossreferences
from Matt. 4:12 and 4:16"></note><verse eID.../>
<verse osisID="Matt.4.12" sID.../>Verse text ... <note osisID="crossreferences
from Matt. 4:12 and 4:16"><reference osisRef="Luke.2.5">Luke
2:5</reference></note><verse eID.../>

So what I need at Matt 2.1 is not a crossreference pointing at verses Matt.
4:12,16 but a reference saying: "use the same crossreferences here as at
Matt. 4:12,16". And to be exact: NOT "use the same references here as at
Matt. 4:12 and at Matt. 4:16", but indeed "the references defined for the
combination of Matt. 4:12,16".
The green text in the examples is the part that needs to be replaced by
something valid.

Don't blame me - I didn't make these peculiar indirect references. ;)

> 3) To my understanding this is allowed in OSIS but unsupported and hence I
> would avoid.

This is also a rather peculiar type of a reference, since it is a vague
one: it just says for example "to the second part of the verse", without
specifying exactly what the second part is. So I need even the markup to be
vague. As long as the reference can normally be interpreted to point at the
main verse and the extension gets ignored, I'm fine. And then some tailored
application might take use of the extension - or one day someone might
define and add the exact targets for these references to our Bible OSIS


> On 11/22/2012 09:40 AM, Markku Pihlaja wrote:
>  I'm feeling a bit alone here now - quite a few questions still remain
> unanswered after several days, and they are rather crucial for me to
> continue my work.
>  To make answering easier, I'll sum up some more: there are now three
> fundamental questions that need answers - all other questions are actually
> derived from trying to solve them. So if you can't find answers to these
> three (marked with Roman numbers I...III), feel free to help with the
> previous ones (Arabic numbers 1...7 - or actually 2...6; 1 and 7 are the
> same as I and III).
>  ---------------------------
>  *I.* How do I markup a single but compound cross-reference that refers
> to non-adjacent verses or ranges, so that it (structurally) differs from a
> (more typical) note containing separate references to the same
> verses/ranges?
>  *II.* How do I markup a reference to a note whose source is more complex
> than just one verse or a contiguous range?
>  *III.* 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*">
>  ---------------------------
>  And then to the wider variety of derived questions. No need to read
> further if you managed to answer all three previous ones :).
>  I tried running different kinds of osisIDs through a validator
> integrated to oXygen. As expected, a hyphen in an osisID wouldn't validate.
> But the list of multiple space-separated single IDs does pass the
> validation.
>  Well, if we trust in what passes through the validator, I get answers to
> many of my own questions (IF we trust the validator, that is):
>  *2)* Is listing multiple individual osisIDs separated by a space really
> allowed in *a)*osisIDs *b)* osisRefs?
> a) YES and b) YES, even though after carefully examining the type
> declarations for osisRefRegex and osisIDRegex in the osisCore.2.1.1.xsd
> file I still haven't found out how the spaces could be valid.
>  *3)* If the answer to 2a) is yes, what is allowed with a compound ID
> like that?
>  It seems that any valid osisID will do as a component of such a compound
> osisID.
>  Specifically, can I use sub-identifiers?
>  Thus: YES. But the exclamation mark and sub-identifier will need to be
> attached to one of the component IDs, it can't follow a space.
>  *4)* If the answer to 2b) is yes, what is allowed in that compound ref?
> Specifically, are ranges allowed in such compound refs?
>   Trying with a validator, it seems: YES. For example, this is judged
> valid:
> osisRef="Gen.1.3 Gen.1.5-Gen.1.7 Gen.2.2-Gen.2.5"
> even though Durusay's manual says that "a single osisRef cannot identify a
> discontiguous range of a work".
>  This would seem to provide a step closer to being able to refer to notes
> with the more complex sources I've been talking about (question II.),
> although not quite. [Note that this wouldn't apply to normal compound
> references to verses].
>  This would be valid:
>  <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>
>  although !crossReference being attached only to verse 17 gives a
> slightly false impression. Moreover, this would not be valid:
> <note type="crossReference" osisID="*Deut.32.15
> Deut.32.17-Deut.32.22!crossReference*">
> because of the hyphen in an osisID.
>  My next idea would be rather unorthodox, and I hope you consider twice
> before answering "no, of course that can't be done". I would love to solve
> this problem in a beautiful, "standard OSIS" way. But since nobody has
> given me a sufficient answer to how to do it, it seems I need to get
> creative, with the cost of some "standard" conventions.
>  The osisRefRegex and osisIDRegex type declarations (and thus also
> validators) allow some slightly peculiar formats, including "1.Gen.2",
> "1.2.Gen", "1_.2", "1._.2" and even "_". Of course there is usually no
> reason to use these forms.
>  *7)* Would something like this be acceptable?
>  <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>
>  or
>  <note type="crossReference" osisID="*
> Deut.32.15.Deut.32.17.Deut.32.22_Deut.32.26!crossReference*">
>  Funny as they look, they really are valid OSIS. So: what reasons are
> there NOT to use them? I would of course document this convention
> carefully. I emphasize the fact that I do need a way to refer to *notes* in
> addition to verses and ranges.
>  Well, hopefully some of this is answerable.
>  Thanks again in advance, and sorry for bothering you with such long
> messages.
>  Markku
>   21. Nov 2012 Markku Pihlaja:
>  Thanks for the reply,
>> 2012/11/21 <davidtroidl at aol.com>
>>> 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>
>> I've tried explaining this earlier: that just isn't enough for us here.
>>  There would be no structural difference between a note containing that
>> one compound reference that consists of three verses (or ranges), and a
>> note containing a list of three separate references. The only difference
>> might be in the separator tokens, but those are outside the markup and
>> shouldn't count.
>>  I'll make the problem even clearer: how do you markup this list of four
>> different references (I'll mark each with a different color)?
>>  Deut. 32:15; Deut. 32.17; Deut. 22-26; Deut. 32:15,17,22–26
>>  This one is of course a rather imaginary and unreal example - there
>> would probably never be a list where the three verses/ranges are first
>> individual references and then form a compound one - but using the same
>> verses here shows the problem more clearly.
>>  The note marker appearing in the text for this whole list of four
>> references should be one single note, not four, so (as stated previously in
>> this discussion by DM) all these should be packaged within just one pair of
>> <note> tags.
>>  What you're suggesting would be a list of six separate references, the
>> three last ones just being separated with commas instead of semicolons, and
>> the "Deut." being omitted from the content part of the last two - but those
>> separators and the missing book names are content instead of structure
>> markup. Structurally that would be the identical three references listed
>> twice.
>>  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
>>  I don't quite agree, at least on not being for use in notes, and nor
>> does Durusau's manual. For instance lines 2, 5, 8 and 11 in the example on
>> page 45 show notes with osisID's. Also, osisID is listed as one of the
>> attributes of the note element (as well as basically any other element,
>> too).
>>  Isn't the main purpose of an ID to be used for referring to the element
>> it represents, regardless of the element's type? And I do need to be able
>> to refer to notes here, so the obvious (and maybe even only?) way would be
>> using the osisID. I just need to find a good way of naming notes with a
>> source more complex than just one verse, and referring to them.
>>  --------------
>>  About osisIDs not being able to contain multiple references: about
>> this, too, the Durusau manual disagrees. On page 89 there's the example
>> <p osisID="Matt.1.1 Matt.1.2 Matt.1.3">...</p>,
>> although I did wonder about the correctness of this in my previous
>> message, since I couldn't find such syntax in the OSIS schema.
>>  But if osisIDs really are only able to refer to one verse, then I hope
>> someone can suggest an alternative method for what I need to do.
>>   Markku
> _______________________________________________
> osis-users mailing listosis-users at crosswire.orghttp://www.crosswire.org/mailman/listinfo/osis-users
> --
> -----------------------------------------------------------------------
> "Silly customer!  You cannot hurt a Twinkie!" - Apu
> _______________________________________________
> 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/20121122/a7d1ff6c/attachment-0001.html>

More information about the osis-users mailing list