Difference between revisions of "Tei-xsl"

From TEIWiki
Jump to navigation Jump to search
(Get from Subversion)
(Updating to fix obsolete info)
 
(32 intermediate revisions by 2 users not shown)
Line 6: Line 6:
  
 
== Synopsis ==
 
== Synopsis ==
"This is a set of XSLT 2.0 specifications to transform TEI XML documents to XHTML, to LaTeX, to XSL Formatting Objects, to/from OOXML (docx), to/from OpenOfice (odt) and to ePub format. [. . .] They concentrate on the simpler TEI modules, but adding support for other modules is fairly easy. In the main, the setup has been used on ‘new’ documents, ie reports and web pages that have been authored from scratch, rather than traditional TEI-encoded existing material."<ref>http://www.tei-c.org/Tools/Stylesheets/</ref>
+
This is a family of XSLT 2.0 stylesheets to transform TEI XML documents to various formats, including XHTML, LaTeX, XSL Formatting Objects, ePub, plain text, RDF, JSON; and to/from Word OOXML (docx) and OpenOfice (odt). They concentrate on the core TEI modules which are used for simple transcription and "born digital" writing. It is important to understand that they do  '''not'''
 +
* cover ''all'' TEI elements and possible attribute values
 +
* attempt to define a standard TEI processing or rendering model
 +
They should not be treated as the definitive view of the TEI Consortium about rendering TEI documents.
  
 
== Features ==
 
== Features ==
Line 16: Line 19:
  
 
== System requirements ==
 
== System requirements ==
"The XSL FO style sheets were developed for use with PassiveTeX (http://projects.oucs.ox.ac.uk/passivetex/), a system using XSL formatting objects to render XML to PDF via LaTeX. They have not been extensively tested with the other XSL FO implementations."<ref>http://www.tei-c.org/Tools/Stylesheets/</ref>
+
"The XSL FO style sheets were developed for use with PassiveTeX (http://projects.oucs.ox.ac.uk/passivetex/), a system using XSL formatting objects to render XML to PDF via LaTeX. They have not been extensively tested with the other XSL FO implementations."<ref>http://www.tei-c.org/release/doc/tei-xsl/</ref>
  
 
Software dependencies:
 
Software dependencies:
  
* Saxon 9.2 or later.  If using Debian or Ubuntu, you can get it from http://tei.oucs.ox.ac.uk/teideb/ .
+
* Saxon 9.2 or later, which you can get from https://www.saxonica.com/download/java.xml .
* ant and ant-contrib.  Note that as of 2011-11-30, ant-contrib is not availabe as as RedHat package.
+
* ant and ant-contrib.  
  
 
== Source code and licensing ==
 
== Source code and licensing ==
Freely available.
+
This software is dual-licensed:
 +
 
 +
1. Distributed under a Creative Commons Attribution-ShareAlike 3.0
 +
Unported License http://creativecommons.org/licenses/by-sa/3.0/
 +
 
 +
2. http://www.opensource.org/licenses/BSD-2-Clause
  
 
== Support for TEI ==
 
== Support for TEI ==
  
 +
The stylesheets render TEI XML documents to various formats, with the constraint that they do not offer an implementation of all tags,
 +
and only support a limited range of values for the @rend attribute.
  
 
== Language(s) ==
 
== Language(s) ==
Line 33: Line 43:
  
 
== Documentation ==
 
== Documentation ==
These two pages should be identical and therefore equally authoritative:
+
http://www.tei-c.org/release/doc/tei-xsl/
 
 
* http://www.tei-c.org/Tools/Stylesheets/
 
* http://www.tei-c.org/release/doc/tei-xsl-common/
 
  
 
Among the components of this package of stylesheets not documented are the following:
 
Among the components of this package of stylesheets not documented are the following:
Line 42: Line 49:
 
