☞ Use a spacebar or arrow keys to navigate.
Die Skripte zum Workshop sind als Segmente in der TUSTEP
-Datei skripte hinterlegt. Zugleich wird eine Übungsdatei
beispiel.xml bereitgestellt.
#= REQUEST REQUEST DECODE
#= REQUEST_GND1 REQUEST DARIAH-DE Webservice
#= REQUEST_GND2 REQUEST DARIAH-DE Webservice mit QUERYSTRING-Liste
#= ACCESS_VAR REQUEST ACCESS/.../VARIABLE
#= ACCESS_TEST ACCESS: TRACE content of persName
#= ACCESS_DICT ACCESS: persname+GNDE-ID in Dictionary
#= ACCESS_WRITE ACCESS: persName @ref=GND-ID
#= GEONAMES REQUEST geonamesID
Anmelden der Segmentdatei auf Kommandoebene |
|
Öffnen der Standard-Tustep-Editordatei tustep.edt |
|
Inhaltsverzeichnis der Segmentdatei im Editor anzeigen |
|
Segment holen |
|
Segment ausführen |
|
Anmelden der Segmentdatei auf Kommandoebene |
|
Definieren der Segmentdatei |
|
Inhaltsverzeichnis einer definierten Segmentdatei anzeigen |
|
Ausführen eines Skripts aus einer definierten Segmentdatei |
|
$$ MODE TUSCRIPT,{}
url="http://www.itug.de"
daten=REQUEST (url)
daten=DECODE (daten,utf8)
TRACE *daten
Skript
REQUEST
h,skripte,1
$$ MODE TUSCRIPT,{}
url="https://ref.de.dariah.eu/pndsearch/pndquery.xql?ln=Kollatz,%20Thomas"
requestdaten=REQUEST (url)
requestdaten=DECODE (requestdaten,UTF8)
TRACE *requestdaten
$$ MODE TUSCRIPT,{}
url="https://ref.de.dariah.eu/pndsearch/pndquery.xql"
query=*
DATA ln=Kollatz, Thomas
query=ENCODE (query,cgi)
requestdaten=REQUEST (url,query)
requestdaten=DECODE (requestdaten,UTF8)
TRACE *requestdaten
$$ MODE TUSCRIPT,{}
name="Kollatz, Thomas"
url="https://ref.de.dariah.eu/pndsearch/pndquery.xql"
query=*
DATA ln={name}
query=ENCODE (query,cgi)
requestdaten=REQUEST (url,query)
requestdaten=DECODE (requestdaten,UTF8)
ACCESS rd: READ/STREAM/VARIABLE requestdaten s,a+t+e
LOOP
READ/EXIT rd
IF (t.hn."link"&&t.ha."target") gndreferenz=GET_ATTRIBUTE (t,"target")
ENDLOOP
ENDACCESS rd
PRINT "GNDREFERENZ von ",name,": ",gndreferenz
Skript
ACCESS_VAR
h,skripte,4
$$ MODE TUSCRIPT,{}
file="beispiel.xml"
ERROR/STOP OPEN (file,READ,-std-)
ACCESS f: READ/STREAM/UTF8 $file s,atag+content+etag,typ,stack,stack_num
LOOP/9999999
READ/EXIT f
IF (atag.hn."persName"&&stack.ct." text ") TRACE *atag,content,etag,stack
ENDLOOP
ENDACCESS/PRINT f
$$ MODE TUSCRIPT,{}
file="beispiel.xml"
ERROR/STOP OPEN (file,READ,-std-)
persNames=*
ACCESS f: READ/STREAM/UTF8 $file s,atag+content+etag,typ,stack,stack_num
LOOP/9999999
READ/EXIT f
IF (atag.hn."persName"&&stack.ct." text ") persNames=APPEND(persnames,content)
ENDLOOP
ENDACCESS/PRINT f
persNames=ALPHA_SORT (persnames), persNames=REDUCE (persnames)
Skript
ACCESS_DICT
h,skripte,6
DICT persnames CREATE
url="https://ref.de.dariah.eu/pndsearch/pndquery.xql"
LOOP person=persNames
query=*
DATA ln={person}
query=ENCODE (query,cgi)
requestdaten=REQUEST (url,query), requestdaten=DECODE (requestdaten,UTF8)
ACCESS rd: READ/STREAM/VARIABLE requestdaten s,a+t+e,typ
LOOP
READ/QUIET/EXIT rd
IF (t.hn."link"&&t.ha."target") THEN
gndreferenz=GET_ATTRIBUTE (t,"target")
DICT persnames ADD person,num,cnt,gndreferenz
ENDIF
ENDLOOP
ENDACCESS rd
ENDLOOP
ERROR/STOP CREATE ("persnames.dict",seq-o,-std-)
DICT persnames UNLOAD/FILE "persnames.dict","###"
$$ MODE TUSCRIPT,{}
file="beispiel.xml"
ziel="modified.xml"
ERROR/STOP OPEN (file,READ,-std-)
ERROR/STOP CREATE (ziel,FDF-o,-std-)
dict="persnames.dict"
ERROR/STOP OPEN (dict,READ,-std-)
DICT persnames CREATE
DICT persnames LOAD/FILE "persnames.dict","###"
ACCESS f: READ/STREAM/RECORDS/UTF8 $file s,atag+content+etag,typ,stack,stack_num
ACCESS z: WRITE/ERASE/STREAM/UTF8 $ziel s,atag+content+etag
LOOP/9999999
READ/EXIT f
IF (atag.hn."persName"&&stack.ct." text ") THEN
DICT persnames LOOKUP content,num,cnt,gndreferenz
atag=SET_ATTRIBUTE (atag,"ref",gndreferenz)
ENDIF
WRITE z
ENDLOOP
ENDACCESS/PRINT f
ENDACCESS/PRINT z
externe Quellen Biographisches Portal der Rabbiner
$$ MODE TUSCRIPT,{}
townname="Potsdam"
url="http://api.geonames.org/search"
querystring=*
DATA name_equals={townname}
DATA country=DE
DATA continentCode=EU
DATA maxRows=10
DATA lang=de
DATA username=###
DATA featureCode=ADM3
query=ENCODE (querystring,cgi)
requestdaten=REQUEST (url,query)
requestdaten=DECODE (requestdaten,UTF8)
TRACE *requestdaten
ACCESS rd: READ/STREAM/VARIABLE requestdaten s,a+t+e
LOOP
READ/EXIT rd
IF (a.hn."geonameId") geonameid=VALUE(t)
ENDLOOP
ENDACCESS/PRINT rd
PRINT townname," has geonameId ",geonameid
http://hub.culturegraph.org/entityfacts/{GND-ID}
: