Best Practice for Displaying TEI in Omeka S

Hi All,

I have a corpus of letters that were transcribed into TEI encoded xml. I would like to display the TEI alongside the image of the letter and the letter’s associated metadata. I didn’t see any documentation for Omeka-S on this. Are there any best practices or a workflow on how best to do this?

p.s. In an ideal world the tags from the TEI would be links (where one could click and search the tag throughout the entire corpus).

There is a module XmlViewer (Daniel-KM / Omeka-S-module-XmlViewer · GitLab that can display TEI, that is an xml format. If this is enough, you just have to attach the tei to the item.

A prototype example can be found on Bibliothèque numérique Valentin Haüy · BVH · BVH. In fact, there are two xml viewers, one on the left for table of contents, and one on the right for text; the central viewer is Mirador, used for the images. The table of contents and the text are dynamically extracted and customized through an xsl managed by the browser.

Another solution would be to use Mirador (or any another iiif viewer) and to convert tei into an iiif structure for table and into an iiif annotations for text, but this is currently not available.

Hi Daniel,

Thanks for your quick response. Unfortunately, once installed, the plugin produces an error. ( I deleted part of the paths for security purposes)
Warning : require(/public_html/omekatest/modules/XmlViewer/data/media-types/media-type-identifiers.php): Failed to open stream: No such file or directory in /public_html/omekatest/modules/XmlViewer/Module.php on line 139

Yes, i didn’t checked install since last version, so i fixed it in version 3.4.8.

I downloaded that version…


This time it worked. Thank you!

@Daniel_KM actually one other thing. When I installed the module, I noticed that my sidebar looks like this

If I click the first option, I am unable to upload. I can only enter a title.

When I uninstall the xml module, the media area for each item reverts to its normal state.

This is strange, because the xml viewer module doesn’t change anything here, it is just a viewer. It is probably related to another module. Did you use Common version 3.4.54? Nevertheless, i published another version in the same url above.

I was using common 3.4.53. There is no indication that I should update fyi.

I updated and the same problem persists

Did you updated XmlViewer too (
If yes, there is an issue with another module. Did you disabled all modules except xmlviewer and common ?

Reuploading the module was the key. Not sure what the deal was…Thank you!

Could you please provide the code snippet of your item/show.phtml for this nice view? Which theme doch you use?
Thanks a lot!

I can’t get any results with my TEI and the item/show.phtml doesn’t show anything (yet).

The installation of the two modules worked and also the upload of the TEI/XML to the item. How/where would the text be displayed?
I have a fresh Omeka 4.0.4. installation with the default theme and only one item with XML and scans

Yes; i’ll publish the custom theme in the end of the week. Remember me if i forgot.


Hi all,

I wanted to follow-up with my solution.

My site can be found here: Welcome · Gershwind-Bennett Isaac Leeser Digital Repository · Legacy Projects from Judaica DH at Penn Libraries

  • I used @Daniel_KM’s XML Viewer Module .
    *I added “application/tei+xml” under the “allowed media types” under the general settings for my omeka s application (My omeka s instance is used for many sites).
  • Under this specific site’s settings I added “application/tei+xml = vendor/TEI-Boilerplate-master/src/content/teibp.xsl|vendor/TEI-Boilerplate-master/src/css/teibp.css” to the “Render by xml media-type” field.
  • I downloaded the TEI Boilerplate Library and uploaded to the XML Viewer module in the omeka-s directory on my server under the folder “vendor.”
  • I uploaded all my tei-xml files to my github and added a column with links to each file (e.g. example file in my csv. I used the csv-import module and uploaded the csv. I imported the column with the links as a URL media.

I hope this helps.


What theme do you use? Could you publish the code snippet where you load mirador next to the fulltext?

Hi @dan ,

I am using the Freedom theme. My page set-up is below.

1 Like

I don’t have smart embeds ?!

Page Blocks module.

I also added this to the css editor module , otherwise Mirador will display 2x once in the main area and once on the right side of the page {
display: none;
} {
display: none;