includes.delegate()
Die Methode includes.delegate() sollte immer dann in eine Rendering-Methode importiert werden, wenn diese auf einem Objekt aufgerufen wird, welches nicht in der Strukturabstraktion enthalten ist.
Grundsätzlich hat die Methode denselben Aufbau wie die Methode includes.self(). Allerdings muss über den Parameter $delegate ein XLink auf ein Dokument übergeben werden, dessen Strukturabstraktion verwendet werden soll.
Auf diese Weise kann dann auf die Strukturabstraktion des im Parameter $delegate übergebenen Objekts wie gewohnt über die Variable $self zugegriffen werden.
Anwendungsbeispiel
Dies ist beispielsweise bei Teasern praktisch, in denen Verlinkungen gepflegt werden sollen. Ein Teaser an sich ist kein besuchbares Objekt, welches einen eigenen Knoten in der Strukturabstraktion besitzt.
Um aber Links zu beliebigen Strukturpunkten korrekt generieren/auflösen zu können, benötigt die Rendering-Methode des Teasers die Strukturabstraktion. Und zwar von der Inhaltsseite, auf der der Teaser eingebunden ist - denn dies ist der eigentliche Ausgangspunkt für die Auflösung beliebiger Verknüpfungen über die Strukturabstraktion.
In der Rendering-Methode der Inhaltsseite wird dann die Rendering-Methode auf dem Teaser aufgerufen und die vorhandenen Informationen $language und $taps mitgegeben. Darüber hinaus gibt die Inhaltsseite die eigene onion.net-ID als Parameter $delegate mit. In der Rendering-Methode des Teasers wir die Methode includes.delegate() importiert. Gibt man nun testweise $self/meta/@href.prototype aus, wird der Standard-XLink auf die Inhaltsseite angezeigt.