Jelly: XML-Scripting mit vielen Komponenten

Jetzt zu den inneren Abläufen von Jelly, zum Aufbau einer persönlichen Bibliothek mit Jelly Tags. Hier wird ein Beispiel-Tag verwendet, der unseren Fließtext auf Groß- oder Kleinbuchstaben einstellt. Jelly Tags werden in den in Tabelle A aufgeführten Tag-Bibliotheken versammelt. Tag-Bibliotheken werden unter Jelly als Namensraum registriert.

Dieses Beispiel macht die zentrale Tag-Bibliothek im voreingestellten Namensraum verfügbar und unsere persönliche Bibliothek im Namensraum für Groß- und Kleinschreibung (case). CaseTagLibrary muss die Klasse org.apache.commons.jelly.TagLibrary erweitern und die Methode registerTag für jeden verfügbaren Tag aufrufen.

Nunmehr steht ein Tag zur Verfügung: case. Der CaseTag muss org.apache.commons.jelly.TagSupport erweitern. TagSupport ist als abstrakt deklariert und verlangt die Implementierung von doTag (XMLOutput output) auf. Nach dem Aufrufen sämtlicher Setter wird diese Methode aufgerufen. Für den Case-Tag sucht man nach einem Attribut. Im Falle dieser Tag-Klasse wird eine Art von Setter-Routine wie folgt definiert:

Nun zum Herzstück der CaseTag-Klasse, der doTag-Methode. Zunächst muss man sich vergewissern, ob der Nutzer das erfragte Attribut eingegeben hat (Listing D).

Wenn type auf upper oder lower gesetzt wurde, kann man sofort loslegen. Der Case-Tag ist so angelegt, dass er den Inhalt des Tags nimmt und den Text entweder als Groß- oder als Kleinbuchstaben darstellt. Man greift auf den Text zu und konvertiert ihn (Listing E).

Der Case-Tag ist jetzt fertig. Der komplette Quellcode findet sich in CaseTag.java (Teil des Downloads). Der Tag kann nun beispielsweise so verwendet werden:

Für das komplette Beispiel, siehe case.jelly (ebenfalls im Download enthalten).

Page: 1 2 3 4

ZDNet.de Redaktion

Recent Posts

Ymir: Ransomware mit ausgeklügelter Verschleierung

Ymir nutzt fortschrittliche Verschleierungsmethoden. Sie verschlüsselt bestimmte Dateien auf einer Whitelist nicht, um einer Entdeckung…

3 Tagen ago

Fünf auf einen Streich: Baseus Nomos 5-in-1 Desktop Charger Qi2 140W

Das weltweit erste 5-in-1-Tischladegerät mit kabelloser Qi2-Aufladung und einziehbarem Kabel.

4 Tagen ago

RansomHub hebt Datenerpressung auf höhere Stufe

RansomHub kann per Fernverschlüsselung über ein einziges ungeschütztes Endgerät Daten im gesamten Netzwerk verschlüsseln.

4 Tagen ago

Shokz OpenRun Pro 2: Die perfekte Kombination aus Knochenschall und Air-Conduction Technik

Die neuen OpenRun Pro 2 von Shokz sind die neueste Weiterentwicklung der beliebten offenen Sportkopfhörer.…

6 Tagen ago

UPDF: PDF-Software zu einem Viertel des Preises von Adobe

PDF-Bearbeitungssoftware jetzt im Black Friday Sale mit 50 Prozent Rabatt!

6 Tagen ago

Neuer Bedarf an Workplace Services durch DEX und KI

ISG untersucht deutschen Workplace-Services-Markt. Digital Employee Experience (DEX) gilt als Schlüssel für neues Wachstum.

6 Tagen ago