* <code>tools/oddbyexample.xsl</code> &ndash; generates a list of all the attribute values used in the directory of texts you apply it to, in the form of an [[ODD]] file, from which you can in turn generate documentation and schemas using Roma
 
* <code>tools/oddbyexample.xsl</code> &ndash; generates a list of all the attribute values used in the directory of texts you apply it to, in the form of an [[ODD]] file, from which you can in turn generate documentation and schemas using Roma
 
* <code>tools/odd2nuodd.xsl</code> &ndash; switches from a traditional ODD-by-exclusion to a newer form ODD-by-inclusion
 
* <code>tools/odd2nuodd.xsl</code> &ndash; switches from a traditional ODD-by-exclusion to a newer form ODD-by-inclusion
 
See also this guide by Lauara Mandell, which contains some documentation and some videos: http://idhmc.tamu.edu/chat/xslt/modifyTEI.html
 
  
 
=== Creating a custom profile ===
 
=== Creating a custom profile ===
Line 59: Line 64:
 
=== Converting from DOCX format ===
 
=== Converting from DOCX format ===
  
Word has two kinds of styles: paragraph styles and character styles.  According to Sebastian, "The basic rule of the conversion is that if named [character] styles are used, they take precedence over manual formatting."  That is, if text (even a whole paragraph) has a character style applied but is also marked in Word as being italicized, the italics will not come through in the conversion separate from the character style. This is the single biggest defect in the system (according to Lou, and Ron!)
+
"The TEI conversions from docx are better in many ways than the conversions from other the wordprocessing formats. There are also small tricks like having docx styles of 'tei_elementName' to get certain phrase-level elements converted."<ref>https://listserv.brown.edu/archives/cgi-bin/wa?A2=TEI-L;1123776a.1605</ref>
  
 
== Tech support ==
 
== Tech support ==
 
+
Bugs and feature requests should be made in GitHub: https://github.com/TEIC/Stylesheets/issues
  
 
== User community ==
 
== User community ==
Line 72: Line 77:
 
== Current version number and date of release ==
 
== Current version number and date of release ==
  
6.38 (2013-07-26)
+
7.48.0 (2019-07-16)
  
 
== History of versions ==
 
== History of versions ==
  
See https://sourceforge.net/projects/tei/files/Stylesheets/ .
+
See detailed changelog at https://github.com/TEIC/Stylesheets and automatically generated commit log at https://github.com/TEIC/Stylesheets/commits/master .  Past versions can be downloaded at https://github.com/TEIC/Stylesheets/releases .
  
 
== How to download or buy ==
 
== How to download or buy ==
  
If you use [[Oxygen]], the easiest thing to do might be to download as part of [http://code.google.com/p/oxygen-tei/ oxygen-tei], the open-source TEI framework built into &lt;oXygen/&gt;.  Otherwise, there are three options:
+
If you use [[Oxygen]], the easiest thing to do might be to use the open-source TEI framework built into &lt;oXygen/&gt;.  Otherwise, there are '''three options''':
  
=== Download zip file ===
+
=== a) Download zip file ===
Download the latest zip file (below all of the folders) from https://sourceforge.net/projects/tei/files/Stylesheets/ .
+
Download the latest zip file from https://github.com/TEIC/Stylesheets/releases .
  
=== Install the Debian package ===
+
=== b) Install the Debian package ===
  
