Agora System
3.2.1 Kontext 'doc'
Eine Agora-Dokumente kann mit dem Objekt 'doc' in HTML-Seiten angesprochen werden werden. Da ein Agora-Dokument sowohl Seiten- und Volltextreferenzen, als auch Attribut- und Elementeinträge aufweisen kann, beziehen sich die Funktionen des 'doc'-Objektes auf diese verschiedenen Kontext-Bereiche.
Allgemein:
-
Funktion:
$doc.isvalidDatentyp: Bool
'$doc.isvalid' prüft, ob das aktuelle Dokument gültig ist.
Beispiel:
... #if ($doc && $doc.isvalid) #set $linkzoomdefault = $link.page("view", $doc.curpage, $zoom.default) #set $linkzoomincrease = $link.page("view", $doc.curpage, $zoom.increase) #set $linkzoomdecrease = $link.page("view", $doc.curpage, $zoom.decrease) ...
Im Beispiel wird - bevor man die Variablen zum Imagezooming setzt - geprüft, ob es sich um ein valides Dokument handelt.
Behandlung von Dokument-Seiten:
-
Funktion:
$doc.haspagesDatentyp: Bool
'$doc.haspages' prüft, ob das aktuelle Dokument über Imageseiten verfügt.
Beispiel:
... #if ($doc && $doc.haspages) #showlink(true, $e, $link.page("docview", $doc.firstpage), "dview", 110) #else #showlink(false, $e, "", "dview", 110) #end ...
Hier werden Makros (Links zu Imageseiten) aktiviert, wenn Imageseiten vorhanden sind (#showlink(true,...). Wenn nicht, sind die Links ausgeschaltet (#showlink(false,...).
-
Funktionen:
$doc.firstpage-$doc.curpage-$doc.lastpageDatentyp: ContextPage
Mit diesen Funktionen kann die jeweilige Seitenposition eines Agora-Dokuments referenziert werden: 'erste Seite (firstpage)' - 'aktuelle Seite (curpage)' - 'letzte Seite (lastpage)'
Beispiel:
... #if ($curnav == "view") #if ($doc.curpage != $doc.firstpage) #set $flag1=true #set $flag2=true #end #if ($doc.curpage != $doc.lastpage) #set $flag3=true #set $flag4=true #end ...
Hier wird zunächst geprüft, ob der aktuelle Agora Request auf 'view' steht, d. h., ob aktuell das Imageview-Template geladen ist ($curnav == "view"). Ist dies der Fall, werden - je nachdem, wo sich die aktuelle Seite befindet - bestimmte 'flags' gesetzt, z. B. um Navigationsbuttons an- oder auszuschalten .
-
Funktion:
$doc.nextpageDatentyp: ContextPage
Funktion referenziert die jeweils nächste Seite eines Agora-Dokuments
Beispiel:
... #showlink($flag1, 'first', $link.page("view", $doc.firstpage)) #showlink($flag2, 'previous', $link.page("view", $doc.prevpage)) #showlink($flag3, 'next', $link.page("view", $doc.nextpage)) #showlink($flag4, 'last', $link.page("view", $doc.lastpage)) ...
Hier wird das Makro '#showlink' aufgerufen, das die Navigationsbutton beim Imageview steuert, u. a. auch die Navigation zur nächsten Dokumentseite (#showlink($flag3, 'next', ...).
Behandlung von Attributen:
-
Funktion:
$doc.attributesDatentyp: ContextAttribute
'$doc.attributes' enthält die Liste aller Attribute eines Dokuments. Mit Hilfe einer 'foreach'-Schleife kann man sich einzelne Attribute holen.
Beispiel:
... <table width="100%"> <tr> <td class="header"> #foreach $a in $doc.attributes("NumberOfVolume") <b>Band: $a.value </b> #end </td> </tr> </table> ...
Es wird in der Liste der Attribute des aktuellen Dokuments nach dem Attribute 'NumberOfVolumes' gesucht. Wird es gefunden, wird es in der Variablen '$a' gespeichert und schließlich mit seinem Wert ($a.value) ausgegeben. Die Tabelle im Beispiel könnte also etwa folgendes beinhalten: Band: 22A