node()-Methode

Die node()-Methode bildet die Klammer für jeden besuchbaren Knoten in der Strukturabstraktion.

Zugriffsschutz internal
Speicher reusable.memory
Datensicht progressive

Parameter

  • language :string
  • taps :string (optional)

Variablen

  • delegate.source :node-set

delegate.source

Die Variable delegate.source ist ein Node-Set. Die Befüllung findet durch Implementierung von Templates mit dem Mode "delegates" statt. Verarbeitet werden können Elemente der folgenden Struktur:

<delegate tap="true">onion://data/objects/1234</delegate>

Das Attribut @tap ist optional.

Ausgabe/Ergebnis der Methode

<node language="{language}" id="{id}">
  <meta />
  <context />
  <taps />
  <children />
  <children.unfiltered />
  <children.recursive />
</node>

Standard

Die node()-Methode erzeugt ein Element <node> mit den Attributen @language und @id. Darunter werden folgende Elemente erzeugt:

  • <meta> (Ergebnis der Methode xml.meta())
  • <context> (Ergebnis der Methode xml.context())
  • <taps> (Ergebnis der Methode xml.context(), $mode = 'taps')
  • <children> (Ergebnis der Methode xml.children.filtered())
  • <children.unfiltered> (Ergebnis der Methode xml.children())
  • <children.recursive> (Ergebnis der Methode xml.children.recursive)

$delegate.source ist befüllt

Hier werden nun zwei grundsätzliche Fälle unterschieden: mit Taps und ohne Taps.

Mit Taps

"Mit Taps" bedeutet, dass zum einen der Parameter $taps befüllt ist, der Aufruf also in einem bestimmten Kontext stattfindet und zum anderen, dass die <delegate>-Elemente der Variablen $delegate.source ein Attribut @tap mit dem Wert true haben.

Sind diese Bedingungen erfüllt, wird mit den gegebenen Kontextinformationen der Elternknoten aufgelöst. Das erzeugt <node>-Element erhält dann die Attribute und Elemente des Elternknotens.

Ohne Taps

In diesem Fall wird das in der Variablen angegebene Delegate-Ziel gemäß der Strukturabtstraktion aufgelöst und seine Attribute und Elemente an das <node>-Element geschrieben.