|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Object | +--WbzContainer
WbzContainer
allows the embedding views
into an host language lile HTML or XUL. There is
no equivalent in XSLT. In XSLT these elements can be written in
the so called template-bodies under the most elements (see
XSLT-specification).
Wobzilla can also use this notation, by transparently wrapping
those elements under an WbzContainer
see below.
Enables the use of templates in Wobzilla. The following examples shows the embedding into a HTML-Table:
<wbz:container> <html:table> <html:tr> <html:td>firstname:</html:td> <html:td><wbz:value-of select="@firstname"/></html:td> </html:tr> <html:tr> <html:td>Lastname:</html:td> <html:td><wbz:value-of select="@lastname"/></html:td> </html:tr> </html:table> </wbz:container>
WbzContainer
kann dazu verwendet werden, um mehrere
views zusammenzupacken. Das macht die
Verarbeitung von views für andere Komponenten einfacher. Diese
müssen jetzt statt mehrerer views nur einen Container als
Unter-view verwalten. Den Komponenten steht es frei, einen
wbz:container automatisch zu erzeugen, falls mehr als eine view-Konfiguration
oder ein Element, das nicht zum wbz:name-space
gehört, gefunden werden. Die von Wobzilla bereitgestellten
Basis-Komponenten nehmen diese Ersetzung automatisch vor, um die
Verwendung für den Ersteller des Stylesheets transparent zu
halten. So kann die gewohnte XSLT-Schreibweise ohne
Container-Anweisung verwendet werden. In den Beispielen in diesem
und im nächsten Kapitel wird aber die Container-Schreibweise
beibehalten, da sie das Zusammenspiel der einzelnen Komponenten
verdeutlicht.
Variablen-Anweisungen müssen immer am Anfang des Containers
stehen. Findet der container eine variable
Anweisung, dann erzeugt er einen entsprechenden view
(WbzValueOf
), initialisiert diesen aber nicht mit
einem Knoten aus dem Ausgabebaum, sondern einem
leeren Knoten ohne Vaterelemente. WbzValueOf
schreibt in diesen Knoten dann den Variableninhalt. Danach
wird der Inhalt der Variablen im Kontextobjekt
wobzilla.local
unter dem Namen, der im
name
-Attribut angegeben wurde, abgelegt. Alle
folgenden Unterviews werden nun mit dem veränderten Unterkontext
initialisiert.
Wird die requery
-Methode des Containers aufgerufen, dann
werden zuerst die requery-Methoden der Variablen aufgerufen. Wenn
mindestens eine Variable den Inhalt des ihr zugeordneten
Textknotens verändert, müssen alle anderen Unterkomponenten
neu erzeugt werden, weil sich deren Kontext geändert hat.
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |