Schlüssig programmieren mit XML und XSLT

HTML ist nur wenige Schritte davon entfernt, richtiges XML zu sein. XML braucht für jedes einführende Tag auch ein schließendes. Das ist bei HTML nicht so. INPUT- und BR-Tags sind Beispiele für Tags, die kein schließendes Tag benötigen. Fügt man genau vor dem das Tag schließenden Zeichen das /-Zeichen ein, stellt man zugleich sicher, dass HTML den XML-Konventionen entspricht. Wenn man HTML erzeugt und diesen Konventionen folgt, kann man XML/HTML – also: XHTML – zu einer gut gestalteten HTML-Seite umwandeln:

Dies durchläuft dann die folgende XSLT-Transformation:

Dieser Code befasst sich nicht mit den schwierigeren Aspekten wie der Erzeugung eines eigenen Namensraums, der Definition eigener XML-Tags oder der Bestätigung gegen die DTD. Er erzeugt lediglich funktionsfähiges HTML, das man später in eine völlig neue Seite umwandeln kann, ohne an designerische Aspekte denken zu müssen.

Im Stylesheet wurde die Transformation durch ein Transform-Attribut auf dem HTML-Tag gesteuert. Ein FORM wurde als Einheit zur Erkennung von User-Controls betrachtet, die transformiert werden müssen. Das ist sinnvoll, denn sämtliche Controls, die für Benutzereingaben verwendet werden können, sollten sich in einem Formular befinden. In diesem Beispiel wird der Output der Text INPUT, dessen Farbe auf Blau gestellt ist, mit einem 20 Pixel hohen und 100 Pixel breiten Knopf mit einer 18 Punkt großen, fetten Schrift sein. Die Farbe des Textes in der Dialogbox kann durch Änderung des Transform-Attributs geändert werden.

Es gibt viele Möglichkeiten, der Seite statischen Inhalt hinzuzufügen, doch wurde für diese Darstellung der einfachste Weg gewählt: Header und Footer in das Stylesheet einzufügen.

Wenn also ein neues Formular für Benutzereingaben geschrieben werden muss, muss nur das Grundformular erzeugt werden. Dieses kann dann der Transformation übergeben werden, die den entsprechend des Themas gestalteten HTML-Output erzeugt. Das macht es leicht, denn man muss sich nur daran erinnern, welchen Stil man als Input-Control verwenden möchte, und ihn als Transform-Attribut einfügen.

Es gibt zahllose Möglichkeiten, dieses Konzept anzugehen, doch vielleicht hat das Beispiel eine gewisse Kreativität geweckt, die bei Überlegungen bezüglich der Standardisierung des HTML-Outputs zum Einsatz kommen könnte.

Page: 1 2

ZDNet.de Redaktion

Recent Posts

Wie ein Unternehmen, das Sie noch nicht kennen, eine Revolution in der Cloud-Speicherung anführt

Cubbit ist das weltweit erste Unternehmen, das Cloud-Objektspeicher anbietet. Es wurde 2016 gegründet und bedient…

4 Tagen ago

Dirty Stream: Microsoft entdeckt neuartige Angriffe auf Android-Apps

Unbefugte können Schadcode einschleusen und ausführen. Auslöser ist eine fehlerhafte Implementierung einer Android-Funktion.

4 Tagen ago

Apple meldet Umsatz- und Gewinnrückgang im zweiten Fiskalquartal

iPhones und iPads belasten das Ergebnis. Außerdem schwächelt Apple im gesamten asiatischen Raum inklusive China…

4 Tagen ago

MadMxShell: Hacker verbreiten neue Backdoor per Malvertising

Die Anzeigen richten sich an IT-Teams und Administratoren. Ziel ist der Zugriff auf IT-Systeme.

5 Tagen ago

April-Patches für Windows legen VPN-Verbindungen lahm

Betroffen sind Windows 10 und Windows 11. Laut Microsoft treten unter Umständen VPN-Verbindungsfehler auf. Eine…

5 Tagen ago

AMD steigert Umsatz und Gewinn im ersten Quartal

Server-CPUs und Server-GPUs legen deutlich zu. Das Gaming-Segment schwächelt indes.

5 Tagen ago