Install the <code>tei-xsl</code> Debian package from the [http://tei.oucs.ox.ac.uk/teideb/ list of Debian packages].
+
Install the <code>tei-xsl</code> Debian packages (see https://wiki.tei-c.org/index.php?title=TEIDebian).
  
=== Get from Github ===
+
=== c) Get from Github ===
  
 
<code>
 
<code>

Latest revision as of 22:44, 16 September 2019


Synopsis

This is a family of XSLT 2.0 stylesheets to transform TEI XML documents to various formats, including XHTML, LaTeX, XSL Formatting Objects, ePub, plain text, RDF, JSON; and to/from Word OOXML (docx) and OpenOfice (odt). They concentrate on the core TEI modules which are used for simple transcription and "born digital" writing. It is important to understand that they do not

  • cover all TEI elements and possible attribute values
  • attempt to define a standard TEI processing or rendering model

They should not be treated as the definitive view of the TEI Consortium about rendering TEI documents.

Features

User commentary

Please sign all comments.


System requirements

"The XSL FO style sheets were developed for use with PassiveTeX (http://projects.oucs.ox.ac.uk/passivetex/), a system using XSL formatting objects to render XML to PDF via LaTeX. They have not been extensively tested with the other XSL FO implementations."<ref>http://www.tei-c.org/release/doc/tei-xsl/</ref>

Software dependencies:

Source code and licensing

This software is dual-licensed:

1. Distributed under a Creative Commons Attribution-ShareAlike 3.0 Unported License http://creativecommons.org/licenses/by-sa/3.0/

2. http://www.opensource.org/licenses/BSD-2-Clause

Support for TEI

The stylesheets render TEI XML documents to various formats, with the constraint that they do not offer an implementation of all tags, and only support a limited range of values for the @rend attribute.

Language(s)

Documentation is in English.

Documentation

http://www.tei-c.org/release/doc/tei-xsl/

Among the components of this package of stylesheets not documented are the following:

  • tools/oddbyexample.xsl – generates a list of all the attribute values used in the directory of texts you apply it to, in the form of an ODD file, from which you can in turn generate documentation and schemas using Roma
  • tools/odd2nuodd.xsl – switches from a traditional ODD-by-exclusion to a newer form ODD-by-inclusion

Creating a custom profile

To create a profile for converting to/from a format and TEI XML, create either or both as needed:

profiles/$PROFILENAME/$FORMAT/to.xsl

profiles/$PROFILENAME/$FORMAT/from.xsl

Start by copying the files in profiles/default/$FORMAT/ and then adding your own overrides and/or additional templates. See this brief example of additional templates.

Note that if your $FORMAT is docx, this directory must contain a file template.docx which is used to create .docx files from. See the sample in the default profile.

Converting from DOCX format

"The TEI conversions from docx are better in many ways than the conversions from other the wordprocessing formats. There are also small tricks like having docx styles of 'tei_elementName' to get certain phrase-level elements converted."<ref>https://listserv.brown.edu/archives/cgi-bin/wa?A2=TEI-L;1123776a.1605</ref>

Tech support

Bugs and feature requests should be made in GitHub: https://github.com/TEIC/Stylesheets/issues

User community

Sample implementations

The package includes a number of profiles in the profiles/ directory.

Current version number and date of release

7.48.0 (2019-07-16)

History of versions

See detailed changelog at https://github.com/TEIC/Stylesheets and automatically generated commit log at https://github.com/TEIC/Stylesheets/commits/master . Past versions can be downloaded at https://github.com/TEIC/Stylesheets/releases .

How to download or buy

If you use Oxygen, the easiest thing to do might be to use the open-source TEI framework built into <oXygen/>. Otherwise, there are three options:

a) Download zip file

Download the latest zip file from https://github.com/TEIC/Stylesheets/releases .

b) Install the Debian package

Install the tei-xsl Debian packages (see https://wiki.tei-c.org/index.php?title=TEIDebian).

c) Get from Github

git clone git@github.com:TEIC/Stylesheets.git /path/to/local/directory/Stylesheets

Then, if you want to add these to /usr/ (which you will need to do in order to use the command-line shell scripts), you can do the following:

cd /path/to/local/directory/Stylesheets/

make install

but note the following:

  • You will need to run make install as a user with write permission to /usr/ . So if using Ubuntu, for example, you will need to instead do sudo make install .

Additional notes

The XSLT 1.0 version of this stylesheet family, which is no longer actively maintained, can be found on Github at https://github.com/sebastianrahtz/TEIXSL-v1.git

Notes

<references/>