This is a repository for the schema for Transcription Description Files, maintained by the SCTA community http://scta.info
The TDF-SCHEMA is used to associate Transcriptions (and Transcription version chains) with Text Editions at the structureItem level and associating transcriptions with Articles.
A transcription file begins with <List>
as the root element, which takes a list of <manifestations>
elements to which transcriptions will be associated.
Each <manifestation>
takes the following attributes and elements.
- A
@manifestationDefault
MUST be present and the value MUST betrue
on one manifestation element which indicates which manifestation among a plurality of manifestations should be used as the default. - The
<name>
element MUST be present and MUST be unique. If a Manifestation identifier already exists in a corresponding EDF file, this should be used. If a Manifestation is being created (this generally will only happen in the case of born-digital manifestation). The identifier will be guaranteed to be unique system wide if it is unique within the file. - The
<title>
element MUST be present and should provide a human readable label. If the a the manifestation corresponds to the manifestation in an existing EDF this title will be overwritten by EDF information. - If the
<list>
has an@type=articles
, the<Manifestation>
element SHOULD contain a least one<isArticleOf>
element which associates the article with a given SCTA resource.- Note: in the case of text editions, such associations are not needed as they are managed by the EDF file.
<Transcriptions>
is a wrapper element that MUST be present, even if there is only one transcription being listed, which will likely be the case with respect to Articles.
The <Transcription>
element contains a version chain. There will often only be one main transcription here (again especially in the case of articles).
- A
@transcriptionDefault
MUST be present and the value MUST betrue
on one transcription element which indicates which transcription among a plurality of transcriptions should be used as the default. This is the case, even if only one<transcription>
element is listed. - A
<title>
element MAY be listed if there is a need for human readable label for this transcription. - A
<type>
element MAY be listed if there is an enumerated list of different kinds of transcription types (e.g. critical, diplomatic, translation). These values are defined outside the scope of the TDF.
The <Version>
element begins a version chain.
- A
@versionDefault
MUST be present and the value MUST betrue
on one version element which indicates which version among a plurality of version should be used as the default.- Note the
@versionDefault
should be distinguished from theversionHead
. The versionHead corresponds to whichever element stands in the first position of the list of<Version>
elements. TheversionHead
is considered the current version of the file, as such its content is dynamic. The version refers, not to a specific snapshot of the file, but to whatever the current content of the file is. As such, a reviewed version should never be listed as theversionHead
because a reviewed version should point to a static file whose content does not change. If there are any reviewed versions, there should always be at least to<Versions>
, theversionHead
followed by the reviewed version. The@versionDefault
is a property used to indicate which version should be treated as the default version. This can be either theversionHead
or any earlier version.
- Note the
- A
@reviewed
MAY be present, whose value, if the attribute is present, MUST betrue
. The@reviewed
indicates that this specific version has been reviewed and alerts aggregator and clients that a review for this version that can be de-referenced at a review look-up service (for example: https://dll-review-registry.digitallatin.org). - A
<hash>
element must be present. If the<Version>
is theversionHead
this hash must simply be a string-id that is unique from all other versions in the version chain. If it is not theversionHead
the IPFS hash should be used.- Note: If this
versionHead
in thedefaultTranscription
, the idtranscription
should be used, as this will align this transcription with all otherdefaultTranscription
versions, allowing aggregators to be a larger transcription file composed of multiplestructureItems.
- Note: If this
- A
<versionNo>
element MUST be present which MUST contain an@n
attribute with a machine readable version number and MUST contain a human readable version label as its text value. - A
<url>
value MUST contain a url pointer to the version.- If version is the
versionHead
a relative path can be used. In the case of a text edition transcription, the relative path is relative to the directory containing thetranscriptions.xml
file. In the case of article transcriptions, the relative path is relative articles directory which is a sibling to the articles list file, e.g.articles/<article-file-name>.xml
- If version is the
An example transcription file associating transcriptions of text editions with manifestations looks as follows:
An live example can be viewed here: https://github.com/scta-texts/graciliscommentary/blob/master/pg-b1q1/transcriptions.xml
<?xml version="1.0" encoding="UTF-8"?>
<list>
<manifestation manifestationDefault="true">
<name>critical</name>
<title>Critical</title>
<transcriptions>
<transcription transcriptionDefault="true">
<title>Critical</title>
<type>critical</type>
<version versionDefault="true">
<hash>transcription</hash>
<versionNo n="1.0.0-dev">Version 1.0.0-dev</versionNo>
<url>pg-b1q1.xml</url>
</version>
<version>
<hash>QmT6MXgMLCgXVehKQn76vc2hMAYS4yn5n1h48VRe81A3Rz</hash>
<versionNo n="1.0.0-dev">Version 1.0.0-dev</versionNo>
<url>https://gateway.scta.info/ipfs/QmT6MXgMLCgXVehKQn76vc2hMAYS4yn5n1h48VRe81A3Rz</url>
</version>
</transcription>
<transcription>
<title>Critical Alternative</title>
<type>critical</type>
<version versionDefault="true">
<hash>transcription2</hash>
<versionNo n="1.0.0-dev">Version 1.0.0-dev-t2</versionNo>
<url>pg-b1q1.xml</url>
</version>
<version>
<hash>QmT6MXgMLCgXVehKQn76vc2hMAYS4yn5n1h48VRe81A3Rz-t2</hash>
<versionNo n="1.0.0-dev">Version 1.0.0-dev-tw</versionNo>
<url>https://gateway.scta.info/ipfs/QmT6MXgMLCgXVehKQn76vc2hMAYS4yn5n1h48VRe81A3Rz</url>
</version>
</transcription>
</transcriptions>
</manifestation>
<manifestation>
<name>en</name>
<title>English</title>
<language>en</language>
<transcriptions>
<transcription transcriptionDefault="true">
<type>translation</type>
<version versionDefault="true">
<hash>transcription</hash>
<versionNo n="1.0.0-dev">Version 1.0.0-dev</versionNo>
<url>en_pg-b1q1.xml</url>
</version>
<version>
<hash>QmP4FPs1fhvTHDkbuRgEsYuKdSUXG1Dr2ApSCiDBYFW7K8</hash>
<versionNo n="1.0.0-dev">Version 1.0.0-dev</versionNo>
<url>https://gateway.scta.info/ipfs/QmP4FPs1fhvTHDkbuRgEsYuKdSUXG1Dr2ApSCiDBYFW7K8</url>
</version>
</transcription>
</transcriptions>
</manifestation>
</list>
An example transcription file associating transcriptions with an Article looks as follows:
Note that the @type=articles
indicates that this list is for "articles" which allows the use of a view extra properties,
most notably the isArticleOf
element.
A live example can be viewed here https://github.com/scta/scta-articles/blob/master/plaoul-articles.xml
<list type="articles">
<!-- Plaoul related articles -->
<manifestation manifestationDefault="true">
<name>pp-about</name>
<title>About the Sentences Commentaries</title>
<type>about</type>
<isArticleOf>http://scta.info/resource/plaoulcommentary</isArticleOf>
<isArticleOf>http://scta.info/resource/plaoulreportatio</isArticleOf>
<isArticleOf>http://scta.info/resource/plaoulreportatioA</isArticleOf>
<transcriptions>
<transcription transcriptionDefault="true">
<version versionDefault="true">
<hash>head</hash>
<versionNo n="1.0.0-dev">Version 1.0.0-dev</versionNo>
<url>pp-about.xml</url>
</version>
</transcription>
</transcriptions>
</manifestation>
</list>