Die aktuelle Version von TUSTEP kann auf der offiziellen Downloadseite der Universität Tübingen heruntergeladen werden: http://www.tustep.uni-tuebingen.de/download.php.
skripte
Sämtliche Skripte, die in diesem Workshop vorgestellt werden, befinden sich als
Segmente in der Datei skripte
.
Sie wird zum Download zur Verfügung gestellt.
Gib Kommando >
|
Makrodatei anmelden und ggbf. einrichten |
|
Makrodatei definieren |
|
Inhalt der Makrodatei anzeigen |
|
Skript ausführen, wenn |
|
Skript ausführen |
Gib Anweisung >
|
Inhaltsverzeichnis der Segmentdatei |
|
Skript speichern |
|
Skript holen | bearbeiten |
|
Skript ausführen |
|
Skript vergleichen |
Die TUSCRIPT-Funktion REQUEST
ermöglicht es "Inhalte" aus
dem Internet zu holen. Im TUSTEP-LAB soll diese Funktion vorgestellt werden und
die Möglichkeiten der Weiterverarbeitung von REQUEST-Daten bzw.
Datenanreicherungen vorhandener Daten über Webanfragen gezeigt
werden.
REQUEST (url)
ruft eine HTML-Seite von einem WWW-Server ab oder ruft ein CGI-Script auf einem WWW-Server auf. Die URL der HTML-Seite bzw. des CGI-Scripts muss mit dem Argumenturl
angegeben werden. Für das Argumenturl
kann eine Variable oder eine in Anführungszeichen eingeschlossene Zeichenfolge angegeben werden.
Handbuch 502f.
$$ MODE TUSCRIPT,{}
url="http://www.example.com"
TRACE
daten=REQUEST (url)
ENDTRACE
Segment REQUEST_01
$$ MODE TUSCRIPT,{}
url="http://www.example.com"
daten=REQUEST (url)
daten=DECODE (daten,utf8)
ERROR/STOP CREATE ("example.tf",seq-o,-std-)
FILE/ERASE/PRINT "example.tf" = daten
Segment REQUEST_02
$$ MODE TUSCRIPT,{}
url4img="http://www.steinheim-institut.de/daten/picshha/xl/9014_HE_0307290335.jpg"
ERROR/STOP CREATE ("test.jpg",fdf-o,-std-)
FILE/ERASE/BINARY "test.jpg" = REQUEST (url4img)
BROWSE "test.jpg"
Segment REQUEST_03
$$ MODE TUSCRIPT,{}
url="http://www.deutschestextarchiv.de/book/download_xml/urbanitzky_electricitaet_1885"
daten=REQUEST (url)
ERROR/STOP CREATE ("dta_tei.tf",seq-o,-std-)
ACCESS q: READ/STREAM/variable/utf8 daten s,a+t+e,typ,stack
ACCESS z: WRITE/ERASE/STREAM "dta_tei.tf" s.z/u,a+t+e
LOOP/999999999
READ/EXIT q
WRITE z
ENDLOOP
ENDACCESS q
ENDACCESS/PRINT z
Quelle Urbanitzky, Alfred von: Die Elektricität … | Segment REQUEST_04
Über die Datenschnittstelle lassen sich sämtliche Text- und Registerdaten der Edition als TEI/XML oder TEI/JSON beziehen. Der Einstiegspunkt für diese API befindet sich unter folgender Adresse:https://sturm-edition.de/api/files
…
Eine Besonderheit stellt der files Einstiegspunkt dar. Über ihn kann jede XML-Datei der STURM-Edition im TEI/XML-Volltext bezogen werden.
$$ MODE TUSCRIPT,{}
api="https://sturm-edition.de/api/files"
files=REQUEST (api)
ERROR/STOP CREATE ("sturmfiles.tf",seq-o,-std-)
ACCESS q: READ/STREAM/RECORDS/variable/utf8 files s,a+t+e
ACCESS z: WRITE/ERASE/STREAM "sturmfiles.tf" s.z/u,a+t+e
LOOP/999999999
READ/EXIT q
WRITE z
ENDLOOP
ENDACCESS q
ENDACCESS/PRINT z
Segment STURM_01
$$ MODE TUSCRIPT,{}
api="https://sturm-edition.de/api/files"
files=REQUEST (api)
ERROR/STOP CREATE ("sturmbriefe.tf",seq-o,-std-)
ACCESS q: READ/STREAM/RECORDS/variable/utf8 files s,a+t+e
ACCESS z: WRITE/ERASE/STREAM "sturmbriefe.tf" s.z/u,aa+t+ee
LOOP/999999999
READ/EXIT q
IF (a.hn."idno") THEN
version=GET_ATTRIBUTE (a,"version")
IF (version==1) CYCLE
type=GET_ATTRIBUTE (a,"type")
IF (type=="letter") WRITE z
ENDIF
ENDLOOP
ENDACCESS q
ENDACCESS/PRINT z
Segment STURM_02
$$ MODE TUSCRIPT,{}
api="https://sturm-edition.de/api/files"
files=REQUEST (api)
FETCH directory = TUSTEP_DSK
IF ("xml"!='project'.on.TUSTEP_DSK) ERROR/STOP CREATE ("xml",project,-std-)
pfad2xmldir=ADJUST_PATH (directory,"xml")
count=0
ERROR/STOP CREATE ("sturmbriefe.tf",seq-o,-std-)
ACCESS q: READ/STREAM/RECORDS/variable/utf8 files s,a+t+e
LOOP/999999999
READ/EXIT q
IF (a.hn."idno"&&.ha."type") THEN
type=GET_ATTRIBUTE (a,"type")
IF (type=="letter"&&t.nc." v1 ") THEN
url2file=ADJUST_PATH (api,t)
pfad2file=ADJUST_PATH (pfad2xmldir,t)
DEFINE "xml" = $pfad2file
ERROR/STOP CREATE ("xml",FDF-o,-)
FILE/ERASE/BINARY "xml" = REQUEST (url2file)
ERROR/STOP CLOSE ("xml")
count=count+1
IF (count>9) EXIT
PRINT count,": ",t
ENDIF
ENDIF
ENDLOOP
ENDACCESS/PRINT q
Segment STURM_03
Mit dem TUSTEP Modul #*export
lassen sich nicht nur
xml-strukturierte TUSTEP-Dateien nach Microsoft-Word exportieren, sondern mit
diesem Modul lässt sich auch relativ einfach eine Lese/Druck-Fassung (Worddatei)
von XML-Dokumente erzeugen. Im TUSTEP-LAB soll der Weg von einem einfachen (!)
TEI-XML Dokument zu einer Druckfassung gemeinsam begangen werden.
#*export | |
---|---|
QUELLE | Name der Quelldatei |
ZIEL | Name der Zieldatei |
MODUS | |
LOESCHEN | - | + |
DEFINITIONEN | Datei | - |
OPTIONEN | - | BLANK |
ANZEIGEN | - | + |
PROTOKOLL | + | datei |
#*export,datei.tf,datei.rtf,lo=+,de=definitionen.tf,an=+
#*zebe,export
$$ MODE TUSCRIPT,{}
url="http://www.deutschestextarchiv.de/book/download_xml/urbanitzky_electricitaet_1885"
daten=REQUEST (url)
ERROR/STOP CREATE ("dta_lg.tf",seq-o,-std-)
STACK lg CREATE
ACCESS q: READ/STREAM/RECORDS/variable/utf8 daten s,a+t+e,typ,stack
ACCESS z: WRITE/ERASE/STREAM "dta_lg.tf" s.z/u,a+t+e
LOOP/999999999
READ/EXIT q
IF (a.hn."lg") THEN
IF (a.ha."type") a=START_TAG ("section")
STACK lg PUSH a
ENDIF
IF (e.hn."lg") THEN
STACK lg POP e
e=END_TAG (e)
ENDIF
IF (stack.ct." <lg> ") THEN
t=EXCHANGE (t,":^&^#x{4}?;:#\[{-2=}\]:")
WRITE z
ENDIF
ENDLOOP
ENDACCESS q
ENDACCESS/PRINT z
Segment dta_lg
ERROR/STOP CREATE ("def4dta_lg.tf",seq-o,-std-)
MODE DATA
$$ FILE/ERASE "def4dta_lg.tf"
<dstyle font="Didot"/>
<pstyle name=head style=b/>
<alias alias=lb tag=br/>
<pstyle name=lg linefeed=18 ignore=n/>
<cstyle name=l style=ni ignore=n/>
<cstyle name=hi style=i ignore=rendition/>
$$ ENDFILE
$$ MODE TUSCRIPT,{}
ERROR/STOP CREATE ("dta_lg.rtf",fdf-o,-std-)
EXECUTE #*export,dta_lg.tf,dta_lg.rtf,
lo=+,de=def4dta_lg.tf,an=+
Segment dta_lg
Zieldatei dta_lg.rtf
Die TEI-Elemente<hi> <l> <head>
werden beim*export
über festgelegte Definitionen in Form von Formatvorlagen übernommen.
<dstyle font="Didot"/>
<pstyle name=head style=b/>
<alias alias=lb tag=br/>
<pstyle name=lg linefeed=18 ignore=n/>
<cstyle name=l style=ni ignore=n/>
<cstyle name=hi style=i ignore=rendition/>
$$ MODE TUSCRIPT,{}
SECTION request
url="http://www.deutschestextarchiv.de/book/download_xml/urbanitzky_electricitaet_1885"
daten=REQUEST (url)
ERROR/STOP CREATE ("dta_all.tf",seq-o,-std-)
STACK lg CREATE
ACCESS q: READ/STREAM/RECORDS/variable/utf8 daten s,a+t+e,typ,stack
ACCESS z: WRITE/ERASE/STREAM "dta_all.tf" s.z/u,a+t+e
LOOP/999999999
READ/EXIT q
IF (stack.nc." <teiHeader> "," <back> "," <front> ") THEN
t=EXCHANGE (t,":^&^#x{4}?;:#\[{-2=}\]:")
IF (a.hn."lg") THEN
IF (a.ha."type") a=START_TAG ("")
STACK lg PUSH a
ENDIF
IF (e.hn."lg") THEN
STACK lg POP e
e=END_TAG (e)
ENDIF
WRITE z
ENDIF
ENDLOOP
ENDACCESS q
ENDACCESS/PRINT z
ENDSECTION
DO REQUEST
Segment dta_all
ERROR/STOP CREATE ("def4dta_all.tf",seq-o,-std-)
MODE DATA
$$ FILE/ERASE "def4dta_all.tf"
<alias alias=TEI tag=document/>
<alias alias=lb tag=br/> <alias alias=pb tag=dummy/> <alias alias=cb tag=dummy/>
<alias alias=hi tag=dummy ignore=rendition/>
<alias alias=formula tag=dummy/> <alias alias=milestone tag=dummy/>
<alias alias=figure tag=dummy/>
<alias alias=div tag=dummy/> <alias alias=fw tag=ignore/>
<alias alias=body tag=section/> <alias alias=text tag=dummy/>
<alias alias=table tag=ignore/>
<alias alias=row tag=tr/> <alias alias=cell tag=tc/>
<alias alias=note tag=fn ignore=place'n'xml:id'next'prev/>
<alias alias=list tag=dummy/> <alias alias=choice tag=dummy/>
<alias alias=space tag=dummy/> <alias alias=item tag=li/>
<pstyle name=head before=18 after=18 style=b/>
<pstyle name=lg linefeed=18 ignore=n/>
<cstyle name=sic end="[!]"/> <cstyle name=supplied start="[[" end="]]"/>
<cstyle name=corr start="^<" end="^>"/> <cstyle name=l style=ni ignore=n/>
$$ ENDFILE
$$ MODE TUSCRIPT,{}
ERROR/STOP CREATE ("dta_all.rtf",FDF-o,-std-)
EXECUTE #*export,dta_all.tf,dta_all.rtf,lo=+,de=def4dta_all.tf,an=+
Zieldatei dta_lg.rtf | Segment dta_all