Licensed under
Born Digital.
This document is not currently maintained. Please see http://www.tei-c.org/Guidelines/P5/get.xml for the latest information.
Introduction
The TEI makes its development files openly available on http://tei.sourceforge.net so that users can try out the latest developments and provide feedback about how they think the TEI should develop. This document aims to give a brief introduction to using these files directly from the TEI Sourceforge Subversion Repository in which they are kept. If you simply want to use the most stable versions of the various products of the TEI, then investing time and effort in learning to use the Repository is probably not what you want to.
About Version Control
The Repository uses a Version Control System known as Subversion (svn for short). This tool, like its predecessor CVS (Concurrent Versions System), is a content versioning tool used by many software developers to keep track of changes within their source code tree. Subversion provides the means to store not only the current version of a file, but a record of all changes (and who made those changes) that have occurred to that file. Use of Subversion is particularly common on projects whose development is being undertaken by those in disparate geographical locations, or with multiple developers, since it ensures that changes made by one person are not accidentally removed when another person posts their changes to the source tree.
The Sourceforge site provides more detailed information about Subversion and how to use it; you can browse the TEI repository at https://sourceforge.net/p/tei/code/HEAD/tree/, and you’ll also find documentation there on how to check out files. More detailed instructions are below.
Checking files out of the Repository
Before you start work in the repository, you’ll first need to get yourself a user name on the SourceForge site, and ask the TEI project administrators to give you write-access to the repository.
Then, to check out the contents of the TEI Sourceforge Repository
with a simple Unix subversion client, enter a command like
this:
svn checkout --username=YOURUSERNAME svn+ssh://YOURUSERNAME@svn.code.sf.net/p/tei/code/trunk tei-code
This will copy all files from the TEI repository into the
directory tei-code. The repository contains several modules, all
of which will be obtained with this command. If however you
only want one (say the P5 module), you can do so by including
the module name:
svn checkout --username=YOURUSERNAME svn+ssh://YOURUSERNAME@svn.code.sf.net/p/tei/code/trunk/P5 tei-code
You can also browse the whole Repository using sourceforge’s web-based Repository viewer.
TEI Packages
The TEI sf Repository contains files which are grouped into a small number of discrete packages for release. The following packages are currently maintained:
- Extensions and Customisations Development
- Internationalisation Development
- TEI P5 Guidelines and Schema
- TEI-Conformant Validator (DTD, Relax NG or W3C Schema) Creator Development
- TEI XSLT Stylesheets Development Module
- TEI Customisation of Emacs Development Module
- TEI OpenOffice (and similar) SaveAs TEI XML Filter Development Module
Prerequisites for use of TEI Modules
These packages and their associated Makefiles and scripts are all developed and tested on a Debian Linux system. While they should work (possibly with customisation) on other Linux systems, they are not designed to work on Microsoft Windows.
If you want to use the scripts provided with these packages, we recommend you to install the following additional software packages:
Extensions and Customisations Development Module
The Extensions and Customisations Development Module provides a location for dissemination of well-known Extensions and Customisations to the TEI DTD.
None of the customisations or extensions to the TEI should be assumed to reflect the current state of the projects, but are provided as examples of how others have customised the TEI schema in the past.
Internationalisation Development Package
This package produces a location for the dissemination, experimentation, and development of TEI’s internationalisation movements. Primarily, this consists of the translation of elements, attributes, and their descriptions into other languages. This allows projects to employ coders using their native language to do markup but have it easily translated back to international ‘English’ TEI. Current languages under development include: English, French, German and Spanish. However, others are planned, if you want to help out, ask about doing so on the TEI-L mailing list.
P5 Guidelines and Schema Development Package
This package contains the source files for the development
version of the TEI Guidelines and associated schemas. Inside the
P5 subversion the sources of the English chapters of the Guidelines are in
Source/Guidelines/en/
. To allow for
internationalization, if translations of the
Guidelines are made available they will be located in the same
place but under their ISO two-letter language code. The source
files of the Guidelines also reference separate specifications of
elements, attributes and classes which are maintained in a
separate directory Source/Specs/
with
internationlization handled internally. Each of these files are
in the TEI ODD (One Document Does it all)
format. This is a TEI format specifically intended for writing
guidelines about encoding, from which schemas and reference
documentation can be automatically extracted.
As part of the P5 subversion module, a Makefile is provided to help generate HTML versions of the TEI Guidelines, create compiled schemas and DTDs, amongst various other possibilities. There are a number of variables that one can change at the beginning of the Makefile. Some of the more important of these are:
- This is the eXist server storing TEI files used by the
fascicule target. Either internet access or a locally served TEI eXist database is needed to use this target. By default this is: http://tei.oucs.ox.ac.uk/Query/ - This is the default location under which you wish to
install files locally if you use the
‘install’ target. By default this is:
/usr - This is the location of the XSLT stylesheets required
for the transformation of ODD files. By default this points
to the location of the stylesheets as installed by the TEI
Debian Packages:
/usr/share/xml/tei/stylesheet however, if you want to use a remote copy of the stylesheets you may wish to change this. One option is to use the stylesheets on the TEI website: http://www.tei-c.org/release/xml/tei/stylesheet/ as the value of this variable. - This variable is used to pass options to Roma such as the
local source file for the TEI Guidelines. By default this is
“
--localsource=${DRIVER}.xml
” - This points to the available local source file for the
TEI Guidelines. By default this is
“
${LANGTREE}/guidelines-${LANGUAGE}.xml
“, and changing LANGTREE and LANGUAGE would allow the generation of the guidelines in different languages if the source files for those languages exist.
The makefile has a number of requirements, these include
internet access (or a local copy of the stylesheets), and
up-to-date versions of the perl, jing, trang, xmllint and
xsltproc programs. If you do not have these installed then many
of the make targets will not work. Fortunately, there is a target
which will check to make sure you have these installed:
make check
. Some of the more important targets are
listed below:
- Makefile Targets
-
Usage: make check
This target checks to see whether you have perl, jing, trang, xmllint, and xsltproc installed.
-
Usage: make
This is the default target and creates the TEI P5 schemas in RelaxNG & DTD and the HTML version of the Guidelines.
-
Usage: make convert
This target creates the TEI P5 schemas in RelaxNG & DTD.
-
Usage: make dtds
This target creates DTDs for TEI P5 in the DTD/ directory.
-
Usage: make schemas
This target creates RelaxNG Schemas for TEI P5 in the Schema/ directory.
-
Usage: make html
This target creates an HTML version of the TEI Guidelines in the Guidelines/ directory.
-
Usage: make xml
This target creates a TEI Lite (P5) XML version of the Guidelines as Guidelines.xml in the current directory (i.e., P5/) as well as also making the exemplars listed further below.
-
Usage: make split
This target creates a set of TEI P5 ODD files, with entities resolved, that are a version of the Guidelines split into chapters, in the split/ directory.
-
Usage: make clean
This target removes most of the files created by the other targets.
-
Usage: make install
This target installs a separate local copy of the DTDs, Schema, and HTML version of the guidelines under the file path given by the PREFIX variable (see
, above) . -
Usage: make exemplars
This target uses Roma to create the DTDs and Schemas from a number of exemplary ODD files in the
Exemplars
directory. The exemplars target will create DTDs, XML Schemas, and both compact and xml versions of RelaxNG Schemas for the customizations based on the following ODD files:-
TEI with maximal setup The full TEI setup with almost everything you could possibly want included.
-
TEI with corpus An example setup for basic copora using TEI or teiCorpus as the starting element.
-
TEI customization for dictionaries An experimental customization of the TEI for Dictionaries, this ODD includes a detailed example of the addition of an element.
-
TEI with drama An example setup which includes drama and linking modules.
-
TEI for TEI examples This ODD demonstrates the creation of
egXML with the inclusion of MathML and RelaxNG as possibilities. -
The TEI Lite customization This is the ODD for the popular example customization TEI Lite. It is entitled “Encoding for Interchange: an introduction to the TEI”.
-
TEI with minimal setup A very minimal TEI customization, with only the header, core, tei and textstructure modules. If you only want to use elements that appear in the core modules, then this is the customization for you!
-
TEI for manuscript description This example customization for manuscript description includes, in addition to the basic modules, those for names and dates, transcription, and manuscript description.
-
TEI with ODD elements This customization adds the ODD (One Document Does it all) tagset documentation module and changes the content of egXML.
-
TEI with OUCS setup This complex customization is given as an example of how the Oxford University Computing Services use the TEI for authoring its website. See http://www.oucs.ox.ac.uk/ to see documents validated against schemas generated from this ODD.
-
Roma: TEI-Conformant Validator (DTD, Relax NG or W3C Schema) Creator Development
The Roma tool allows creation of TEI-Conformant Validators in the form of DTD, Relax NG or W3C Schemas. This can be used to customise the TEI Schema by adding, removing, renaming elements and/or attributes. This can also be used to generate specialised documentation for this customisation containing only the elements specified, or can be output in foreign languages if available. Roma uses TEI P5 and (in addition to its command-line version available in the Roma subversion module) there is also a web interface at http://www.tei-c.org/Roma/ which allows an easy form-filling method of generating the schemas and documentation. Roma uses the ODD format as its base and so any customisations can be saved in this form for later re-use or refinement.
TEI XSL Stylesheets Package
This package provides a location for the dissemination and development of XSLT stylesheets produced by the TEI. The TEI Wiki provides a location for stylesheets produced by others for TEI documents.
The TEI XSL Stylesheets enable one to transform XML documents
to HTML, to LaTeX, and to XSL Formatting Objects. The latter two
of these are frequently used to transform TEI XML into PDF
format. The XSL FO style sheets were developed for use with
PassiveTeX (
Significantly more detailed information is available concerning the TEI XSL Stylesheets on the TEI website http://www.tei-c.org/Stylesheets/ and advice is available via the TEI-L mailing list.
The Makefile provided with the TEI XSL Stylesheets has no default make target. The most usable two make targets are:
- Installs the P4 and P5 xsl stylesheets in
/usr or wherever you have set the ‘PREFIX’ variable at the beginning of the Makefile. - This creates a release subdirectory of both P4 and P5 sets of files.
For the more technically interested, the stylesheets have internal documentation, using P&P Software’s XSLTdoc system; the results can be browsed in the technical documentation section of the TEI Stylesheets website.
TEI Customisation of Emacs
This package is a setup for the widely used open source GNU
Emacs editor to provide a single all-singing all-dancing TEI
Editing Environment. It uses NXML mode
to provide continual incremental schema-based validation. The files included are Elisp packages; a
Debian package is available for installation on Linux, where it
will interact with existing TEI and Emacs setups. For MS-Windows
a complete self-contained package of Emacs and all the TEI
stylesheets and setup is available (
TEI OpenOffice (and similar) SaveAs TEI XML Filter Development Package
This package brings together various filters for saving
word-processing documents as TEI XML. There are currently filters
to and from OpenOffice and TEI Lite, but there are plans for some
filters for Microsoft Word. For more information on installation of the TEI –
OpenOffice filters see
Example: Installation of Stylesheets, P5, and Roma packages
This is a step-by-step example of installation of the Stylesheets, P5, and Roma packages. This should give most people a working copy of the main TEI deliverables. These steps assume a linux system and command-line svn client, and installs everything in the “/tmp/tei/” directory. You should modify this to reflect where you want to put things on your particular system.
-
mkdir /tmp/tei ; cd /tmp/tei
-
svn co https://svn.code.sf.net/p/tei/code/trunk/Stylesheets ./Stylesheets
-
svn co https://svn.code.sf.net/p/tei/code/trunk/P5 ./P5
-
svn co https://svn.code.sf.net/p/tei/code/trunk/Roma ./Roma
-
cd Stylesheets ; make PREFIX=/tmp/tei install ; cd ..
-
cd Roma ; make PREFIX=/tmp/tei install ; cd ..
-
cd P5 ; make PREFIX=/tmp/tei XSL=/tmp/tei/share/xml/tei/stylesheet install ; cd ..
-
cd P5; make exemplars; cd ..
This should provide you with a working TEI hierarchy in
/tmp/tei/ (or whatever you changed that to on each command) with
the TEI P5 Guidelines and Schemas, the TEI XSL Stylesheets, and a
copy of Roma. It should also leave you a copy of the schemas for
the most popular TEI customizations in
P5/Exemplars/
. More information on using these deliverables is
available from the TEI website.
svn co https://svn co https://svn.code.sf.net/p/tei/code/trunk ./TEI