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.