XML format specifications for liturgical texts

What is the XML format?

The XML format is probably the format of the future. It looks like HTML, but the tags it contains vary from one user to the other.

However some browser can display XML in conjunction with a style sheet, the main goal of XML (in the current state of the art) is to be a source that can be transformed into other formats: PDF, HTML, LaTeX, etc.

How does a XML file for www.romanliturgy.org look like?

This is an example of an XML file for liturgical texts at www.romanliturgy.org:

    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE romanliturgy
      PUBLIC "-//romanliturgy.org/DTD for liturgy//EN"
      <romanliturgy typus="oratio" lingua="la">
        <titulum>Angelus Domini</titulum>
          <v/> Ángelus Dómini nuntiávit Maríæ.<n/>
          <r/> Et concépit de Spíritu Sancto.<n/>
          Ave María...
          <v/> Ecce ancílla Dómini.<n/>
          <r/> Fiat mihi secúndum verbum tuum.<n/>
          Ave María...
          <v/> Et Verbum caro factum est.<n/>
          <r/> Et habitávit in nobis.<n/>
          Ave Maria...
          <v/> Ora pro nobis, Sancta Dei Génitrix,<n/>
          <r/> ut digni efficiámur promissiónibus
        <para>Grátiam tuam,
            qu<lig>aé</lig>sumus, Dómine,
            méntibus nostris infúnde:
            ut, qui, Ángelo nuntiánte,
            Christi Fílii tui incarnatióne cognóvimus,
            per passiónem eius et crucem
            ad resurrectiónis glóriam perducámur.
            Per Christum Dóminum nostrum.
          <r/> Amen.

In the example above, the <para></para> tags must be seen as enclosing parallel paragraphs, i.e. paragraphs which are to be displayed parallel with the corresponding <para></para> of another language, in the case we generate an output with several languages aside to each other.

The <n/> tag means that the line is broken as this point, but without beginning a new parallel paragraph.

Some special characters, like versicle and reponse (see liturgical fonts), are introduced into the XML file with the tags <v/> and <r/>.

One of the most interesting features is perhaps the tag <lig> that enables us to specify two letters that have to be ligated: v.gr. <lig>ae</lig> produces æ.

We are still working on the definition of our standards. You will have to be a little bit patient before the first complete release.