New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support milestones (add element ms) #26

klassenjm opened this Issue Sep 26, 2016 · 0 comments


None yet
1 participant

klassenjm commented Sep 26, 2016


  • Add a new element <ms/> for indicating a specific milestone position within the text, or the start and ending milestones for a span of text, and where the boundaries of the content being marked may cross one or more paragraph boundaries.
  • A style attribute is required to identify the type of milestone being marked.

Since the boundaries of the content being marked may cross one or more paragraph boundaries, a milestone is always an empty element and should be written using the self-closing syntax, like <ms/> (and preferably not using <ms></ms>)

<ms style="qt-s"/>

This is the USX companion to USFM 3.0 proposal "Syntax for milestones". See: ubsicap/usfm#33 for detail.

Indicating Start and End Milestones

The style attribute for a milestone marker may end with either -s or -e

  • -s indicates that the milestone is for marking the start of a span of text.
  • -e indicates that the marker is an end milestone.

Standalone Milestones

Milestones do not need to occur in pairs or require the use of start -s and end -e style attribute suffixes. The element can also be used for a standalone milestone.

Example: (note use of the z namespace in this example, which would be the USX representation for a user generated USFM milestone marker \zms\*)

<ms style="zms"/>

USX does not formally provide any specific standalone milestone types. This may change with future updates to USX 3.x, as use of milestones highlights specific needs.


The following optional attributes can be added to any USX milestone element.

  • id - a unique identifier which can be used to unambiguously locate a milestone or associate start and ending milestones..
    • The id can be composed of any mixture of numbers, letters, and underscores, and should be unique throughout the scripture text for the selected milestone type.
<ms style="qt-s" id="qt123" who="Pilate"/>“Are you the king of the Jews?”
<ms style="qt-e" id="qt123"/>

Additional attributes may be required by a specific milestone @style type (e.g the use of the who attribute in the above quotation example).


As with USX <para> elements which include a numeric variable in the style attribute, a number may be added to a milestone style attribute to indicate a relative weighting or level. In the example of the quotation / speaker milestone, a numbered version of the marker may be used to indicate the level of nesting of the quotation being marked (i.e. a quote within a quote).

<para style="p"><verse number="22" style="v" />Paul stood up in front of the city 
council and said, <ms style="qt1-s" who="Paul"/>“I see that in every way you Athenians 
are very religious.
<verse number="23" style="v"/>For as I walked through your city ...
Yet God is actually not far from any one of us;
<verse number="28" style="v"/>as someone has said,</para>
<para style=q1><ms style="qt2-s who="someone"/>‘In him we live and move and exist.’
<ms style="qt2-e/>
<para style="b"/>
<para style="m">It is as some of your poets have said,</para>
<para style="q1"><ms style="qt2-s" who="some poets"/>‘We too are his children.’
<ms style="qt2-e"/></para>
<verse number="31" style="v"/>For he has fixed a day in which he will judge the whole 
world with justice by means of a man he has chosen. He has given proof of this to everyone 
by raising that man from death!”<ms style="qt1-e"/>

The unnumbered version may be used when only one level of marker exists within the project text. Numbers should always be included when more than one level of the marker exists within the project text.

3.0 Milestone Styles

  • Milestones for quotations (add ms@style qt1-s,qt2-s,qt3-s,qt4-s,qt5-s,qt1-e,qt2-e,qt3-e,qt4-e,qt5-e) - USX 3.0 #27

Specific milestone @Style types may provide additional attributes for encoding additional properties.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment