Beck Lecture Series
Manual for authors and editors of direct-to-HTML website content
Martin Holmes
2024

This collection of pages provides documentation and encoding examples for the authors and editors of the front-end HTML pages for the Beck Lecture Series project using XHTML5 as the primary data encoding format. It was originally derived from the XHTML5-as-ODD project schema.

Table of contents

1. Introduction

The Beck Lecture Series website keeps an ongoing record of the lecturers who have been invited to UVic to deliver presentations on Icelandic literature and culture. This is an Endings-compliant HTML-based project maintained by the Humanities Computing and Media Centre at the University of Victoria.

2. Getting started with encoding

First you will need to learn How to use Subversion (SVN) to check out the repository, update your local copy, and commit your changes.

If youʼre working as an encoder on this project, youʼll need to edit several different types of file:

3. Using the Subversion Repository

We keep all our XML files and related documents in a Subversion Repository. This is a version-control system that ensures that every version of every file can be retrieved if necessary, and prevents one person from inadvertently overwriting changes to a file made by someone else.

Subversion runs on one of our HCMC servers, which is at hcmc.uvic.ca/svn. In order to use it, you will need to install a Subversion client on your computer, and also learn a couple of simple command-line commands. Subversion is usually abbreviated to ‘svn’.

If you are working on a computer in HCMC, Subversion will already be installed. If you are working on a different computer, such as your own laptop, you will have to install it.

3.1. Installing a Subversion client

How you will do this depends on which operating system you are using.

3.1.1. Install Subversion Client on Windows

Obtain a command-line client from SilkSVN. There is no cost to download the client. Make sure to download the correct version; there are versions for 32-bit and 64-bit Windows. Once the program is downloaded, install it by double-clicking the downloaded installer and following its instructions.

3.1.2. Macintosh

Installing svn on Mac has become slightly complicated recently because Apple have removed it from their XCode toolset. We now have to install it using Homebrew, which is a package manager for the Mac. Here are the steps:

  • Go to the Homebrew home page, https://brew.sh/.
  • Copy the long line of code under ‘Install Homebrew’ to the clipboard.
  • Open a terminal.
  • Paste that code into the terminal (Command-V)
  • Press return.
  • Supply your password when required.

The Homebrew install process takes a little while. When it completes, go back to the terminal and type this:

brew install svn

When svn is installed, test it by typing:

svn --version

in the terminal. You should see lots of mysterious information, but the first thing should be the svn version number which is now installed on your machine.

3.1.3. Linux

Subversion is installed as part of a regular desktop on most Linux distributions. If it is not, you can simply type sudo apt install subversion or the equivalent command for your Linux distribution.

3.2. Checking out the repository for the first time

Once your subversion client is installed, the first thing we need to do is to check out the repository. To do this, you need to open a terminal window:

  • On Windows, click on the Start menu and type cmd into the search box.
  • On a Mac, select Terminal from the Utilities folder in Applications.
  • On Linux, press Control + Alt + T.

Now we'll check that svn is installed and working. Type svn checkout and press return. If the terminal responses that there are Not enough arguments provided, then svn is working OK.

And now we'll check out the files from the repository into our home directory, using this command:

svn checkout https://hcmc.uvic.ca/svn/beck

The first thing you might see is a question about accepting a certificate. Basically, your computer is saying ‘I don't know this server you're asking me to connect to. Should I trust it?’ The answer is yes (of course); you should type p to accept the certificate permanently so you don't have to answer this question every time you connect. This may not happen, though.

Then the server should ask for your netlink user name and password. After that, you should see the files download to your drive.

3.3. Using SVN in your daily work

These are the basic rules when you're working with svn:

Before you start work, update your local files:

  • Open a terminal
  • cd beck
  • svn update

You can leave the terminal open while you work. Then, when you're ready to commit your changes:

  • svn update
    (again, just in case anything else has been committed by someone else)
  • svn commit content -m "A message explaining the changes you have made"

(Aside: we include ‘content’ after the word ‘commit’ to specify that we only want to commit any changes that are in the content folder. That way, if we've accidentally made changes to program code or other files in the repo, those changes won't be committed.)

That's basically it. If you see any warnings or error messages from svn, check that you're in the right folder in your terminal. You may also see error messages if two people have been editing the same file at the same time, and Subversion needs you to make a decision about whose changes should be kept.

3.4. Tips for using the terminal

Finding out where you are right now:

pwd

Moving up the tree one level:

cd ../

List files in a folder:

ls

List files in a folder with full information:

ls -al

4. Working with Oxygen to encode content

Your encoding work will all be done in the Oxygen XML Editor. When you install Oxygen, there are lots of applications that come with it: Oxygen Author, Oxygen Developer, Compare Files, Compare Directories and others. But the one you want to work with is always Oxygen XML Editor, which has the blue icon with the red cross on it. Here's how to get started:

  1. Open the Oxygen XML Editor.
  2. Click on Project / Open Project...
  3. Navigate to the beck folder in your home directory.
  4. Choose the file beck.xpr.

You should see a tree of folders and files down the left of your Oxygen editor. This includes all the files in the project. You can ignore most of them. The folder that matters is the content folder, where all the articles are kept.

4.1. Oxygen code templates for editing: helpful shortcuts

Our Oxygen project file has a number of useful keyboard shortcuts built into it, which you can use to speed up your encoding. Generally speaking, to use these, you select some text in the editor, then press the keystroke shortcut shown in the table below. The table uses the following key names:

M1 represents the Command key on MacOS X, and the Ctrl key on other platforms.
M2 represents the Shift key.
M3 represents the Option key on MacOS X, and the Alt key on other platforms.
M4 represents the Ctrl key on MacOS X, and is undefined on other platforms.

The following table shows keyboard shortcuts available when the beck.xpr project file is loaded.

Name Description Result Keystroke
3-em dash Enter a 3-em dash (used for repeated authors in bibliography) M1 M2 3
Article title Tag an article or chapter title, removing existing quote marks <span data-nametype="articleTitle">${xpath_eval(replace('${selection}', '[“”]', ''))}</span> M1 M2 A
Curly apostrophe Enter a curly apostrophe (02BC), which is required in place of the straight one ʼ M1 M2 QUOTE
Ellipsis Enter ellipsis character M1 M2 PERIOD
Em dash Enter an em dash M1 M2 MINUS
En dash Enter an en dash (use for page numbers etc.) M1 M2 N
Foreign text Foreign text intended to be italicized in the output. <span class="foreign">${selection}</span> M1 M2 F
Journal title Tag a title as a journal title (for academic journals, periodicals, newspapers etc.) <span data-nametype="periodicalTitle">${selection}</span> M1 M2 J
Monograph title Tag a title as a monograph title (book, film, play, etc.) <span data-nametype="monographTitle">${selection}</span> M1 M2 M
Person's forename(s) Tag one or more forenames inside a name <span data-nametype="forename">${selection}</span>${caret} M1 M3 M2 F
Person's name Tag a person's name, and link it to their bio. <a data-nametype="persName" href="people.xml#${caret}">${selection}</a> M1 M3 M2 N
Person's name without link Tag a person's name, and link it to their bio. <span data-nametype="persName">${selection}</span> M1 M3 M2 P
Person's surname Tag a person's surname, usually inside their name <span data-nametype="surname">${selection}</span> M1 M3 M2 S
Poem title Tags a poem title to be rendered with quote marks, removing literal quote marks. <span data-nametype="poemTitle">${xpath_eval(replace('${selection}', '[“”]', ''))}</span> M1 M2 P
Poem title (italic) Tag a person's name, and link it to their bio. <span data-nametype="italicPoemTitle">${selection}</span> M1 M2 I
Quotation Tags an inline quotation, removing quote marks. <q>${xpath_eval(replace('${selection}', '[“”"]', ''))}</q> M1 M2 Q
Song title Tags a song title to be rendered with quote marks, removing literal quote marks. <span data-nametype="songTitle">${xpath_eval(replace('${selection}', '[“”]', ''))}</span> M1 M2 S

5. Basic Tasks

The files containing content for web pages are in the content folder. These consist of:

These are the main tasks you will need to carry out to maintain the site.

5.1. Upcoming visit information

The next visit from a scholar will first be announced on the Upcoming Events page. The information will be provided by the current coordinator of the lectures, usually many months in advance of the visit. The page is very simple, and if itʼs currently empty, previous entries should have been preserved as comments, to show you how to encode information about the lectures. Add/edit the information in this file, then publish the site. The same file may require multiple updates as details of the visit, locations for lectures, and so on are firmed up.

5.2. Creating a visit file

Once one or more lectures have taken place during an academicʼs visit, you can begin to create the page recording the visit. You will be provided with all the information you need by the lecture coordinator. These are the components you will need:

  • Any media files from the presentation(s). These may be presentation PDFs, audio and video files, or other resources the presenter wants to share. These are not stored in svn; instead, they live on the web server. See Handling media files for more information.
  • The presenterʼs biographical information. When you have this, first check to see if the presenter already exists in the people.xml file. If so, just update their record appropriately. If they donʼt yet appear in the file, just create a new record following the examples of all the other entries, and make sure it has a unique id.
  • Details of the presentations themselves. Normally, you will already have these details since they will have been published on the Upcoming Events page.

First, create the visit file, by combining the prefix visit_ with the year and the name of the presenter (surname_forename), following the model of the other files in the contents folder. Add this to the svn repository.

Next, add all the details of the presentations by this person, again following the model of existing visits. Use the most recent ones as your model. Donʼt add the links to media files yet.

Next, refer to the section Handling media files to prepare and upload the media files to the server.

Then, add links in the visit file to the media files you have uploaded.

When everything is complete, you can publish the site.

5.3. Handling media files

All media files are stored on our web server in the becklectures account, in the www folder.

Inside that folder, each visit gets its own folder, named exactly the same as the visit file. So you will need to create a folder for any new visit, following this model. Then name the media files appropriately, also based on the visit file name, with some additional descriptive text at the end of the filename to differentiate the files. So you may see, for example, a folder like this:

  • ls visit_2025_tulinius_torfi
    • visit_2025_tulinius_torfi_masculinity_and_trauma.pdf
    • visit_2025_tulinius_torfi_mixed_emotions.pdf
    • visit_2025_tulinius_torfi_the_stranger.pdf
    • visit_2025_tulinius_torfi_trauma_healing_poetry.pdf

As long as you follow this model, linking will be easy.

To link to one of these files from the visit file, you can simply do this:
<a href="visit_2025_tulinius_torfi_mixed_emotions.pdf">Presentation</a>
The build code will automatically construct the correct URL by inferring the folder name from the visit file name.

6. Publishing the site

Publishing the site takes several steps. Treat the following as a release checklist, and make sure all the steps are completed. You will need the credentials for the becklectures user on the file server, and of course Ant and rsync must be installed on your computer.

