<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
 Liebe TUSTEP-Gemeinde,<div><br><div>weil es mir so grossen Spass gemacht hat das nachfolgende Script auszutüfteln, will ich sie ungefragt an meiner Freude teilhaben lassen.</div><div><br></div><div>Erst mal der Link zum Ergebnis:</div><div><br></div><div><a href="http://www.steinheim-institut.de:50580/cgi-bin/epidat?function=pq&pq=GQ&sel=hha">http://www.steinheim-institut.de:50580/cgi-bin/epidat?function=pq&pq=GQ&sel=hha</a></div><div><br></div><div>Für die, die jetzt noch wissen will, wie's gemacht wurde, folgt nun das kleine Skript, .... vielleicht hat ja irgendwer mal eine ähnliche Navigations-Aufgabe:</div><div><br></div><div>Die Idee: Ein grosses epigraphisches Korpus sollte nicht nur chronologisch, nach Namen oder über umfangreiche Suchoptionen erschlossen, sondern auch ein topographischer Lageplan sinnvoll mit der Edition der Inschriften verbunden werden.</div><div>Der Plan hat 255 Planquadrate, von denen aber nur 120 mit insgesamt 5923 Inschriften belegt sind. In einem ersten Schritt habe ich mittels TUSCRIPT ermitteln lassen, auf welche Planquadrate sich die 6000 Inschriften überhaupt verteilen, daraus habe ich eine Matrix der Planquadrate erstellt (+=belegt; -=nicht belegt). </div><div><br></div><div>Mit dem folgenden  Skript werden "sinnvolle" Sprünge ermittelt werden, d.h. von einem belegten auf ein belegtes Feld, nicht aber auf ein Feld, das keine Inschriften birgt, das frustriert die Nutzer nur ...</div><div><br></div><div>Wird z.B. </div><div><br></div><div>pq=GQ </div><div><br></div><div>ans Skript im Segment "Plan1" übergeben, </div><div>wird die Belegung der umliegenden Planquadrate ausgegeben: </div><div><br></div><div>r=+,o=+,u=+,l=-</div><div><br></div><div><br></div><div><div>Auszug B zeigt wie das Segment "plan1" in ein größeres CGI-Skript eingebunden wurde, </div><div>und die Variable plan (mit der Matrix der Planquadrate) html-tauglich aufbereitet wird, </div><div>wobei das aktive Planquadrat markiert werden soll.</div><div><br></div><div>Herzliche Grüße </div><div>THOMAS KOLLATZ</div><div><br></div><div><br></div></div><div>---- Segment plan1 (vollständig)</div><div><br></div><div><div>$$ MODE TUSCRIPT</div><div>=$</div><div>$$ SET plan = *</div><div>0 P O N M L K I H G F E D C B A</div><div>A - - + + + - - - - - - - - - -</div><div>B - - + + + + + - - - - - - - -</div><div>C - - + + + + + + + - - - - - -</div><div>D - + + + + + + + + + + + - - -</div><div>E + + + + + + + + + + + + - - -</div><div>F + + + + + + + + + + + + - + +</div><div>G + + + + + + + + + + + + - + +</div><div>H + + + + + - - + + + + + + + +</div><div>I - - - - - - - + + + + + - + +</div><div>K - - - - - - - + + + + + + + +</div><div>L - - - - - - - + + + + + + - -</div><div>M - - - - - - - + + + + + + + -</div><div>N - - - - - - - - + + + + + + -</div><div>O - - - - - - - - + + + - - - -</div><div>P - - - - - - - - + + + - - - -</div><div>Q - - - - - - - - + + + - - - -</div><div>R - - - - - - - - + + - - - - -</div><div>$$=-</div><div>SET pqrechts=pqoben=pqunten=pqlinks=o=u=l=r="-"</div><div>SET quer = EXTRACT (pq,1,2)</div><div>SET hoch = EXTRACT (pq,2,0)</div><div>BUILD S_TABLE quer = ":{quer}:"</div><div>SET x = SELECT (plan,1)</div><div>SET x = SPLIT (x, ": :")</div><div>SET posquer = INDEX  (x, quer)</div><div>SET nix = SPLIT (plan,"- -",y,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11,y12,y13,y14,y15,y16)</div><div>SET poshoch  = INDEX (y,hoch)</div><div>SET posoben  = poshoch-1</div><div>SET posunten = poshoch+1</div><div>SET poslinks = posquer-1</div><div>SET posrechts= posquer+1</div><div>SET xquer=SELECT (plan,#poshoch)</div><div>SET xquer = SPLIT (xquer,": :")</div><div>SET l = SELECT (xquer,#poslinks)</div><div>IF (l.eq."+") THEN</div><div>SET xlinks = SELECT (x,#poslinks)</div><div>SET pqlinks= CONCAT (xlinks,hoch)</div><div>ENDIF</div><div>SET r = SELECT (xquer,#posrechts)</div><div>IF (r.eq."+") THEN</div><div>SET xrechts= SELECT (x,#posrechts)</div><div>SET pqrechts=CONCAT (xrechts,hoch)</div><div>ENDIF</div><div>SET row = CONCAT ("y",posquer)</div><div>SET o = SELECT (@row,#posoben)</div><div>IF (o.eq."+") THEN</div><div>SET yoben = SELECT (y,#posoben)</div><div>SET pqoben = CONCAT (quer,yoben)</div><div>ENDIF</div><div>SET u = SELECT (@row,#posunten)</div><div>IF (u.eq."+") THEN</div><div>SET yunten= SELECT (y,#posunten)</div><div>SET pqunten = CONCAT (quer,yunten)</div><div>ENDIF</div><div><br></div><div><br></div><div>---- Auschnitt B:  cgi-script ----</div><div><br></div><div><div>INCLUDE plan1</div><div>BUILD X_TABLE p1 = *</div><div>DATA !+!<<td class="belegt">><</td>>!</div><div>DATA !-!<<td class="unbelegt">><</td>>!</div><div>DATA !</!<<td class="achse">>>=01<</td>>!</div><div>DATA !0!<<td class="blank">><</td>>!</div><div>DATA !1!<<td class="aktiv">><</td>>!</div><div>SET reihe=""</div><div>LOOP p1=plan</div><div>IF (p1.sw.hoch) THEN</div><div>SET r2=SPLIT (p1,": :",t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15,t16)</div><div>SET thit = CONCAT ("t",posquer)</div><div>SET @thit = EXCHANGE (@thit, ":+:1:")</div><div>SET p1 = JOIN (t1," ",t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15,t16)</div><div>ENDIF</div><div>SET r1=EXCHANGE (p1,p1)</div><div>SET reihe = REPLACE (reihe,0,r1)</div><div>ENDLOOP</div><div>SET reihe = SPLIT (reihe)</div><div>....</div><div><div>DATA <tr></div><div>IF (o.eq."+") THEN</div><div>DATA <td colspan="3" style="text-align:center; ">{link}<a href='{cgiscript}?function=pq^&amp;sel={sel}^&amp;pq={pqoben}^#plantop'>{pqoben}</a> </td></div><div>ELSE</div><div>DATA <td colspan="3" style="text-align:center; background-color:silver;">^&nbsp;</td></div><div>ENDIF</div><div>DATA </tr> </div><div>....<span class="Apple-tab-span" style="white-space:pre"> </span></div></div><div>-----</div><div><br></div></div></div><br><br><div> <span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div>drs Thomas Kollatz  - wissenschaftlicher Mitarbeiter / research assistant</div><div>Salomon Ludwig Steinheim-Institut fuer deutsch-juedische Geschichte</div><div>D-47057 Duisburg, Geibelstr. 41, T 203-370071 | 2151-5137430<span class="Apple-style-span" style="font-family: 'Marker Felt'; font-size: 18px; "><span class="Apple-style-span" style="font-family: Helvetica; font-size: 12px; ">,  F 203-373380</span></span></div><div>Karte <<a href="http://maps.google.de/maps?f=q&hl=de&q=Geibelstr.+41,+Du">http://maps.google.de/maps?f=q&hl=de&q=Geibelstr.+41,+Du</a>></div><div>Homepage <<a href="http://steinheim-institut.de/das_institut/mitarbeiter/kollatz/index.xml">http://steinheim-institut.de/das_institut/mitarbeiter/kollatz/index.xml</a>></div><div>Epigraphische Datenbank <<a href="http://www.steinheim-institut.de:50580/cgi-bin/epidat">http://www.steinheim-institut.de:50580/cgi-bin/epidat</a>></div><div><br class="khtml-block-placeholder"></div><div><br class="khtml-block-placeholder"></div><br class="Apple-interchange-newline"></span></span></span></span></span><br class="Apple-interchange-newline"> </div><br></div></body></html>