Scripture References

In theological texts, scripture passages may be cited, quoted, or explained. Citations refer to a passage, and they are represented in ThML with the <scripRef> element. That element specifies that the enclosed text should be hot-linked to the scripture passage and that the scripture reference should be searchable, included in a scripture index, etc. Quoted scripture is marked with the <scripture> element. Commentary on scripture, sermons or hymns based on scripture, and other material that would be useful to someone studying or preaching on a passage is marked with the <scripCom> element. In addition, a <scripContext> element is available to set the default version, book, or chapter for succeeding references. All four elements take the attributes version, passage, and parsed, containing the version of the references, the passage referred to, and a machine-friendly parsed version of the passage.

Scripture citations that are marked with the <scripRef> element become available for scripture reference searches or indexes. In addition, the scripture passage may be linked to the reference text or displayed in a separate window. A reference such as "Romans viii. 27,28; x. 8-13" for the NIV could be marked in a number of ways. A full specification would appear as


<scripRef version="NIV" passage="Rom. viii. 27,28; x. 8-13" parsed="NIV|Romans|8|27|8|28;NIV|Romans|10|8|10|13">Romans viii. 27,28; x. 8-13</scripRef>

However, a number of shortcuts are possible. If a parsed attribute is not used, processing software can attempt to parse the passage and add it. The version can be inferred from the most recent <scripContext> element or left unspecified. The passage attribute can even be omitted when the enclosed text is an unambiguous scripture references. So, the above passage could have been marked as


<scripRef>Romans viii. 27,28; x. 8-13</scripRef>


The passage attribute is a list of scripture references separated by commas or semicolons. Each reference may consist of a book name (or abbreviation), a chapter, and a verse. The chapter and verse are separated by a semicolon or period. If two references are separated by a dash, all of the intermediary verses are included as well. In the case of books with only one chapter, a reference consists of a book name or abbreviation and a verse. Book names should be as they appear in the version in use or a unique prefix of at least two letters of the name. Abbreviations that are not prefixes may also be accepted by programs that process ThML documents.[1]

The parsed attribute consists of a number of references separated by semicolons. Each reference includes the version, book, from chapter, from verse, to chapter, and to verse separated by the vertical bar ('|') character. The version may be omitted. If the from chapter is zero, the whole book is identified. If the from verse is zero, the whole chapter is specified. If the to chapter and verse are zero, a single verse (from chapter:from verse) is specified.

Note that different translations of the Bible use different versification schemes. For example, Psalm 9 in the King James Version is split into two—Psalms 9 and 10—in the Septuagint. In order to interpret a reference, the versification scheme used must be known. Scripture references will be assumed to be compatible with the versification scheme used by the KJV, ASV, NASB, NIV, and TLB unless otherwise specified. However, specifying that the scripture version for a passage is the Septuagint, for example, implies that the references is based on the Septuagint scheme. References to the Apocrypha without a version specified are interpreted according to the scheme used in the NRSVA (New Revised Standard Version with Apocrypha).

Also, context is sometimes necessary in interpreting a reference. A passage may refer to Romans 8:28 at one point and later to verses 29 and 30 and chapter 10:8-13. It will be up to the editor to identify and mark scripture references, although software may be provided to identify possible scripture references and suggest an interpretation such as <scripRef passage="Rom. 8:29,30">verses 29 and 30</scripRef>. The <scripContext version="NIV" passage="Romans 8" /> element may be used to set the default version, book, or chapter for upcoming references to the parser.

Quotations of scripture are marked with the <scripture> element. A passage may be represented as in this example:


<scripture passage="Mark 7:16" version="NKJV">If anyone has ears to hear, let them hear!</scripture>

This markup may also be used for a translation or version of a book or a whole Bible, perhaps as in the example below. Scripture marked in this way could be automatically retrieved by book, chapter, and verse with an appropriate program.

<scripContext version="Calvin's Translation, in English" /> …

<scripContext passage="Romans 8" /> …

<scripture passage="28">We further know, that to those who love God all things co-operate for good, even to those who are called according to <I>his</I> purpose:</scripture>

<scripture passage="29">for those whom he has foreknown, he has also predetermined to be conformed to the image of his Son, that he might be the first born among many brethren;</scripture>


Explanation or commentary on a passage involves a semantic relationship between the explanation and the passage explained. This relationship should be represented in the text in order to be able to build an index of scripture commentary. For example, it would be useful to be able to see everything the early church fathers said or preached on a passage. Commentary or explanation of a passage will marked with a <scripCom> element, as in this example:


<scripCom passage="Mark 7:16">Mark 7:16. This admonition seems to apply to most everyone . . .</scripCom>

The <scripCom> element also takes a type attribute. The type is used in the CCEL for classifying references into one of a number of fixed types, including Commentary, Treatises, Sermons, Hymns, Prayers, Drama, etc. These then appear in a classified list of references for the whole library.


[1] The section marking scripture references draws from the STEP Programming Specification and the STEP Publishing Specification (available at