7. Style Guide

This style guide is always growing. Please add anything that may be important. For now, this is a preliminary idea of the style guide. Rules that are questioned or unconfirmed are labeled as under review.

Resources

Canadian Oxford Dictionary (2 ed.)

Special Symbols

European diacritics (Æ, æ, Á, á, [Ð], ð, É, é, Í, í, Ó, ó, Ö, ö, Þ, Ú, ú, Ý, ý)

Dates and Numbers

February 2, 2002

2002-02-02 (YYYY-MM-DD)

1300, 1985, 2001, etc.

AD 900 BUT 900 AD if used in a sentence/paragraph with ### BC; 900 CE, 100 BCE ALSO ACCEPTABLE

1906–1909

1880s

3:00 p.m.

chapter 48

28 Marlborough Street

$6,000

spell out numbers if it can be expressed in less than three words [unless otherwise stated]

one hundred BUT 2,500

10 per cent

thirty-seven

eighty-year-old

one out of eight

OR one-eighth [refer to ordinals below]

spell out ordinals [except when otherwise stated]

Seventeenth Annual, twenty-fifth anniversary

eighteenth-century literature

the nineteenth century

third-generation Icelandic immigarant

King Frederick III

one-third

10 FINGERS

Leviticus 18:6–18

[1] for in-text footnotes. 1. at the footnote.

Format
italicize books, films, periodicals by using the following tag:
<span data-nametype="monographTitle">Chaos and Love: The Philosophy of the Icelandic Family Sagas</span>
See the att.hasnametype documentation for the full list of values available.
quote articles, chapters, poems using the following tag:
<span data-nametype="articleTitle">The Structure of Old Norse dróttkvætt Poetry</span>
Again, see the att.hasnametype documentation for the full list of values available.

initial capitalization but no period for bullet points

title case for headers and English titles but sentence case for Icelandic titles (such as movies and books)

MLA text citations

Canadian spelling for English words

italicize words in foreign languages. [Icelandic words = under review]

quote words when referred to as words; do not quote and italicize (due to foreign language): choose one.

capitalize hyphenated compounds in title case.

Second-Generation, Sex-Ratio

Punctuation

oxford comma

en-dash for number ranges

em-dash with no spaces for interrupters

Abbreviations

all abbreviations without periods (PhD, MA, BA, Dr, St [for Saint], BC)

EXCEPT when a shortened form comprises only the first letters of a word (Rev., Hon., Prof., Jan.)

AND Latin or scholarly abbreviations with lowercase letters (p. and pp. for page and pages, e.g., i.e., etc., p.m., vs., ch.)

spell out universities, departments, and organizations (University of Victoria [sometimes UVic], Humanities Computing and Media Centre)

PhD, MA, BA, rather than D.Phil, M.Phil, cand.mag [under review]

space out name abbreviations (J. R. R. Tolkien)

spell course codes out (in normal body or listing); capitalize course code in irregular cases

Enlgish, Medieval Studies

ENGL, MEDI

spell out measurements: kilometre, centimetre, mile

A

academic director [n]

adjunct professor OR Adjunct Professor [under review; title or noun?]

Adjunct Professor of Religious Studies in the Department of History & Classics [Natalie Van Deusen refers to herself with capitalization in her bio at UofA]

administrator

Advisor [title]

the Althing [English]

the Alþingi [Icelandic]

Ambassador (of the Embassy of Iceland) AND Sony Global Imaging Ambassador [title]

the American Folklore Society

Anglo-Icelandic [n, adj]

Áns saga bogsveigs

the Arnamagnæan Commission

assistant professor (at the University of Akureyri) [n] [under review]

Associate Dean of Humanities

Associate Professor (of the Department of Linguistics) OR affiliate associate professor of the Department of Anthropology [under review; title or noun?]

B

BA

Bandamanna saga

BC (British Columbia)

BC Centennial

the Beck Lecture Series (on Icelandic Literature) [under review; can vary]

bedridden

behaviour NOT behavior

Belgsdalsbók

Best International Feature Film [award]

Biblical [adj]

the bishop

BUT Bishop Brynjólfur

Bjatur publishing house

blood feud

The Blue Fox [novel]

Book of Icelanders

Book of Settlements

Breiðafjörður [place]

Breta sögur

British-Icelandic

brother-in-law

C

catalogue [Canadian spelling, NOT catalog]

the cathedral

CDs [pl]

centre (n, adj)

Chair (of the Department of Anthropology) [title] [under review]

chairman (of many societies) [n]

chockablock

Christmas Eve

Classical [adj]

Classical Arabic

co-founded, co-screenwriter, co-wrote, co-sponsored

The Common [periodical]

The Complete Sagas of Icelanders I–V [book]

computer-generated

the Concise Icelandic-English Dictionary

criticize [Canadian spelling]

cross-disciplinary

D

data editor [n]

Dean (of the Faculty of Human and Social Development) [title]

death penalty [n]

Department of Medieval Studies OR Language and Literature Department

EXCEPT departments of English and History in Art

deputy manager (of language services for VANOC) [n]

Deputy Provost [title]

the Devil

Director (of the Reykjavík Academy; of the Medieval Studies Program) [title] [under review]

EXCEPT director of the Folklore Archive AND the director at the Iceland Music History AND director (of a film)

Divine Providence: The Wreck and Rescue of the Julia Ann [book]

DNA

donor

Dot Dot Comma Dash [film]

Dr [title]

E

early Middle Ages

Early Modern (economic history)

Editor [title]

EXCEPT an editor (at Bjatur publishing house) [n]

Egils saga [Old Norse]

there are other variations [under review]

Eiríks saga rauða

Elucidarius

the Embassy of Iceland

Encyclopædia Britannica [book]

English Honours [program]

ex-professor

extra-texual BUT intertextual

Eyrbyggja saga

F

Facebook

Faculty of Education, Faculty of Languages and Cultures

fall [as in autumn]

farmer-scribes

Federation of Icelandic Artists

Fellow [under review; title or noun?]

EXCEPT fellow (of three learned societies)

Flateyjarbók [MS]

Flóamanna saga

Folklore Archive (later National Folklore Collection)

folk song NOT folksong

Fósbræðra saga

G

General Editor [title]

ghost-child

Gísla saga Súrssonar

God-knows-how-many

golden age

Göngu-Hrólfs saga

Google

The Governor General’s Gold Medal Award [award]

Graduate Awards Committee

Grágás [law codex]

great-aunt, great-grandmother, great-grandson, etc.

Grettis saga [Icelandic and Old Norse]

other varaitions [under review]

grey NOT gray

grown-up

H

Hænsna-Þóris saga

hand-copy

half-sister, half-brother

Hallfreðar saga

Hávarðar saga Ísfirðings

harbour [Canadian spelling]

Harðar saga og Hólmverja

Háskóli Íslands

Haukadalur [place]

Hauksbók

Head OR head (of the English Department) [under review; title or noun?]

Heiðreks saga

Henry Cabot and Linnea Lodge Scandinavian Professorship

Historia regum Britanniae

historicization [Canadian spelling]

homily

Honorius Agustodunensis

honourary consul

honourary doctorates

honourary doctor of literature degree OR Honourary Doctor of Literature Degree

honourary fellow OR Honourary Fellow OR honorary [under review; title or noun?; Canadian spelling?]

honourary professor OR Honourary Professor OR honorary [under review; title or noun?; Canadian spelling?]

Humanities Computing and Media Centre

hurdy-gurdy [n]

I

Iceland Music History Museum

Icelanders

Icelandic Association of Northern California

Icelandic-Canadian [n, adj]

Icelandic Institute

the Icelandic Institute Film Festival

Icelandic Republic

Icelandic National Broadcasting (RÚV)

The Icelandic Herritage [book title]

Icelandic National League of North America

the Icelandic River

Icelandic River Saga [book title]

Icelandic Settlers in America [book title]

i.e.

Ilias Latina

instructor

Interdisciplinary PhD

the Interlake

the International Congress on Medieval Studies

International Director [title] [Margaret Willson bio on the University of Washington website capitalizes]

I Remember You [film]

Íslendingabækur (Book of Icelanders) [under review; italicize or no?]

Íslendingabók (also: Book of Icelanders) [under review; italicize or no?]

J

Johns Hopkins Writing Seminars

Jónsbók [MS, lawbook]

Journal of Canadian Fiction [periodical]

journeys [pl. n]

judge [n] [the position]

K

the king

BUT King Frederick III

kingsʼ sagas

Kjalnesinga saga

Knitting with Icelandic Wool [book]

Kópavogur

Kormáks saga

Kristni saga

Kuldi [film]

Kyrtill

L

Lamb [film]

