children()
Die children()-Methode erzeugt das Element <children.unfiltered>, das die Strukturknoten auflistet, die im Rendering als Kindknoten behandelt werden sollen.
Zugriffsschutz | internal |
Speicher | reusable.memory |
Datensicht | progressive |
Parameter
- language :string
- taps :string (optional)
Variablen
- sortDirection :string
- sortBy :string
- merge :node-set
- targets :node-set
$sortDirection
Der Standardwert der Variablen $sortDirection ist "none". Mögliche Werte zur Sortierung der Kindknoten sind
- ascending
- descending
$sortBy
Mit der Variablen $sortBy kann ein Attribut konfiguriert werden, nach dem die Kindknoten sortiert werden sollen. Es muss sich dabei um ein Attribut handeln, dass am <meta>-Element der Kindknoten vorhanden ist.
$merge
Die Variable kann durch Implementierung von Templates mit dem Mode "merge" befüllt werden. Verarbeitet werden Elemente der folgenden Struktur:
<target tap="true">onion://data/objects/12345</target>
Das Attribut @tap ist optional.
Die Kindknoten der Ziel-Objekte, die hier aufgelistet werden, werden mit den Kindknoten des aktuellen Knotens verschmolzen.
$targets
Die Variable kann durch Implementierung von Templates mit dem Mode "children" befüllt werden. Verarbeitet werden Elemente der folgenden Struktur:
<target type="tap">onion://data /objects/12345</target>
Das Attribut @type ist optional.
Ausgabe/Ergebnis der Methode
<children.unfiltered sortDirection="{$sortDirection}" sortBy="{$sortBy}"> <meta id="" node="" /> <meta id="" node="" /> <meta id="" node="" /> </children.unfiltered>
Standard
Durch das Befüllen der Variablen $targets und $merge können die <meta>-Elemente von anderen Strukturpunkten als Kindknoten der Strukturabstraktion hinzugefügt werden. Dabei ist es unwichtig, wie die <target>-Elemente der beiden Variablen erzeugt werden.
Wie das erzeugte Element <children.unfiltered> bereits andeutet, sind die <meta>-Elemente der Kindknoten in keiner Weise gefiltert. Dies bezieht sich zum einen auf die angegebene Sortierung. Zum anderen werden hier auch Kinder aufgelistet, deren Attribut @show (am <meta-Element) nicht den Wert "true" besitzt.
Die Ausgabe der children()-Methode dient als Grundlage, um die im <node> enthaltenen Elemente <children> und <children.recursive> aufzubauen (siehe auch node()-Methode).
<children>
Dieses Element enthält eine gefilterte Liste der Kindknoten von <children.unfiltered>. Konkret werden nur solche <meta>-Elemente übernommen, deren Attribut @show den Wert "true" besitzt.
Darüber hinaus kann die Reihenfolge der Kindknoten abweichen. Ist eine korrekte Sortierung konfiguriert, werden die Knoten dementsprechend ausgegeben. Dies kann beispielsweise dafür genutzt werden, Pressemeldungen oder Veranstaltungen direkt in der Strukturabstraktion so zu sortieren, dass sie von neu nach alt aufgelistet werden. Dies kann eine entscheidende Erleichterung im Rendering bedeuten.
<children.recursive>
Diese Methode erzeugt einen DOM-Baum, der ab dem aktuellen Strukturpunkt sämtliche Kindknoten inklusive deren Kinder auflistet. Dafür wird auf die gefilterte Liste aus <children> des jeweiligen Knotens zurück gegriffen.