Your browser doesn't support the features required by impress.mod.js, so you are presented with a simplified version of this presentation.

For the best experience please use the latest Chrome, Safari or Firefox browser.

2017-12-18 | DA@ADWLM

DA-Day 2017#2

TEI2RTF

via TUSCRIPT & #*export

War|ord what is it good for – absolutely nothing!?

extended version 3to7

Thomas Kollatz | @kol_t | Twitter digicademy | CC-BY 4.0

Stürmischer Workflow

Metadaten <TeiHeader>
Anrede <opener>
opener <opener>
closer <closer>
Briefkorpus
PS <postscriptum>
Fussnoten <note>
Register:
Personen <persName>
Orte <placeName>
Werke <term>

TEI – Struktur und Semantik

Planskizze

$tei2rtf

109 XML-Dateien werden aus zwei Verzeichnissen in eine TUSTEP-Datei geschrieben; Orts- und Personennamen sowie Werke werden für Register vorbereitet; Daten werden beim Lesen der XML-Dateien entsprechend der Layoutvorgaben aufbereitet in eine TUSTEP-Datei geschrieben
#*export,sturm.tf,sturm.rtf,definitionen=sturm.sty,loeschen=+,anzeigen=+

Definitionen sturm.sty

$tei2rtf – the movie

XML-Verarbeitung mit TUSCRIPT

READ/STREAM

Portionsweises Einlesen einer Datei. Eine Portion beginnt unmittelbar vor einer Anfangskennung (in der Regel ein öffnendes Tag) bzw. nach einer Endekennung.
<persName ref="http://d-nb.info/gnd/118559737" >das russische Genie</persName>

Beispielportion in TEI-XML

ACCESS file: READ/STREAM/UTF6 "quelle" ...
             satznummer, starttag+content+endtag, typ, xpath, xpath_count
   satznummer = 1
     starttag = <persName ref="http://d-nb.info/gnd/118559737" >
     content  = das russische Genie
     endtag   = </persName>
     typ      = 3 // 3-Anfangs- und Endetag; 1-nur Anfangs-; 2-nur Endetag; 4-Emptytag
     xpath    = <TEI><text><div><p><persName>            
xpath_counted = <TEI[1]><text[1]><div>[3]<p>[2]<persName>[6]

Variablenbelegung beim Einlesen der Portion

Abfrage der Ansetzungsform bei der GND

Namensansetzung

<http://d-nb.info/gnd/118559737> gndo:preferredNameForThePerson "Kandinsky, Wassily" ;

Anfang

BUILD S_TABLE personanf=*
DATA |gndo:preferredNameForThePerson "|

Ende

BUILD S_TABLE personend=*
DATA |" ;|

Starttag == <persName>

SELECT starttag
 CASE "persName"
   personid=GET_ATTRIBUTE (line,"ref","N.N."), personid=SQUEEZE(personid)
   --- Prüfen, ob GND-ID schon im Dictionary person (Personennamen) aufgenommen steht
   DICT person lookup personid,num,cnt,value1,value2
   IF (num!=0) CYCLE  
   --- Request bei Linked Data Schnittstelle der DNB
   IF (personid.ct." d-nb ") THEN
    persname="" 
    url=CONCAT (personid,"/about/lds")
    content=REQUEST (url), content=DECODE (content,utf8)
    persname=EXTRACT (content,personanf|,personend)    
    persname=JOIN(persname,"")  
    --- GND-ID und Ansetzungsform eintragen in Dictonary
    DICT person add personid,num,cnt,persname,""
   ENDIF                
ENDSELECT

Dictionary-Eintrag

http://d-nb.info/gnd/118559737|Kandinsky, Wassily

Ausgangsformat für RTF-Export

<persName>das russische Genie<xe name='name'>Kandinsky, Wassily</xe></persName>

Format für persName definieren – Sperrung

<cstyle name="persName" style=s/>

Quellen

Präsentationen

Download

music