Landnámabók (the Book of Settlements

Late Norse

law-speaker

lay people/person

BUT layman/laymen

lawbook

Laxdæla saga

lecturer [n]

Leif Erikson League

Libellus Islandorum (Book of Icelanders)

Literary History of Iceland [book]

Ljárskógabók

The Lord of the Rings [film]

The Hobbit [film]

M

MA

The Margaret and Richard Beck Fund (OR Beck Fund) [under review]

Margaret and Richard Beck Lectures (OR Beck Lectures) [under review]

mean-spirited

the Medieval Academy of America

medieval (embroidery)

metre INSTEAD OF meter

MFA

mid-Atlantic, mid-sentence

Middle Ages [n]

Middle Dutch

millennium

mini-series [n]

MP3

modern-day

modern English

the Modern Language Association

Moonstone – The Boy Who Never Was [novel]

Mormon

multicultural

The Music of Failure [book]

N

National Folklore Collection (previously Folklore Archive)

native-speaker-approach [n]

neighbour and neighbourhood [Canadian spelling]

newborn [n, adj]

New Iceland

New International Version

New World

NGO (non-governmental organization)

Njáls saga [Icelandic]

BUT Njalʼs Saga [English]

AND Njalʼs Saga [book]

there are most likely other variations

non-ghost, non-native, non-digital

normalize, normalized, normalization [Canadian spelling]

Northern Europe

O

Office of the President

Old High German

Old Norse

Old Saxon

Orion Visitor Fund

the Oscarʼs

The Outlaw: The Saga of Gísli Súrsson [film]

over-identify

P-Q

paper-manuscripts [n]

part-time [adj, adv]

per cent

the pastor

BUT Pastor Jon Erlendsson

Peysufot

PhD

the Pilgrims OR Father Pilgrims

Plácidus saga

Poetic Edda

post-medieval, post-Gutenberg

BUT postwar

pre-existence

prehistory [n]

President (of the University of Victoriaʼs Faculty Associaton) [title]

presidential elections of Iceland

printing press

producer

prophecy [n]

prophesy [v]

professor OR Professor [all accounts below are under review]

  • adjunct and associate [found in A category] professors may follow same rules. if professor ends up being capitalized, then remove articles (a/the/an).
  • a professor (at the University of Iceland) [n]
  • BUT Professor Peder Resen [title with name]
  • professor emerit(a/us) [under review]
  • a professor (of philosophy; of English literature; of medieval archaeology, of economics) [n] [with area of study (not necessarily the title of the department); University of Iceland keeps it downstyle]
  • professor (of the Medieval Studies Department; of Education; of Scandinavian Studies) [under review; with title of Department]

program NOT programme

Project Director [title]

project leader or Project Leader [under review; noun or title?]

project programmer [n]

Prose Edda

Protestant

R

realize, realized, realization [Canadian spelling]

re-establish BUT retell

Resenian (codex)

rímur [n]

roman [text style]

Roman [from Rome]

Romantic, Romanticism, etc. [literary movement, era]

Royal Antiquarian

Royal Danish Archives

the Red House [art gallery]

the Reformation

Reporter of the Year [award/title]

Reykjavík

The Reykjavík Academy

Icelandic National Broadcasting (RÚV)

S-T/Þ-U

saga [n]

sagas of Icelanders and family sagas [genre]

Njalʼs Saga [English title]

Njals saga [Icelandic title]

Njalʼs saga [n; not a title]

The Saga of the People of Laxardal and Bolli Bollason’s Tale [book]

Sagan Landnama um fyrstu bygging Islands af Nordmönnum

Schedæ Ara prests fróða (the Book of Icelanders)

Scottish Society for Northern Studies

Scriptorium

Scripture [Biblical]

Seawomen of Iceland: Survival on the Edge [book]

self-expression

Senate Committee on Awards

servant-girl

shape-changer, shape-shifter

Siglufjörður, saga bæjar (Siglufjörður, the story of a town) [tv series]

short-lived

Skautbuningur

Snæfellsnes

the Society for the Advancement of Scandinavian Study

so-called

speech-act (theory) [adj]

BUT speech acts [n]

Staðarfellsbók

stepdaughter

Stjörnu Odda draumur [short story]

Stóridómur [an extensive legislation on sexual matters]

storytelling, storyteller

Strengleikar

subgroup BUT sub-genre [OCD 2ed.]

superintendent

Supreme Court (of Iceland)

theorize, theorized, theorization, theorizing [Canadian spelling]

Þingvellir

third-generation [adj]

Þorsteins þáttur bæjarmagns [short story]

Traditional Icelandic Embroidery [book]

travel, travelled, travelling, traveller [Canadian spelling]

Trójumanna saga

university

University Librarian [noun or title?; under review]

University of Lyon II

University of Paris IV Sorbonne

University of Victoria OR UVic [since we are familiar with our own university]

University of Victoria Library OR UVic Library

Upphlutur

V-W-X-Y-Z

Vancouver Organizing Comittee for the 2010 Olympic and Paralympic Winter Games (VANOC)

Vatnsdæla saga

Vatnsdalur

Vatnshornsbók

Vatnshyrna [lost MS]

Vatnshyrna-like

BUT catlike, childlike [-like is hyphenated, but closed if found in OCD 2ed

the Victoria International Film Festival

Viking

Viking Age

The Vikings and the Victorians: Inventing the Old North in Nineteenth-century Britain [book title]

The Vinland Sagas [book]

Visitor Fund

vs. (as in versus)

volcanoes [Canadian spelling]

Völsunga saga [Icelandic]

Volsunga Saga [English]

twenty-volume (collection)

2017 Washington State Nonfiction Book of the Year [award]

well informed

well-known

well-travelled [adj]

Western Europe

wind-storms

wordplay

workload

working methods NOT working-methods [n]

work-study [adj]

worldwide [adj]

worthwhile

yes-or-no (answer) [adj]

YouTube

Misc.

10 FINGERS [theatre group]

departments, programs, and faculties capitalized

  • Anthropology Department
  • Department of Anthropology
  • Faculty of Languages and Cultures
  • Medieval Studies Program
  • Scandinavian Studies

Appendix A

Appendix A.1 Elements

Appendix A.1.1 <a>

<a>
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
  • att.classable
    • @class
    • @style
  • att.hasHref
    • @href
  • att.hasnametype
    • @data-nametype
title (explanation of what is being linked to. Will pop up when mousing over the link.)
Status Optional
Datatype teidata.text
target
Status Optional
Legal values are:
_blank
(Open this link in a new window or tab.)
Member of
model.beckPhrase
Contained by
beck: a aside blockquote button caption cite code em figcaption h2 h3 h4 li p q span strong summary td th u
May contain
beck: a audio cite code em figcaption img q span strong summary u video
character data
Content model
<content>
 <macroRef key="macro.beckParaContent"/>
</content>
    
Schema Declaration
element a
{
   xh_att.classable.attributes,
   xh_att.hasHref.attributes,
   xh_att.hasnametype.attributes,
   attribute title { text }?,
   attribute target { "_blank" }?,
   xh_macro.beckParaContent
}

Appendix A.1.2 <article>

<article> (The principal container element, containing block content) This is the root element for article documents.
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
  • att.identifiable
    • @id
  • att.hasTitle
    • @title
  • att.hasDate
    • @data-when
data-shortname (This is a simplified name of the poet used in the case of very long poet names.)
Status Optional
Datatype teidata.text
Contained by
beck: body main
May contain
beck: aside audio blockquote button cite details dialog figure h2 img ol p pre section table ul video
Content model
<content>
 <sequence minOccurs="1" maxOccurs="1">
  <elementRef key="h2"/>
  <alternate minOccurs="1"
   maxOccurs="unbounded">
   <macroRef key="macro.beckBlockContent"/>
   <elementRef key="section" minOccurs="1"
    maxOccurs="unbounded"/>
  </alternate>
 </sequence>
</content>
    
Schema Declaration
element article
{
   xh_att.identifiable.attributes,
   xh_att.hasTitle.attributes,
   xh_att.hasDate.attributes,
   attribute data-shortname { text }?,
   ( xh_h2, ( xh_macro.beckBlockContent | xh_section+ )+ )
}

Appendix A.1.3 <aside>

<aside> (A portion of a document whose content is only indirectly related to the document's main content) The aside element encloses content which is tangentially related to the content around it. It is used for callouts, footnotes/endnotes, and similar content.
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
  • att.classable
    • @class
    • @style
  • att.identifiable
    • @id
  • att.hasTitle
    • @title
Member of
model.beckBlockBody
Contained by
beck: article body details div section
May contain
beck: a audio br cite code em figcaption img q span strong summary u video
character data
Content model
<content>
 <alternate minOccurs="0"
  maxOccurs="unbounded">
  <macroRef key="macro.beckParaContent"/>
  <elementRef key="br"/>
 </alternate>
</content>
    
Schema Declaration
element aside
{
   xh_att.classable.attributes,
   xh_att.identifiable.attributes,
   xh_att.hasTitle.attributes,
   ( xh_macro.beckParaContent | xh_br )*
}

Appendix A.1.4 <audio>

<audio> The <audio> element provides an audio player to play an audio file specified in the child <source> element.
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
  • att.classable
    • @class
    • @style
  • att.identifiable
    • @id
controls
Status Recommended
Legal values are:
controls
(Specifies that default audio controls should be provided for the player.)
Member of
model.beckBlockBody model.beckPhrase
Contained by
beck: a article aside blockquote button caption cite code details div em figcaption h2 h3 h4 li p q section span strong summary td th u
May contain
beck: source
Content model
<content>
 <elementRef key="source" minOccurs="1"
  maxOccurs="unbounded"/>
</content>
    
Schema Declaration
element audio
{
   xh_att.classable.attributes,
   xh_att.identifiable.attributes,
   attribute controls { "controls" }?,
   xh_source+
}

Appendix A.1.5 <blockquote>

<blockquote> Block quotation.
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
  • att.classable
    • @class
    • @style
Member of
model.beckBlockBody
Contained by
beck: article details div section
May contain
beck: a audio br cite code em figcaption img p q span strong summary u ul video
character data
Content model
<content>
 <alternate minOccurs="1"
  maxOccurs="unbounded">
  <elementRef key="p"/>
  <elementRef key="ul"/>
  <elementRef key="br"/>
  <macroRef key="macro.beckParaContent"/>
 </alternate>
</content>
    
Schema Declaration
element blockquote
{
   xh_att.classable.attributes,
   ( xh_p | xh_ul | xh_br | xh_macro.beckParaContent )+
}

Appendix A.1.6 <body>

<body> (The principal container for page content as shown in the browser) In HTML5, the body element allows all flow content, but we are much more constrained here, allowing only block-level elements.
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
  • att.classable
    • @class
    • @style
  • att.identifiable
    • @id
Contained by
beck: html
May contain
beck: article aside div main section
Content model
<content>
 <sequence minOccurs="1" maxOccurs="1">
  <alternate minOccurs="0" maxOccurs="1">
   <elementRef key="h1" minOccurs="1"
    maxOccurs="1"/>
   <elementRef key="header" minOccurs="1"
    maxOccurs="1"/>
  </alternate>
  <elementRef key="aside" minOccurs="0"
   maxOccurs="1"/>
  <alternate minOccurs="1" maxOccurs="1">
   <elementRef key="div" minOccurs="1"
    maxOccurs="unbounded"/>
   <elementRef key="section" minOccurs="2"
    maxOccurs="unbounded"/>
   <elementRef key="main" minOccurs="1"
    maxOccurs="1"/>
   <elementRef key="article" minOccurs="1"
    maxOccurs="1"/>
  </alternate>
  <elementRef key="aside" minOccurs="0"
   maxOccurs="1"/>
  <elementRef key="footer" minOccurs="0"
   maxOccurs="1"/>
 </sequence>
</content>
    
Schema Declaration
element body
{
   xh_att.classable.attributes,
   xh_att.identifiable.attributes,
   (
      ( h1 | header )?,
      xh_aside?,
      (
         xh_div+
       | ( xh_section, xh_section, xh_section* )
       | xh_mainxh_article
      ),
      xh_aside?,
      footer?
   )
}

Appendix A.1.7 <br>

<br> A hard-coded linebreak. Avoid unless you absolutely need it. Use it at the end of lines in poems.
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
  • att.classable
    • @class
    • @style
Contained by
beck: aside blockquote em h2 h3 h4 li p q span u
May contain Empty element
Content model
<content>
 <empty/>
</content>
    
Schema Declaration
element br { xh_att.classable.attributes, empty }

Appendix A.1.8 <button>

<button> An HTML button element.
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
  • att.classable
    • @class
    • @style
  • att.identifiable
    • @id
  • att.hasTabindex
    • @tabindex
Member of
model.beckBlockBody
Contained by
beck: article details div section
May contain
beck: a audio cite code em figcaption img q span strong summary u video
character data
Content model
<content>
 <macroRef key="macro.beckParaContent"/>
</content>
    
Schema Declaration
element button
{
   xh_att.classable.attributes,
   xh_att.identifiable.attributes,
   xh_att.hasTabindex.attributes,
   xh_macro.beckParaContent
}

Appendix A.1.9 <caption>

<caption> A table caption.
Namespace http://www.w3.org/1999/xhtml
Module beck
Contained by
beck: table
May contain
beck: a audio cite code em figcaption img q span strong summary u video
character data
Content model
<content>
 <macroRef key="macro.beckParaContent"/>
</content>
    
Schema Declaration
element caption { xh_macro.beckParaContent }

Appendix A.1.10 <cite>

<cite> An HTML cite element
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
  • att.classable
    • @class
    • @style
  • att.identifiable
    • @id
Member of
model.beckBlockBody model.beckPhrase
Contained by
beck: a article aside blockquote button caption cite code details div em figcaption h2 h3 h4 li p q section span strong summary td th u
May contain
beck: a audio cite code em figcaption img q span strong summary u video
character data
Content model
<content>
 <macroRef key="macro.beckParaContent"/>
</content>
    
Schema Declaration
element cite
{
   xh_att.classable.attributes,
   xh_att.identifiable.attributes,
   xh_macro.beckParaContent
}

Appendix A.1.11 <code>

<code> (Inline computer code, filenames etc.) Inline text which is computer code or similar text such as identifiers.
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
  • att.classable
    • @class
    • @style
Member of
model.beckPhrase
Contained by
beck: a aside blockquote button caption cite code em figcaption h2 h3 h4 li p q span strong summary td th u
May contain
beck: a audio cite code em figcaption img q span strong summary u video
character data
Content model
<content>
 <macroRef key="macro.beckParaContent"/>
</content>
    
Schema Declaration
element code { xh_att.classable.attributes, xh_macro.beckParaContent }

Appendix A.1.12 <details>

<details> Expandable details element with summary child.
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
  • att.classable
    • @class
    • @style
  • att.identifiable
    • @id
Member of
model.beckBlockBody
Contained by
beck: article details div section
May contain
beck: aside audio blockquote button cite details dialog figure img ol p pre summary table ul video
Content model
<content>
 <sequence minOccurs="1" maxOccurs="1">
  <elementRef key="summary"/>
  <macroRef key="macro.beckBlockContent"/>
 </sequence>
</content>
    
Schema Declaration
element details
{
   xh_att.classable.attributes,
   xh_att.identifiable.attributes,
   ( xh_summary, xh_macro.beckBlockContent )
}

Appendix A.1.13 <dialog>

<dialog> An HTML dialog element
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
  • att.classable
    • @class
    • @style
  • att.identifiable
    • @id
Member of
model.beckBlockBody
Contained by
beck: article details div main section
May contain
beck: div figure p
Content model
<content>
 <alternate minOccurs="1"
  maxOccurs="unbounded">
  <elementRef key="p"/>
  <elementRef key="figure"/>
  <elementRef key="div"/>
 </alternate>
</content>
    
Schema Declaration
element dialog
{
   xh_att.classable.attributes,
   xh_att.identifiable.attributes,
   ( xh_p | xh_figure | xh_div )+
}

Appendix A.1.14 <div>

<div> (A division of the footer element or the search page.) The div may be the main child of the main element.
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
  • att.identifiable
    • @id
  • att.classable
    • @class
    • @style
Contained by
beck: body dialog div main
May contain
beck: aside audio blockquote button cite details dialog div figure h3 h4 img ol p pre table ul video
Content model
<content>
 <sequence minOccurs="1" maxOccurs="1">
  <alternate minOccurs="1" maxOccurs="1">
   <elementRef key="h3" minOccurs="0"
    maxOccurs="1"/>
   <elementRef key="h4" minOccurs="0"
    maxOccurs="1"/>
  </alternate>
  <alternate minOccurs="1"
   maxOccurs="unbounded">
   <elementRef key="p"/>
   <elementRef key="div"/>
   <macroRef key="macro.beckBlockContent"/>
  </alternate>
 </sequence>
</content>
    
Schema Declaration
element div
{
   xh_att.identifiable.attributes,
   xh_att.classable.attributes,
   ( ( xh_h3? | xh_h4? ), ( xh_p | xh_div | xh_macro.beckBlockContent )+ )
}

Appendix A.1.15 <em>

<em> Emphasized text; will be rendered by default in italics.
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
  • att.classable
    • @class
    • @style
Member of
model.beckPhrase
Contained by
beck: a aside blockquote button caption cite code em figcaption h2 h3 h4 li p q span strong summary td th u
May contain
beck: a audio br cite code em figcaption img q span strong summary u video
character data
Content model
<content>
 <alternate minOccurs="0"
  maxOccurs="unbounded">
  <macroRef key="macro.beckParaContent"/>
  <elementRef key="br"/>
 </alternate>
</content>
    
Schema Declaration
element em
{
   xh_att.classable.attributes,
   ( xh_macro.beckParaContent | xh_br )*
}

Appendix A.1.16 <figcaption>

<figcaption> Caption for an image in a figure element.
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
  • att.classable
    • @class
    • @style
  • att.identifiable
    • @id
  • att.hasTabindex
    • @tabindex
Member of
model.beckPhrase
Contained by
beck: a aside blockquote button caption cite code em figcaption figure h2 h3 h4 li p q span strong summary td th u
May contain
beck: a audio cite code em figcaption img q span strong summary u video
character data
Content model
<content>
 <macroRef key="macro.beckParaContent"/>
</content>
    
Schema Declaration
element figcaption
{
   xh_att.classable.attributes,
   xh_att.identifiable.attributes,
   xh_att.hasTabindex.attributes,
   xh_macro.beckParaContent
}

Appendix A.1.17 <figure>

<figure> A figure consists of an image and a caption.
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
  • att.identifiable
    • @id
  • att.hasTabindex
    • @tabindex
  • att.classable
    • class
    • @style
class (The class attribute provides styles through rules in the CSS stylesheet.)
Derived from att.classable
Status Optional
Datatype 1–∞ occurrences of teidata.word separated by whitespace
Suggested values include:
leftFloat
(Float this figure to the left and flow the text around it.)
center
(Centre this figure and do not float text around it.)
rightFloat
(Float this figure to the right and flow the text around it.)
lightbox-figure
(Used for a figure which appears in the ad gallery.)
Member of
model.beckBlockBody
Contained by
beck: article details dialog div section
May contain
beck: figcaption img p
Content model
<content>
 <alternate minOccurs="1" maxOccurs="1">
  <elementRef key="p" minOccurs="1"
   maxOccurs="unbounded"/>
  <sequence minOccurs="1" maxOccurs="1">
   <elementRef key="img"/>
   <elementRef key="figcaption"
    minOccurs="0"/>
  </sequence>
 </alternate>
</content>
    
Schema Declaration
element figure
{
   xh_att.classable.attribute.style,
   xh_att.identifiable.attributes,
   xh_att.hasTabindex.attributes,
   attribute class
   {
      list { ( "leftFloat" | "center" | "rightFloat" | "lightbox-figure" )+ }
   }?,
   ( xh_p+ | ( xh_img, xh_figcaption? ) )
}

Appendix A.1.18 <h2>

<h2> (Main page heading) The h2 (level 2 heading) element provides the heading for article content.
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
  • att.classable
    • @class
    • @style
  • att.hasTitle
    • @title
Contained by
beck: article main
May contain
beck: a audio br cite code em figcaption img q span strong summary u video
character data
Schematron
<sch:rule context="xh:article[starts-with(@id, 'mod_')][count(descendant::xh:p) gt 1]/xh:h2"> <sch:assert test="descendant::xh:a[@href][@data-nametype='persName']"> The heading for a modern article must contain a link to the name of its author. </sch:assert> </sch:rule>
Content model
<content>
 <alternate minOccurs="1"
  maxOccurs="unbounded">
  <macroRef key="macro.beckParaContent"/>
  <elementRef key="br"/>
 </alternate>
</content>
    
Schema Declaration
element h2
{
   xh_att.classable.attributes,
   xh_att.hasTitle.attributes,
   ( xh_macro.beckParaContent | xh_br )+
}

Appendix A.1.19 <h3>

<h3> (Section heading) The h3 (level 3 heading) element provides the heading for sections (if any) inside the main element.
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
  • att.classable
    • @class
    • @style
Contained by
beck: div section
May contain
beck: a audio br cite code em figcaption img q span strong summary u video
character data
Content model
<content>
 <alternate minOccurs="1"
  maxOccurs="unbounded">
  <macroRef key="macro.beckParaContent"/>
  <elementRef key="br"/>
 </alternate>
</content>
    
Schema Declaration
element h3
{
   xh_att.classable.attributes,
   ( xh_macro.beckParaContent | xh_br )+
}

Appendix A.1.20 <h4>

<h4> (Section heading) The h4 (level 4 heading) element provides the heading for sections (if any) inside the main element.
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
  • att.classable
    • @class
    • @style
Contained by
beck: div
May contain
beck: a audio br cite code em figcaption img q span strong summary u video
character data
Content model
<content>
 <alternate minOccurs="1"
  maxOccurs="unbounded">
  <macroRef key="macro.beckParaContent"/>
  <elementRef key="br"/>
 </alternate>
</content>
    
Schema Declaration
element h4
{
   xh_att.classable.attributes,
   ( xh_macro.beckParaContent | xh_br )+
}

Appendix A.1.21 <head>

<head> (The HTML head element) The head element contains links to (external-only) CSS and JS, as well as a title element and meta tags. We impose an order here which is not enforced by the HTML5 standard, placing the single title element first, followed by meta tags, CSS, and script. One of the meta tags must be a charset specification.
Namespace http://www.w3.org/1999/xhtml
Module beck
Contained by
beck: html
May contain
beck: meta title
Content model
<content>
 <sequence minOccurs="1" maxOccurs="1">
  <elementRef key="title" minOccurs="1"
   maxOccurs="1"/>
  <elementRef key="meta" minOccurs="1"
   maxOccurs="unbounded"/>
  <elementRef key="link" minOccurs="0"
   maxOccurs="unbounded"/>
  <elementRef key="script" minOccurs="0"
   maxOccurs="unbounded"/>
 </sequence>
</content>
    
Schema Declaration
element head { xh_title, xh_meta+, link*, script* }

Appendix A.1.22 <html>

<html> (The root html element for normal complete documents) The html element is only root element allowed for conventional HTML5 documents, but we also allow other block elements to serve as root for pragmatic reasons.
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
  • att.identifiable
    • @id
  • att.hasLang
    • @lang
  • att.classable
    • @class
    • @style
Contained by
May contain
beck: body head
Content model
<content>
 <sequence minOccurs="1" maxOccurs="1">
  <elementRef key="head"/>
  <elementRef key="body"/>
 </sequence>
</content>
    
Schema Declaration
element html
{
   xh_att.identifiable.attributes,
   xh_att.hasLang.attributes,
   xh_att.classable.attributes,
   ( xh_head, xh_body )
}

Appendix A.1.23 <img>

<img> Image element. May be rendered inline or as a block, depending on where it appears in the document structure.
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
  • att.classable
    • @class
    • @style
  • att.identifiable
    • @id
width Width in pixels of the image.
Status Optional
Datatype teidata.numeric
height Height in pixels of the image
Status Optional
Datatype teidata.numeric
src (path to the image (usually a relative path))
Status Required
Datatype teidata.pointer
alt (description of the image for visually-impaired users. If not supplied, then figcaption will be used instead.)
Status Optional
Datatype teidata.text
title (description of the image which will pop up on mouseover. If not supplied, then figcaption will be used instead.)
Status Optional
Datatype teidata.text
Member of
model.beckBlockBody model.beckPhrase
Contained by
beck: a article aside blockquote button caption cite code details div em figcaption figure h2 h3 h4 li p q section span strong summary td th u
May contain Empty element
Schematron
<sch:rule context="xh:img"> <sch:assert test="@alt or following-sibling::xh:figcaption or ancestor::xh:ul[@class='gallery']"> If your img element is not inside a figure element with a figcaption, then it requires the @alt attribute to provide help for visually-impaired users. </sch:assert> </sch:rule>

Appendix A.1.24 <li>

<li> Item in a list or a menu.
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
  • att.classable
    • @class
    • @style
  • att.identifiable
    • @id
  • att.hasDate
    • @data-when
Contained by
beck: ol ul
May contain
beck: a audio br cite code em figcaption img ol p q span strong summary u ul video
character data
Content model
<content>
 <alternate minOccurs="0"
  maxOccurs="unbounded">
  <elementRef key="ul"/>
  <elementRef key="ol"/>
  <elementRef key="p"/>
  <macroRef key="macro.beckParaContent"/>
  <elementRef key="br"/>
 </alternate>
</content>
    
Schema Declaration
element li
{
   xh_att.classable.attributes,
   xh_att.identifiable.attributes,
   xh_att.hasDate.attributes,
   ( xh_ul | xh_ol | xh_p | xh_macro.beckParaContent | xh_br )*
}

Appendix A.1.25 <main>

<main> (The main element, containing block content) This is used as the root element for some content documents. This allows divs, dialogs, or articles in alternation.
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
  • att.identifiable
    • @id
  • att.hasTitle
    • @title
Contained by
beck: body
May contain
beck: article dialog div h2
Content model
<content>
 <sequence minOccurs="1" maxOccurs="1">
  <elementRef key="h2"/>
  <alternate minOccurs="1"
   maxOccurs="unbounded">
   <elementRef key="div"/>
   <elementRef key="dialog"/>
   <elementRef key="article" maxOccurs="2"/>
  </alternate>
  <elementRef key="script" minOccurs="0"
   maxOccurs="unbounded"/>
 </sequence>
</content>
    
Schema Declaration
element main
{
   xh_att.identifiable.attributes,
   xh_att.hasTitle.attributes,
   ( xh_h2, ( xh_div | xh_dialog | ( xh_article, xh_article? ) )+, script* )
}

Appendix A.1.26 <meta>

<meta> (The HTML meta element) This serves two purposes in our project: it provides the UTF-8 charset declaration, and it also provides information for staticSearch filters.
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
charset
Status Optional
Legal values are:
utf-8
(We only allow UTF-8 encoding.)
Contained by
beck: head
May contain Empty element
Content model
<content>
 <empty/>
</content>
    
Schema Declaration
element meta { attribute charset { "utf-8" }?, empty }

Appendix A.1.27 <ol>

<ol> Ordered list, usually numbered.
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
  • att.classable
    • @class
    • @style
Member of
model.beckBlockBody
Contained by
beck: article details div li section
May contain
beck: li
Content model
<content>
 <elementRef key="li" minOccurs="1"
  maxOccurs="unbounded"/>
</content>
    
Schema Declaration
element ol { xh_att.classable.attributes, xh_li+ }

Appendix A.1.28 <p>

<p> Prose paragraph.
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
  • att.classable
    • @class
    • @style
  • att.identifiable
    • @id
Member of
model.beckBlockBody
Contained by
beck: article blockquote details dialog div figure li section
May contain
beck: a audio br cite code em figcaption img q span strong summary u video
character data
Content model
<content>
 <alternate minOccurs="0"
  maxOccurs="unbounded">
  <macroRef key="macro.beckParaContent"/>
  <elementRef key="br"/>
 </alternate>
</content>
    
Schema Declaration
element p
{
   xh_att.classable.attributes,
   xh_att.identifiable.attributes,
   ( xh_macro.beckParaContent | xh_br )*
}

Appendix A.1.29 <pre>

<pre> Preformatted text which is to be presented exactly as written in the HTML file.
Namespace http://www.w3.org/1999/xhtml
Module beck
Member of
model.beckBlockBody
Contained by
beck: article details div section
May contain Character data only
Content model
<content>
 <textNode/>
</content>
    
Schema Declaration
element pre { text }

Appendix A.1.30 <q>

<q> Inline quotation. In rendering, quotation marks will be supplied, so do not include them.
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
  • att.classable
    • @class
    • @style
Member of
model.beckPhrase
Contained by
beck: a aside blockquote button caption cite code em figcaption h2 h3 h4 li p q span strong summary td th u
May contain
beck: a audio br cite code em figcaption img q span strong summary u video
character data
Content model
<content>
 <alternate minOccurs="1"
  maxOccurs="unbounded">
  <elementRef key="br"/>
  <macroRef key="macro.beckParaContent"/>
 </alternate>
</content>
    
Schema Declaration
element q
{
   xh_att.classable.attributes,
   ( xh_br | xh_macro.beckParaContent )+
}

Appendix A.1.31 <section>

<section> (A subsection of a page) If using sections, there must be at least two.
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
  • att.classable
    • @class
    • @style
  • att.identifiable
    • @id
Contained by
beck: article body
May contain
beck: aside audio blockquote button cite details dialog figure h3 img ol p pre table ul video
Content model
<content>
 <sequence minOccurs="1" maxOccurs="1">
  <elementRef key="h3" maxOccurs="1"/>
  <macroRef key="macro.beckBlockContent"/>
 </sequence>
</content>
    
Schema Declaration
element section
{
   xh_att.classable.attributes,
   xh_att.identifiable.attributes,
   ( xh_h3, xh_macro.beckBlockContent )
}

Appendix A.1.32 <source>

<source> The <source> HTML element specifies one or more media resources for the, <audio> and <video> elements.
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
src (Pointer to the source media file.)
Status Required
Datatype teidata.pointer
type (The mime type specifies the applicable multimedia internet mail extension (MIME) media type)
Status Optional
Datatype teidata.word
Contained by
beck: audio video
May contain Empty element

Appendix A.1.33 <span>

<span> General-purpose phrase-level element. Use only if there is no more specific alternative for what you want.
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
  • att.classable
    • @class
    • @style
  • att.hasLang
    • @lang
  • att.hasnametype
    • @data-nametype
  • att.hasDate
    • @data-when
Member of
model.beckPhrase
Contained by
beck: a aside blockquote button caption cite code em figcaption h2 h3 h4 li p q span strong summary td th u
May contain
beck: a audio br cite code em figcaption img q span strong summary u video
character data
Schematron
<sch:rule context="xh:span"> <sch:assert test="@class or @style or @data-nametype"> A span element must have a class attribute, a data-nametype attribute, or a style attribute. </sch:assert> </sch:rule>
Content model
<content>
 <alternate minOccurs="0"
  maxOccurs="unbounded">
  <macroRef key="macro.beckParaContent"/>
  <elementRef key="br"/>
 </alternate>
</content>
    
Schema Declaration
element span
{
   xh_att.classable.attributes,
   xh_att.hasLang.attributes,
   xh_att.hasnametype.attributes,
   xh_att.hasDate.attributes,
   ( xh_macro.beckParaContent | xh_br )*
}

Appendix A.1.34 <strong>

<strong> (Strong text) Text that needs to be highlighted because it is important; will be rendered by default in bold.
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
  • att.classable
    • @class
    • @style
Member of
model.beckPhrase
Contained by
beck: a aside blockquote button caption cite code em figcaption h2 h3 h4 li p q span strong summary td th u
May contain
beck: a audio cite code em figcaption img q span strong summary u video
character data
Content model
<content>
 <macroRef key="macro.beckParaContent"/>
</content>
    
Schema Declaration
element strong { xh_att.classable.attributes, xh_macro.beckParaContent }

Appendix A.1.35 <summary>

<summary> Single-line summary for details element.
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
  • att.classable
    • @class
    • @style
Member of
model.beckPhrase
Contained by
beck: a aside blockquote button caption cite code details em figcaption h2 h3 h4 li p q span strong summary td th u
May contain
beck: a audio cite code em figcaption img q span strong summary u video
character data
Content model
<content>
 <macroRef key="macro.beckParaContent"/>
</content>
    
Schema Declaration
element summary { xh_att.classable.attributes, xh_macro.beckParaContent }

Appendix A.1.36 <table>

<table> A table.
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
  • att.classable
    • @class
    • @style
Member of
model.beckBlockBody
Contained by
beck: article details div section
May contain
beck: caption tr
Content model
<content>
 <sequence minOccurs="1" maxOccurs="1">
  <elementRef key="caption" minOccurs="0"
   maxOccurs="1"/>
  <elementRef key="tr" minOccurs="1"
   maxOccurs="unbounded"/>
 </sequence>
</content>
    
Schema Declaration
element table { xh_att.classable.attributes, ( xh_caption?, xh_tr+ ) }

Appendix A.1.37 <td>

<td> A table data cell.
Namespace http://www.w3.org/1999/xhtml
Module beck
Contained by
beck: tr
May contain
beck: a audio cite code em figcaption img q span strong summary u video
character data
Content model
<content>
 <macroRef key="macro.beckParaContent"/>
</content>
    
Schema Declaration
element td { xh_macro.beckParaContent }

Appendix A.1.38 <th>

<th> A table label or heading cell.
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
scope
Status Optional
Legal values are:
col
(Scope of this heading is the column below it.)
row
(Scope of this heading is the row to the right of it.)
Contained by
beck: tr
May contain
beck: a audio cite code em figcaption img q span strong summary u video
character data
Content model
<content>
 <macroRef key="macro.beckParaContent"/>
</content>
    
Schema Declaration
element th { attribute scope { "col" | "row" }?, xh_macro.beckParaContent }

Appendix A.1.39 <title>

<title> (The HTML title element in the header)
Namespace http://www.w3.org/1999/xhtml
Module beck
Contained by
beck: head
May contain Character data only
Content model
<content>
 <textNode/>
</content>
    
Schema Declaration
element title { text }

Appendix A.1.40 <tr>

<tr> A table row.
Namespace http://www.w3.org/1999/xhtml
Module beck
Contained by
beck: table
May contain
beck: td th
Content model
<content>
 <sequence minOccurs="1"
  maxOccurs="unbounded">
  <elementRef key="th" minOccurs="0"
   maxOccurs="unbounded"/>
  <elementRef key="td" minOccurs="0"
   maxOccurs="unbounded"/>
 </sequence>
</content>
    
Schema Declaration
element tr { ( xh_th*, xh_td* )+ }

Appendix A.1.41 <u>

<u> Underlined text, in a context where we do not wish to conjecture why the underline is there (in an original article, or a quotation of an external source).
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
  • att.classable
    • @class
    • @style
Member of
model.beckPhrase
Contained by
beck: a aside blockquote button caption cite code em figcaption h2 h3 h4 li p q span strong summary td th u
May contain
beck: a audio br cite code em figcaption img q span strong summary u video
character data
Content model
<content>
 <alternate minOccurs="0"
  maxOccurs="unbounded">
  <macroRef key="macro.beckParaContent"/>
  <elementRef key="br"/>
 </alternate>
</content>
    
Schema Declaration
element u
{
   xh_att.classable.attributes,
   ( xh_macro.beckParaContent | xh_br )*
}

Appendix A.1.42 <ul>

<ul> Unordered list, usually bulleted.
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
  • att.classable
    • class
    • @style
class (The class attribute provides styles through rules in the CSS stylesheet.)
Derived from att.classable
Status Optional
Datatype 1–∞ occurrences of teidata.word separated by whitespace
Sample values include
referenceList
(A reference list at the end of an article.)
Member of
model.beckBlockBody
Contained by
beck: article blockquote details div li section
May contain
beck: li
Content model
<content>
 <elementRef key="li" minOccurs="1"
  maxOccurs="unbounded"/>
</content>
    
Schema Declaration
element ul
{
   xh_att.classable.attribute.style,
   attribute class { list { + } }?,
   xh_li+
}

Appendix A.1.43 <video>

<video> The <video> element provides a video player to play a video file specified in the child <source> element.
Namespace http://www.w3.org/1999/xhtml
Module beck
Attributes
  • att.classable
    • @class
    • @style
  • att.identifiable
    • @id
controls
Status Recommended
Legal values are:
controls
(Specifies that default video controls should be provided for the player.)
Member of
model.beckBlockBody model.beckPhrase
Contained by
beck: a article aside blockquote button caption cite code details div em figcaption h2 h3 h4 li p q section span strong summary td th u
May contain
beck: source
Content model
<content>
 <elementRef key="source" minOccurs="1"
  maxOccurs="unbounded"/>
</content>
    
Schema Declaration
element video
{
   xh_att.classable.attributes,
   xh_att.identifiable.attributes,
   attribute controls { "controls" }?,
   xh_source+
}

Appendix A.2 Model classes

Appendix A.2.1 model.attributable

model.attributable groups elements that contain a word or phrase that can be attributed to a source. [3.3.3. Quotation 4.3.2. Floating Texts]
Module tei
Used by
model.inter
Members model.quoteLike

Appendix A.2.2 model.beckBlockBody

model.beckBlockBody Groups elements which can appear below the heading in an article or section.
Module beck
Used by
macro.beckBlockContent
Members aside audio blockquote button cite details dialog figure img ol p pre table ul video

Appendix A.2.3 model.beckPhrase

model.beckPhrase Groups elements which can appear at the phrase level.
Module beck
Used by
macro.beckParaContent
Members a audio cite code em figcaption img q span strong summary u video

Appendix A.2.4 model.divPart

model.divPart groups paragraph-level elements appearing directly within divisions. [1.3. The TEI Class System]
Module tei
Used by
Members model.lLike model.pLike
Note

Note that this element class does not include members of the model.inter class, which can appear either within or between paragraph-level items.

Appendix A.2.5 model.global

model.global groups elements which may appear at any point within a TEI text. [1.3. The TEI Class System]
Module tei
Used by
model.paraPart
Members model.global.edit model.global.meta model.milestoneLike model.noteLike

Appendix A.2.6 model.highlighted

model.highlighted groups phrase-level elements which are typographically distinct. [3.3. Highlighting and Quotation]
Module tei
Used by
model.phrase
Members model.emphLike model.hiLike

Appendix A.2.7 model.inter

model.inter groups elements which can appear either within or between paragraph-like elements. [1.3. The TEI Class System]
Module tei
Used by
model.paraPart
Members model.attributable[model.quoteLike] model.biblLike model.egLike model.labelLike model.listLike model.oddDecl model.stageLike

Appendix A.2.8 model.limitedPhrase

model.limitedPhrase groups phrase-level elements excluding those elements primarily intended for transcription of existing sources. [1.3. The TEI Class System]
Module tei
Used by
Members model.emphLike model.hiLike model.pPart.data[model.addressLike model.dateLike model.measureLike model.nameLike[model.nameLike.agent model.offsetLike model.placeStateLike[model.placeNamePart]]] model.pPart.editorial model.pPart.msdesc model.phrase.xml model.ptrLike

Appendix A.2.9 model.nameLike

model.nameLike groups elements which name or refer to a person, place, or organization.
Module tei
Used by
model.pPart.data
Members model.nameLike.agent model.offsetLike model.placeStateLike[model.placeNamePart]
Note

A superset of the naming elements that may appear in datelines, addresses, statements of responsibility, etc.

Appendix A.2.10 model.pPart.data

model.pPart.data groups phrase-level elements containing names, dates, numbers, measures, and similar data. [3.6. Names, Numbers, Dates, Abbreviations, and Addresses]
Module tei
Used by
model.limitedPhrase model.phrase
Members model.addressLike model.dateLike model.measureLike model.nameLike[model.nameLike.agent model.offsetLike model.placeStateLike[model.placeNamePart]]

Appendix A.2.11 model.pPart.edit

model.pPart.edit groups phrase-level elements for simple editorial correction and transcription. [3.5. Simple Editorial Changes]
Module tei
Used by
model.phrase
Members model.pPart.editorial model.pPart.transcriptional

Appendix A.2.12 model.paraPart

model.paraPart groups elements that may appear in paragraphs and similar elements. [3.1. Paragraphs]
Module tei
Used by
Members model.gLike model.global[model.global.edit model.global.meta model.milestoneLike model.noteLike] model.inter[model.attributable[model.quoteLike] model.biblLike model.egLike model.labelLike model.listLike model.oddDecl model.stageLike] model.lLike model.phrase[model.graphicLike model.highlighted[model.emphLike model.hiLike] model.lPart model.pPart.data[model.addressLike model.dateLike model.measureLike model.nameLike[model.nameLike.agent model.offsetLike model.placeStateLike[model.placeNamePart]]] model.pPart.edit[model.pPart.editorial model.pPart.transcriptional] model.pPart.msdesc model.phrase.xml model.ptrLike model.segLike model.specDescLike]

Appendix A.2.13 model.phrase

model.phrase groups elements which can occur at the level of individual words or phrases. [1.3. The TEI Class System]
Module tei
Used by
model.paraPart
Members model.graphicLike model.highlighted[model.emphLike model.hiLike] model.lPart model.pPart.data[model.addressLike model.dateLike model.measureLike model.nameLike[model.nameLike.agent model.offsetLike model.placeStateLike[model.placeNamePart]]] model.pPart.edit[model.pPart.editorial model.pPart.transcriptional] model.pPart.msdesc model.phrase.xml model.ptrLike model.segLike model.specDescLike
Note

This class of elements can occur within paragraphs, list items, lines of verse, etc.

Appendix A.2.14 model.placeStateLike

model.placeStateLike groups elements which describe changing states of a place.
Module tei
Used by
model.nameLike
Members model.placeNamePart

Appendix A.3 Attribute classes

Appendix A.3.1 att.classable

att.classable Groups elements which can have a class attribute.
Module beck
Members a aside audio blockquote body br button cite code details dialog div em figcaption figure h2 h3 h4 html img li ol p q section span strong summary table u ul video
Attributes
class (The class attribute provides styles through rules in the CSS stylesheet.)
Status Optional
Datatype 1–∞ occurrences of teidata.word separated by whitespace
style (The style attribute provides one-off style options for specific and unusual cases. Do not use this unless you know that the element you're styling is unlike any other element in the project.)
Status Optional
Datatype teidata.text

Appendix A.3.2 att.hasDate

att.hasDate (Groups elements which have dating attributes (only @date so far).)
Module beck
Members article li span
Attributes
data-when
Status Optional
Datatype date

Appendix A.3.3 att.hasHref

att.hasHref (Groups elements which have the href attribute.)
Module beck
Members a
Attributes
href
Status Required
Datatype teidata.pointer

Appendix A.3.4 att.hasLang

att.hasLang Groups elements which may have a language attribute.
Module beck
Members html span
Attributes
lang (Specifies the language of the content of the element.)
Status Optional
Datatype teidata.word
Suggested values include:
en
(English)
fr
(French)
it
(Italian)
jp
(Japanese)
zh
(Chinese)
de
(German)
la
(Latin)
es
(Spanish)

Appendix A.3.5 att.hasTabindex

att.hasTabindex (Groups elements which have the tabindex attribute.)
Module beck
Members button figcaption figure
Attributes
tabindex
Status Optional
Datatype nonNegativeInteger

Appendix A.3.6 att.hasTitle

att.hasTitle (Groups elements which have the title attribute.)
Module beck
Members article aside h2 main
Attributes
title
Status Optional
Datatype teidata.text

Appendix A.3.7 att.hasnametype

att.hasnametype (Groups elements which have the @data-nametype attribute.)
Module beck
Members a span
Attributes
data-nametype
Status Optional
Legal values are:
monographTitle
(Book or play title (will be italicized))
periodicalTitle
(Title of newspaper, magazine, or journal (will be italicized))
periodicalTitle
(Periodical title (will be italicized))
poemTitle
(Poem title (will be surrounded with quotes))
songTitle
(Song title (will be surrounded with quotes))
articleTitle
(Article title (will be surrounded with quotes))
foreign
(Text in a foreign language (will be italicized))
persName
(The name of a person)
forename
(The forename of a person, usually inside a persName.)
surname
(The surname of a person, usually inside a persName.)
orgName
(The name of an organization.)
Schematron
<sch:rule context="xh:span[@data-nametype = ('forename', 'surname')]"> <sch:assert test="not(matches(text(), '(([Ff]orename)|([Ss]urname))'))"> ERROR: Please replace the placeholder values with real names. </sch:assert> </sch:rule>

Appendix A.3.8 att.identifiable

att.identifiable Groups elements which may have an id attribute.
Module beck
Members article aside audio body button cite details dialog div figcaption figure html img li main p section video
Attributes
id
Status Optional
Datatype ID

Appendix A.4 Macros

Appendix A.4.1 macro.beckBlockContent

macro.beckBlockContent Content model for div container.
Module beck
Used by
article details div section
Content model
<content>
 <sequence minOccurs="1" maxOccurs="1">
  <classRef key="model.beckBlockHeading"
   minOccurs="0" maxOccurs="unbounded"/>
  <classRef key="model.beckBlockBody"
   minOccurs="0" maxOccurs="unbounded"/>
 </sequence>
</content>
    
Declaration
xh_macro.beckBlockContent = model.beckBlockHeading*, xh_model.beckBlockBody*

Appendix A.4.2 macro.beckParaContent

macro.beckParaContent Content model for paragraph-type containers such as paragraphs, list items, and so on.
Module beck
Used by
a aside blockquote button caption cite code em figcaption h2 h3 h4 li p q span strong summary td th u
Content model
<content>
 <alternate minOccurs="0"
  maxOccurs="unbounded">
  <textNode/>
  <classRef key="model.beckPhrase"/>
 </alternate>
</content>
    
Declaration
xh_macro.beckParaContent = ( text | xh_model.beckPhrase )*

Appendix A.5 Datatypes

Appendix A.5.1 teidata.certainty

teidata.certainty defines the range of attribute values expressing a degree of certainty.
Module tei
Used by
teidata.probCert
Content model
<content>
 <valList type="closed">
  <valItem ident="high"/>
  <valItem ident="medium"/>
  <valItem ident="low"/>
  <valItem ident="unknown"/>
 </valList>
</content>
    
Declaration
xh_teidata.certainty = "high" | "medium" | "low" | "unknown"
Note

Certainty may be expressed by one of the predefined symbolic values high, medium, or low. The value unknown should be used in cases where the encoder does not wish to assert an opinion about the matter.

Appendix A.5.2 teidata.count

teidata.count defines the range of attribute values used for a non-negative integer value used as a count.
Module tei
Used by
Content model
<content>
 <dataRef name="nonNegativeInteger"/>
</content>
    
Declaration
xh_teidata.count = xsd:nonNegativeInteger
Note

Any positive integer value or zero is permitted

Appendix A.5.3 teidata.duration.iso

teidata.duration.iso defines the range of attribute values available for representation of a duration in time using ISO 8601 standard formats.
Module tei
Used by
Content model
<content>
 <dataRef name="token"
  restriction="[0-9.,DHMPRSTWYZ/:+\-]+"/>
</content>
    
Declaration
xh_teidata.duration.iso = token { pattern = "[0-9.,DHMPRSTWYZ/:+\-]+" }
Example
<time dur-iso="PT0,75H">three-quarters of an hour</time>
Example
<date dur-iso="P1,5D">a day and a half</date>
Example
<date dur-iso="P14D">a fortnight</date>
Example
<time dur-iso="PT0.02S">20 ms</time>
Note

A duration is expressed as a sequence of number-letter pairs, preceded by the letter P; the letter gives the unit and may be Y (year), M (month), D (day), H (hour), M (minute), or S (second), in that order. The numbers are all unsigned integers, except for the last, which may have a decimal component (using either . or , as the decimal point; the latter is preferred). If any number is 0, then that number-letter pair may be omitted. If any of the H (hour), M (minute), or S (second) number-letter pairs are present, then the separator T must precede the first ‘time’ number-letter pair.

For complete details, see ISO 8601 Data elements and interchange formats — Information interchange — Representation of dates and times.

Appendix A.5.4 teidata.duration.w3c

teidata.duration.w3c defines the range of attribute values available for representation of a duration in time using W3C datatypes.
Module tei
Used by
Content model
<content>
 <dataRef name="duration"/>
</content>
    
Declaration
xh_teidata.duration.w3c = xsd:duration
Example
<time dur="PT45M">forty-five minutes</time>
Example
<date dur="P1DT12H">a day and a half</date>
Example
<date dur="P7D">a week</date>
Example
<time dur="PT0.02S">20 ms</time>
Note

A duration is expressed as a sequence of number-letter pairs, preceded by the letter P; the letter gives the unit and may be Y (year), M (month), D (day), H (hour), M (minute), or S (second), in that order. The numbers are all unsigned integers, except for the S number, which may have a decimal component (using . as the decimal point). If any number is 0, then that number-letter pair may be omitted. If any of the H (hour), M (minute), or S (second) number-letter pairs are present, then the separator T must precede the first ‘time’ number-letter pair.

For complete details, see the W3C specification.

Appendix A.5.5 teidata.enumerated

teidata.enumerated defines the range of attribute values expressed as a single XML name taken from a list of documented possibilities.
Module tei
Used by
Content model
<content>
 <dataRef key="teidata.word"/>
</content>
    
Declaration
xh_teidata.enumerated = teidata.word
Note

Attributes using this datatype must contain a single ‘word’ which contains only letters, digits, punctuation characters, or symbols: thus it cannot include whitespace.

Typically, the list of documented possibilities will be provided (or exemplified) by a value list in the associated attribute specification, expressed with a <valList> element.

Appendix A.5.6 teidata.language

teidata.language defines the range of attribute values used to identify a particular combination of human language and writing system. [6.1. Language Identification]
Module tei
Used by
Content model
<content>
 <alternate>
  <dataRef name="language"/>
  <valList>
   <valItem ident=""/>
  </valList>
 </alternate>
</content>
    
Declaration
xh_teidata.language = xsd:language | ( "" )
Note

The values for this attribute are language ‘tags’ as defined in BCP 47. Currently BCP 47 comprises RFC 5646 and RFC 4647; over time, other IETF documents may succeed these as the best current practice.

A ‘language tag’, per BCP 47, is assembled from a sequence of components or subtags separated by the hyphen character (-, U+002D). The tag is made of the following subtags, in the following order. Every subtag except the first is optional. If present, each occurs only once, except the fourth and fifth components (variant and extension), which are repeatable.

language
The IANA-registered code for the language. This is almost always the same as the ISO 639 2-letter language code if there is one. The list of available registered language subtags can be found at https://www.iana.org/assignments/language-subtag-registry. It is recommended that this code be written in lower case.
script
The ISO 15924 code for the script. These codes consist of 4 letters, and it is recommended they be written with an initial capital, the other three letters in lower case. The canonical list of codes is maintained by the Unicode Consortium, and is available at https://unicode.org/iso15924/iso15924-codes.html. The IETF recommends this code be omitted unless it is necessary to make a distinction you need.
region
Either an ISO 3166 country code or a UN M.49 region code that is registered with IANA (not all such codes are registered, e.g. UN codes for economic groupings or codes for countries for which there is already an ISO 3166 2-letter code are not registered). The former consist of 2 letters, and it is recommended they be written in upper case; the list of codes can be searched or browsed at https://www.iso.org/obp/ui/#search/code/. The latter consist of 3 digits; the list of codes can be found at http://unstats.un.org/unsd/methods/m49/m49.htm.
variant
An IANA-registered variation. These codes ‘are used to indicate additional, well-recognized variations that define a language or its dialects that are not covered by other available subtags’.
extension
An extension has the format of a single letter followed by a hyphen followed by additional subtags. There are currently only two extensions in use. Extension T indicates that the content was transformed. For example en-t-it could be used for content in English that was translated from Italian. Extension T is described in the informational RFC 6497. Extension U can be used to embed a variety of locale attributes. It is described in the informational RFC 6067.
private use
An extension that uses the initial subtag of the single letter x (i.e., starts with x-) has no meaning except as negotiated among the parties involved. These should be used with great care, since they interfere with the interoperability that use of RFC 4646 is intended to promote. In order for a document that makes use of these subtags to be TEI-conformant, a corresponding <language> element must be present in the TEI header.

There are two exceptions to the above format. First, there are language tags in the IANA registry that do not match the above syntax, but are present because they have been ‘grandfathered’ from previous specifications.

Second, an entire language tag can consist of only a private use subtag. These tags start with x-, and do not need to follow any further rules established by the IETF and endorsed by these Guidelines. Like all language tags that make use of private use subtags, the language in question must be documented in a corresponding <language> element in the TEI header.

Examples include

sn
Shona
zh-TW
Taiwanese
zh-Hant-HK
Chinese written in traditional script as used in Hong Kong
en-SL
English as spoken in Sierra Leone
pl
Polish
es-MX
Spanish as spoken in Mexico
es-419
Spanish as spoken in Latin America

The W3C Internationalization Activity has published a useful introduction to BCP 47, Language tags in HTML and XML.

Appendix A.5.7 teidata.name

teidata.name defines the range of attribute values expressed as an XML Name.
Module tei
Used by
Content model
<content>
 <dataRef name="Name"/>
</content>
    
Declaration
xh_teidata.name = xsd:Name
Note

Attributes using this datatype must contain a single word which follows the rules defining a legal XML name (see https://www.w3.org/TR/REC-xml/#dt-name): for example they cannot include whitespace or begin with digits.

Appendix A.5.8 teidata.numeric

teidata.numeric defines the range of attribute values used for numeric values.
Module tei
Used by
Element:
  • img/@width
  • img/@height
Content model
<content>
 <alternate>
  <dataRef name="double"/>
  <dataRef name="token"
   restriction="(\-?[\d]+/\-?[\d]+)"/>
  <dataRef name="decimal"/>
 </alternate>
</content>
    
Declaration
xh_teidata.numeric =
   xsd:double | token { pattern = "(\-?[\d]+/\-?[\d]+)" } | xsd:decimal
Note

Any numeric value, represented as a decimal number, in floating point format, or as a ratio.

To represent a floating point number, expressed in scientific notation, ‘E notation’, a variant of ‘exponential notation’, may be used. In this format, the value is expressed as two numbers separated by the letter E. The first number, the significand (sometimes called the mantissa) is given in decimal format, while the second is an integer. The value is obtained by multiplying the mantissa by 10 the number of times indicated by the integer. Thus the value represented in decimal notation as 1000.0 might be represented in scientific notation as 10E3.

A value expressed as a ratio is represented by two integer values separated by a solidus (/) character. Thus, the value represented in decimal notation as 0.5 might be represented as a ratio by the string 1/2.

Appendix A.5.9 teidata.outputMeasurement

teidata.outputMeasurement defines a range of values for use in specifying the size of an object that is intended for display.
Module tei
Used by
Content model
<content>
 <dataRef name="token"
  restriction="[\-+]?\d+(\.\d+)?(%|cm|mm|in|pt|pc|px|em|ex|ch|rem|vw|vh|vmin|vmax)"/>
</content>
    
Declaration
xh_teidata.outputMeasurement =
   token
   {
      pattern = "[\-+]?\d+(\.\d+)?(%|cm|mm|in|pt|pc|px|em|ex|ch|rem|vw|vh|vmin|vmax)"
   }
Example
<figure>  <head>The TEI Logo</head>  <figDesc>Stylized yellow angle brackets with the letters <mentioned>TEI</mentioned> in    between and <mentioned>text encoding initiative</mentioned> underneath, all on a white    background.</figDesc>  <graphic height="600pxwidth="600px"   url="http://www.tei-c.org/logos/TEI-600.jpg"/> </figure>
Note

These values map directly onto the values used by XSL-FO and CSS. For definitions of the units see those specifications; at the time of this writing the most complete list is in the CSS3 working draft.

Appendix A.5.10 teidata.pointer

teidata.pointer defines the range of attribute values used to provide a single URI, absolute or relative, pointing to some other resource, either within the current document or elsewhere.
Module tei
Used by
Element:
  • img/@src
  • source/@src
Content model
<content>
 <dataRef restriction="\S+" name="anyURI"/>
</content>
    
Declaration
xh_teidata.pointer = xsd:anyURI { pattern = "\S+" }
Note

The range of syntactically valid values is defined by RFC 3986 Uniform Resource Identifier (URI): Generic Syntax. Note that the values themselves are encoded using RFC 3987 Internationalized Resource Identifiers (IRIs) mapping to URIs. For example, https://secure.wikimedia.org/wikipedia/en/wiki/% is encoded as https://secure.wikimedia.org/wikipedia/en/wiki/%25 while http://موقع.وزارة-الاتصالات.مصر/ is encoded as http://xn--4gbrim.xn----rmckbbajlc6dj7bxne2c.xn--wgbh1c/

Appendix A.5.11 teidata.probCert

teidata.probCert defines a range of attribute values which can be expressed either as a numeric probability or as a coded certainty value.
Module tei
Used by
Content model
<content>
 <alternate>
  <dataRef key="teidata.probability"/>
  <dataRef key="teidata.certainty"/>
 </alternate>
</content>
    
Declaration
xh_teidata.probCert = teidata.probability | teidata.certainty

Appendix A.5.12 teidata.probability

teidata.probability defines the range of attribute values expressing a probability.
Module tei
Used by
teidata.probCert
Content model
<content>
 <dataRef name="double">
  <dataFacet name="minInclusive" value="0"/>
  <dataFacet name="maxInclusive" value="1"/>
 </dataRef>
</content>
    
Declaration
xh_teidata.probability = xsd:double
Note

Probability is expressed as a real number between 0 and 1; 0 representing certainly false and 1 representing certainly true.

Appendix A.5.13 teidata.temporal.w3c

teidata.temporal.w3c defines the range of attribute values expressing a temporal expression such as a date, a time, or a combination of them, that conform to the W3C XML Schema Part 2: Datatypes Second Edition specification.
Module tei
Used by
Content model
<content>
 <alternate>
  <dataRef name="date"/>
  <dataRef name="gYear"/>
  <dataRef name="gMonth"/>
  <dataRef name="gDay"/>
  <dataRef name="gYearMonth"/>
  <dataRef name="gMonthDay"/>
  <dataRef name="time"/>
  <dataRef name="dateTime"/>
 </alternate>
</content>
    
Declaration
xh_teidata.temporal.w3c =
   xsd:date
 | xsd:gYear
 | xsd:gMonth
 | xsd:gDay
 | xsd:gYearMonth
 | xsd:gMonthDay
 | xsd:time
 | xsd:dateTime
Note

If it is likely that the value used is to be compared with another, then a time zone indicator should always be included, and only the dateTime representation should be used.

Appendix A.5.14 teidata.text

teidata.text defines the range of attribute values used to express some kind of identifying string as a single sequence of Unicode characters possibly including whitespace.
Module tei
Used by
Element:
  • a/@title
  • article/@data-shortname
  • img/@alt
  • img/@title
Content model
<content>
 <dataRef name="string"/>
</content>
    
Declaration
xh_teidata.text = string
Note

Attributes using this datatype must contain a single ‘token’ in which whitespace and other punctuation characters are permitted.

Appendix A.5.15 teidata.truthValue

teidata.truthValue defines the range of attribute values used to express a truth value.
Module tei
Used by
Content model
<content>
 <dataRef name="boolean"/>
</content>
    
Declaration
xh_teidata.truthValue = xsd:boolean
Note

The possible values of this datatype are 1 or true, or 0 or false.

This datatype applies only for cases where uncertainty is inappropriate; if the attribute concerned may have a value other than true or false, e.g. unknown, or inapplicable, it should have the extended version of this datatype: teidata.xTruthValue.

Appendix A.5.16 teidata.versionNumber

teidata.versionNumber defines the range of attribute values used for version numbers.
Module tei
Used by
Content model
<content>
 <dataRef name="token"
  restriction="[\d]+[a-z]*[\d]*(\.[\d]+[a-z]*[\d]*){0,3}"/>
</content>
    
Declaration
xh_teidata.versionNumber =
   token { pattern = "[\d]+[a-z]*[\d]*(\.[\d]+[a-z]*[\d]*){0,3}" }

Appendix A.5.17 teidata.word

teidata.word defines the range of attribute values expressed as a single word or token.
Module tei
Used by
teidata.enumeratedElement:
  • figure/@class
  • source/@type
  • ul/@class
Content model
<content>
 <dataRef name="token"
  restriction="[^\p{C}\p{Z}]+"/>
</content>
    
Declaration
xh_teidata.word = token { pattern = "[^\p{C}\p{Z}]+" }
Note

Attributes using this datatype must contain a single ‘word’ which contains only letters, digits, punctuation characters, or symbols: thus it cannot include whitespace.

Appendix A.5.18 teidata.xTruthValue

teidata.xTruthValue (extended truth value) defines the range of attribute values used to express a truth value which may be unknown.
Module tei
Used by
Content model
<content>
 <alternate>
  <dataRef name="boolean"/>
  <valList>
   <valItem ident="unknown"/>
   <valItem ident="inapplicable"/>
  </valList>
 </alternate>
</content>
    
Declaration
xh_teidata.xTruthValue = xsd:boolean | ( "unknown" | "inapplicable" )
Note

In cases where where uncertainty is inappropriate, use the datatype teidata.TruthValue.

Appendix A.5.19 teidata.xpath

teidata.xpath defines attribute values which contain an XPath expression.
Module tei
Used by
Content model
<content>
 <textNode/>
</content>
    
Declaration
xh_teidata.xpath = text
Note

Any XPath expression using the syntax defined in 6.2..

When writing programs that evaluate XPath expressions, programmers should be mindful of the possibility of malicious code injection attacks. For further information about XPath injection attacks, see the article at OWASP.

Appendix A.6 Constraints

Schematron
<sch:rule context="xh:main | xh:article"> <sch:let name="fname"  value="concat(@id, '.xml')"/> <sch:assert test="ends-with(document-uri(/), $fname)"> ERROR: The @id of your document (<sch:value-of select="@id"/>) does not match the document file name (<sch:value-of select="document-uri(/)"/>). </sch:assert> </sch:rule>
Schematron
<sch:rule context="xh:img"> <sch:assert test="matches(@src, '^(img:)?[a-zA-Z0-9/\._\-]+$')"> Image file paths must be well-formed (no spaces or punctuation). </sch:assert> <sch:assert test="matches(@src, '^(images/)|img:')"> Image file paths must begin with images/ (for local images in the content folder) or img:filename.xxx (for remote images in the media collection) </sch:assert> </sch:rule>
Schematron
<sch:rule context="xh:h3"> <sch:assert test="not(xh:a[@href])"> Don't place links inside h3 elements. </sch:assert> </sch:rule>
Schematron
<sch:rule context="xh:a"> <sch:assert test="not(descendant::xh:a[@href])"> Don't place links inside other links. </sch:assert> </sch:rule>
Schematron
<sch:rule context="xh:*[text()][not(ancestor-or-self::xh:script or ancestor-or-self::xh:style or ancestor-or-self::xh:code or ancestor-or-self::xh:pre)]"> <sch:assert test="not(text()[matches(., $straightQuotes)])"> Do not use straight quotes in text. Use the q or span elements wherever possible; for apostrophes, use the smart version (’). </sch:assert> </sch:rule>
Schematron
<sch:rule context="xh:*[not(self::xh:code or self::xh:pre)][text()]"> <sch:assert test="not(text()[matches(., '\.\s*\.\s*\.')])"> Don't use literal periods to create an ellipsis. Use the ellipsis character (…, Control + Shift + period) instead. </sch:assert> </sch:rule>
Schematron
<sch:rule context="xh:a"> <sch:assert test="not(matches(@href, '\s+'))"> There should be no spaces in href attributes (links). </sch:assert> </sch:rule>
Schematron
<sch:rule context="xh:img"> <sch:assert test="every $att in @* satisfies local-name($att) = ('src', 'alt', 'title', 'width', 'height', 'id', 'style', 'class')"> Only the following attributes are allowed on img: 'src', 'alt', 'title', 'id', 'style', 'class', 'width' and 'height'. </sch:assert> </sch:rule>
Schematron
<sch:rule context="xh:a[@href]"> <sch:assert test="not(matches(child::text()[not(following-sibling::node())], '[\.,:;]\s*$')) or matches(., '((Esq\.)|(A\.\s*W\.)|(\.\s*\.\s*\.))$')"> Don't include trailing periods and commas inside link text. </sch:assert> </sch:rule>
Schematron
<sch:rule context="xh:*[not(self::xh:code or self::xh:pre)][text()]"> <sch:assert test="not(text()[matches(., '[^\.A-Z]\.[A-Z]')]) or matches(text(), '(Ph\.D|M\.A\.)')"> Don't forget to put a space after every period. </sch:assert> </sch:rule>
Schematron
<sch:rule context="xh:*[not(self::xh:code or self::xh:pre)][text()]"> <sch:assert test="not(text()[matches(., '\.\.\.')])"> Use an ellipsis (…) rather than three periods. </sch:assert> </sch:rule>
Schematron
<sch:ns uri="http://www.w3.org/1999/xhtml"  prefix="xh"/> <sch:pattern> <sch:let name="smartDouble" value="'[“”]'"/> <sch:let name="smartSingle" value="'[‘’]'"/> <sch:let name="straightDouble" value="'"'"/> <sch:let name="straightApos" value="''''"/> <sch:let name="straightQuotes"  value="concat('[', $straightDouble, $straightApos, ']')"/> </sch:pattern>
Martin Holmes. Date: 2025-05-15