I have just published a video demo / tutorial that guides the viewer through some typical customization operations. My approach to TEI customization definitely comes through in this video, but I hope it’ll be useful to others, too!
The TEI module for writing or customizing an XML markup language (the “tagdocs” module of chapter 22, “Documentation Elements”), as well as a file defining or customizing an XML language using these elements, is typically referred to as One-Document-Does-it-all or ODD. The procedural nature of these elements makes it possible to develop form-based user interfaces to generate ODD; indeed, the current tool for customizing the TEI schema, Roma, is widely used by the TEI community to generate project-specific schemata. Roma, however, does not fully reflect the possibilities of the ODD subset of elements, and has been afflicted by a number of bugs and issues, many of which remain unresolved or are too complex to be fixed by the TEI Technical Council.
The TEI Technical Council has opted to create a replacement for Roma from scratch, using modern web technologies, expanding the number of features supported, and focusing on user interface. So I’ve set to develop a web application using the popular front-end libraries React and Redux. Just like the current version of Roma, this new version relies on the TEI Stylesheets to perform ODD transformations, including from ODD to XML schema formats. To perform these transformations, Roma interacts with OxGarage, an on-line service for TEI transformations.