<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Weston,<br>
<br>
Standard references (ones that don't use either @ or !) are general to
all works that conform to a specified reference system.<br>
<br>
The use of @cp(2) inidcates a reference to the second code point within
a verse.  Counted as the number of characters in text elements that
follow either the <verse osisID="Matt.1.1" sID="X"/> in a
Book/Section/Paragraph hierarchy document OR the <verse
osisID="Matt.1.1"> in a pure Book/Chapter/Verse hierarchy document. <br>
<br>
So if you have the following:<br>
    <osisText osisIDWork="thisWork" osisRefWork="bible"
xml:lang="erv"><br>
        <header><br>
            <work osisWork="thisWork"><br>
                <title>(Publications) Easy-to-Read
Version</title><br>
                <creator role="encoder">Snowfall Software,
LLC</creator><br>
                <description type='usfm' subType='x-id'>MAT -
Copyright World Bible Translation Center 1987, 1999, 2006,
2008</description><br>
                <description type='usfm'
subType='x-ide'>UTF-8</description><br>
                <type type="OSIS">Bible</type><br>
                <identifier
type="OSIS">Bible.en.WBTC.erv.2007</identifier><br>
                <rights type="x-copyright">World Bible
Translation Center</rights><br>
                <scope>Matt</scope><br>
                <refSystem>Bible</refSystem><br>
            </work><br>
            <work osisWork="bible"><br>
                <creator role="encoder">Snowfall Software,
LLC</creator><br>
                <type type="OSIS">Bible</type><br>
                <refSystem>Bible</refSystem><br>
            </work><br>
        </header><br>
    <div type="book" osisID="Matt"><title type="main"
short="MATTHEW" level="1">Matthew</title><chapter
sID="Matt.1" osisID="Matt.1"/><br>
<div type="section" scope="Matt.1.1-Matt.1.17"
xml:space="preserve"><title>The Family History of Jesus the
Messiah<title type="parallel">(<reference
osisRef="Luke.3.23!b-Luke.3.38">Lk.
3:23b–38</reference>)</title></title><p><verse
sID="Matt.1.1" osisID="Matt.1.1"/>This is the family history of
Jesus the Messiah.<note placement="end" osisRef="Matt.1.1"
osisID="Matt.1.1!endNote.1"><catchWord>Messiah</catchWord>
A Hebrew word that has the same meaning as the Greek word Christ (see
“Christ”). It was a title for the kings of God’s people in the Old
Testament and for the special king God promised to send as a “savior”
to defeat evil and establish the reign of God. Many prophets made it
clear that this new kingdom would be eternal; that is, not only would
the promised Messiah bring about a time of justice and right living
among God’s people here on earth, but also his kingdom would extend
beyond this world to life forever with God. However, most Jews of the
first century expected the Messiah to be a political ruler here on
earth who would defeat the other nations and return the nation of
Israel to a position of great glory and power. But God intended his
Messiah to establish a new “Israel,” an eternal kingdom that would
bless all the nations.</note> He came from the family of David,
.........<br>
<br>
A reference to osisRef=<a class="moz-txt-link-rfc2396E" href="mailto:Matt.1.1@cp[1]-Matt.1.1@cp[18]">"Matt.1.1@cp[1]-Matt.1.1@cp[18]"</a> would include
"This is the family" and a reference to Matt.1.1@cp[1]-Matt.1.1@cp[61]
would include "This is the family history of Jesus the Messiah. He came
from" because the counting only include elements that are
canonical="true".  The general default for canonical is "true" but it
is false by default for <note> and <title>.  In some cases
(primarrly in Psalms the <title> element is canonical and is
specifically marked as such).<br>
<br>
Another way to express the same thing is to use the string grain.<br>
A reference to osisRef=<a class="moz-txt-link-rfc2396E" href="mailto:Matt.1.1@s[This]-Matt.1.1@s[faimly]">"Matt.1.1@s[This]-Matt.1.1@s[faimly]"</a> (or
osisRef=<a class="moz-txt-link-rfc2396E" href="mailto:Matt.1.1@s[This][1]-Matt.1.1@s[faimly][1]">"Matt.1.1@s[This][1]-Matt.1.1@s[faimly][1]"</a>) would include
"This is the family" and a reference to
<a class="moz-txt-link-rfc2396E" href="mailto:Matt.1.1@s[This]-Matt.1.1@s[from]">"Matt.1.1@s[This]-Matt.1.1@s[from]"</a>
would include "This is the family history of Jesus the Messiah. He came
from".<br>
<br>
osisRef=<a class="moz-txt-link-rfc2396E" href="mailto:Matt.1.1@s[This][1]-Matt.1.1@s[the][2]">"Matt.1.1@s[This][1]-Matt.1.1@s[the][2]"</a> would include "This is
the family history of Jesus the Messiah. He came from the" and
osisRef=<a class="moz-txt-link-rfc2396E" href="mailto:Matt.1.1@s[This][1]-Matt.1.1@s[the][1]">"Matt.1.1@s[This][1]-Matt.1.1@s[the][1]"</a> would include "This is
the".<br>
<br>
There is a specific difference between what gets printed as a "letter"
on screen on paper and the code points counted in that in some scripts
there can be multiple code points that make up a single displayed
"letter".  In English this does not occur.<br>
<br>
Todd<br>
<br>
This is the family history of Jesus the Messiah. He came from the
family of David,<br>
<br>
Weston Ruter wrote:
<blockquote
 cite="mid:AANLkTinXjqggQW6CX4BNzTZ1iROG6BfeXF-BiZVwxRaG@mail.gmail.com"
 type="cite">
  <div dir="ltr">Can someone explain this regular expression for the
osisRef grains?<br>
  <br>
  <span style="font-family: courier new,monospace;">(@(cp\[(\p{Nd})*\]|s\[(\p{L}|\p{N})+\](\[(\p{N})+\])?))?</span><br>
  <br>
The OSIS manual says that a grain is in the form of:<br>
  <br>
  <blockquote
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"
 class="gmail_quote">grainType(parameters) <br>
  </blockquote>
  <br>
And provides the example:<br>
  <br>
  <blockquote
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"
 class="gmail_quote">Matt.1.1@cp(3)-Matt.1.1@cp(12) <br>
  </blockquote>
  <div><br>
But elsewhere the format is shown to be:<br>
  <br>
  <blockquote
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"
 class="gmail_quote">Gen.1.1@cp[8]<br>
  </blockquote>
  <div><br>
I'm assuming that the parentheses are wrong, and the square brackets
are right.<br>
  <br>
Furthermore, looking at the cp grain: <span
 style="font-family: courier new,monospace;">cp\[(\p{Nd})*\]</span><br>
  <br>
Why does it allow zero or more digits to be supplied as the parameter
and not one or more? i.e. <span
 style="font-family: courier new,monospace;">cp\[(\p{Nd})+\]</span>.
Otherwise I could do John.3@cp[] and I don't think that should be
allowed.<br>
  <br>
Now for the s grain: <span style="font-family: courier new,monospace;">s\[(\p{L}|\p{N})+\](\[(\p{N})+\])?</span><br>
  <br>
I can see that that it is similar to cp, but that the parameter can be
not just a decimal digit but any unicode number or letter. What I don't
get is what comes after this, namely: <span
 style="font-family: courier new,monospace;">(\[(\p{N})+\])?</span>
What's with this secondary square-bracket-enclosed Unicode number? The
s grain regular expression would allow something like this:
s[John][12], but there's no example of this in the manual. Is this
supposed to mean that it would select the 12th instance of "John"?<br>
  <br>
Thanks!<br>
Weston<br>
  </div>
  </div>
  </div>
  <pre wrap="">
<hr size="4" width="90%">
_______________________________________________
osis-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:osis-users@crosswire.org">osis-users@crosswire.org</a>
<a class="moz-txt-link-freetext" href="http://www.crosswire.org/mailman/listinfo/osis-users">http://www.crosswire.org/mailman/listinfo/osis-users</a>
  </pre>
</blockquote>
<br>
</body>
</html>