Linking Attributes


Following the general syntax for word level attributes, USFM 3.0 provides a set of attributes for assigning linking properties to character level elements.

General Syntax

Names given to linking attributes begin with link-, distinguishing them from any other descriptive attributes. Linking attributes are separated from the text content by a vertical bar |. Attributes are listed as pairs of name and corresponding value using the syntax: link-<attribute> = "value".

Linking attributes are combined with any other descriptive attributes added to the same marker. The order of attributes is not significant, although it would benefit readability to have descriptive and linking attributes grouped together.


  • link-href - identifies the resource being linked to as a URI.

    • Custom USFM provided URI prefixes are:

      • prj: + standard USFM / USX scripture reference syntax (book, chapter, verse). Example: prj:RSV52 MAT 3:1-4
    • A link reference within the same project text does not require a URI prefix but must follow the standard USFM / USX scripture reference syntax. Example: MAT 3:1-4

    • The resource may be identified by unique id. Example: #article-Ruth or prj:GNTSB #article-Ruth

  • link-title - plain text describing the remote resource such as might be shown in a tooltip.

  • link-name - a unique identifier for this content location (an anchor).

The set of URI prefixes used within a link-href attribute can be extended beyond the predefined set for USFM 3.0. Any user defined URI prefixes must begin with the prefix x-.


Link to other project text

The traditional translation of verse 1, as given in
\jmp RSV|link-href="prj:RSV52 GEN 1:1" link-title="Revised Standard Version"\jmp*,
may be appropriate.

Link to illustration / media

Storehouses, as used here, refers to large buildings with walls and roof, where grain was
kept until needed. (See illustration: \jmp Storehouse|link-href="figures/storehouse.png"
link-title="Ancient storehouse"\jmp*)

Assigning an identifier (anchor). In this example the markup is a milestone, indicating a location but not marking text.

\q1 “Someone is shouting in the desert,
\q2 ‘Prepare a road for the Lord;
\q2 make a straight path for him to travel!’ ”
\esb \cat People\cat*
\ms \jmp |link-name="article-john_the_baptist"\jmp*John the Baptist
\p John is sometimes called the last “Old Testament prophet” because of the warnings he
brought about God's judgment and because he announced the coming of God's “Chosen
One” (Messiah).

Glossary entry including a link reference to an external URL

\w gracious|link-href=""\w*

Reference to named target within the same project

\p \v 2-6a From Abraham to King David, the following ancestors are listed: Abraham,
Isaac, Jacob, Judah and his brothers; then Perez and Zerah (their mother was Tamar*),
Hezron, Ram, Amminadab, Nahshon, Salmon, Boaz (his mother was Rahab*), Obed (his
mother was \jmp Ruth|link-href="#article-Ruth"\jmp*), Jesse, and King David.

Nested markup (within extended footnote)

ef - fr 1.2-6a: fq Ruth: ft A Moabite (Ruth 1.4). Only outstanding women were normally included in Jewish genealogical lists. See article on +jmp Ruth|link-href=”#article-Ruth”+jmp*ef*

\jmp ...\jmp*


Syntax:\jmp text...|link-href="..."\jmp*
Use:Link text.
Optionally used for associating linking attributes to a span of text when no other character level markup is applied to the same span.

Linking examples provided above