DemoΒΆ
Below is a demo showing all features provided by the TEI editor:
The reader above uses the following configuration:
{
"sections": {
"body": {
"label": "Text",
"type": "Text",
"parser": {
"selector": "tei:text/tei:body"
},
"schema": [
{
"name": "paragraph",
"type": "block",
"parser": {
"selector": "tei:p"
}
},
{
"name": "title-page",
"type": "block",
"parser": {
"selector": "tei:titlePage"
}
},
{
"name": "title-part",
"type": "block",
"parser": {
"selector": "tei:titlePart"
}
},
{
"name": "doc-edition",
"type": "block",
"parser": {
"selector": "tei:docEdition"
}
},
{
"name": "doc-imprint",
"type": "block",
"parser": {
"selector": "tei:docImprint"
}
},
{
"name": "byline",
"type": "block",
"parser": {
"selector": "tei:byline"
}
},
{
"name": "head",
"type": "block",
"parser": {
"selector": "tei:head"
},
"attrs": {
"id": {
"parser": {
"selector": "@xml:id"
}
}
},
"navigation": {
"attr": "id"
}
},
{
"name": "line-group",
"type": "block",
"parser": {
"selector": "tei:lg"
}
},
{
"name": "line",
"type": "block",
"parser": {
"selector": "tei:l"
}
},
{
"name": "paragraph",
"type": "block",
"parser": {
"selector": "tei:p"
}
},
{
"name": "text",
"type": "inline",
"parsers": [
{
"selector": "tei:seg",
"text": "text()"
},
{
"selector": "tei:hi",
"text": "text()"
}
]
},
{
"name": "page-break",
"type": "inline",
"parser": {
"selector": "tei:pb"
}
},
{
"name": "line-break",
"type": "inline",
"parsers": [
{
"selector": "tei:lb"
}
]
},
{
"name": "pub-place",
"type": "inline",
"parsers": [
{
"selector": "tei:pubPlace"
}
]
},
{
"name": "publisher",
"type": "inline",
"parsers": [
{
"selector": "tei:publisher"
}
]
},
{
"name": "doc-date",
"type": "inline",
"parsers": [
{
"selector": "tei:docDate"
}
]
},
{
"name": "choice-ref",
"type": "inline",
"parser": {
"selector": "tei:ref[@type='choice']",
"text": "text()"
},
"attrs": {
"target": {
"parser": {
"selector": "@target"
}
}
},
"reference": {
"type": "choice",
"attr": "target",
"display": "sidebar"
}
},
{
"name": "choice",
"type": "nested",
"parsers": {
"selector": "tei:choice"
},
"attrs": {
"id": {
"parser": {
"selector": "@xml:id"
}
}
}
},
{
"name": "sic",
"type": "inline",
"parsers": [
{
"selector": "tei:sic",
"text": "text()"
}
]
},
{
"name": "corr",
"type": "inline",
"parsers": [
{
"selector": "tei:corr",
"text": "text()"
}
]
},
{
"name": "letter-spacing",
"type": "mark",
"parsers": [
{
"selector": "contains(@style, 'letter-spacing')"
}
]
},
{
"name": "initial-letter",
"type": "mark",
"parsers": [
{
"selector": "contains(@style, 'initial-letter')"
}
]
}
]
},
"changes": {
"label": "Edits",
"type": "NestedList",
"source": "body",
"nodeName": "choice"
},
"metadata": {
"label": "About",
"type": "Metadata",
"schema": [
{
"tag": "tei:fileDesc",
"children": [
{
"tag": "tei:titleStmt",
"children": [
{
"tag": "tei:title"
},
{
"tag": "tei:author",
"children": [
{
"tag": "tei:persName"
}
]
}
]
},
{
"tag": "tei:publicationStmt",
"children": [
{
"tag": "tei:publisher",
"children": [
{
"tag": "tei:orgName",
"multiple": true
}
]
},
{
"tag": "tei:availability",
"children": [
{
"tag": "tei:licence",
"children": [
{
"tag": "tei:p"
}
]
}
]
}
]
}
]
}
],
"ui": [
{
"label": "Bibliography",
"entries": [
{
"type": "single-text",
"label": "Title",
"path": "fileDesc.titleStmt.title._text"
},
{
"type": "single-text",
"label": "Author",
"path": "fileDesc.titleStmt.author.persName._text"
}
]
},
{
"label": "Digital Version",
"entries": [
{
"type": "single-text",
"label": "License",
"path": "fileDesc.publicationStmt.availability.licence.p._text"
},
{
"type": "multi-row",
"path": "fileDesc.publicationStmt.publisher.orgName",
"entries": [
{
"type": "single-text",
"label": "Publisher",
"path": "._text"
}
]
}
]
}
]
}
},
"ui": {
"closeLabel": "Close"
}
}
The reader also uses the following callbacks:
<script type="application/javascript">
window.TEIReader = {
callbacks: {
autoLoad: function(callback) {
const request = window.fetch('text.tei');
request.then((response) => {
response.text().then((text) => {
callback({
content: text,
identifier: 'tei-reader-demo',
});
})
});
},
close: function() {
alert('There is nothing else to see here');
}
}
}
</script>