Das sd:attribute- Element

Ermöglicht es, den Inhalt einer Datenbank-Zelle als Wert eines Attributes auszugeben. Damit ist es möglich, in einer Tabelle Urls und Linktexte oder Links auf Bilder abzulegen und <a>-Elemente mit href-Attribut und passendem Linktext bzw. <img>-Elemente mit src-Attribut zu erstellen.

Beachten Sie, daß sd-Elemente wie sd:a oder sd:img zum direkten Einfügen von Verweisen oder Bildern ausdrücklich fehlen. Die Besonderheit dieser Elemente im Zusammenhang mit Datenbanken beruht ausschließlich darauf, daß Datenbank-Inhalte als Attributwerte ausgegeben werden können. Dies läßt sich mit dem einzigen sd:attribute-Element erledigen. Dieses sd-Element funktioniert unabhängig davon, nach welchem Html-Element es eingefügt wird. Intern wird es über das <xsl:attribute>-Element realisiert.

Werden mehrere sd:attribute-Elemente direkt untereinander notiert, so können mehrere Attribute an das vorhergehende Element angehängt werden (etwa href und class sowie style für eine ad-hoc-Formatierung des <a>-Elements). Das erste Element in einer solchen Folge, welches kein sd:attribute-Element mehr ist, beginnt den Content des Elements vor der sd:attribute-Liste. Das sd:attribute-Element erlaubt zusätzlich #PCDATA, so daß als Attributwert ein zusammengesetzter Text - teils Datenbank, teils Hartcodierung - genutzt werden kann.

Typ
Äußere Elemente
Attribute
sd:attribute-name *
Name des Attributes, das in das direkt vorgehende Html-Element eingefügt werden soll
Child-Elemente
Innerer Text (#PCDATA) zulässig
Beispiele
Angenommen, es gibt zwei Ausgabespalten LinkZiel und LinkText. Dann läßt sich mit dem folgenden Code innerhalb eines sd:normal - oder sd:alternate -Elements ein passender Link einfügen:
<a>
    <sd:attribute sd:attribute-name='href'>
        <sd:cell-value sd:col='LinkZiel'/>
    </sd:attribute>
    <sd:cell-value sd:col='LinkText'/>
</a>
Die Html-Version der Ausgabeseite enthält dann:
<a href='LinkZiel'>LinkText</a>
Beachten Sie, daß 'LinkZiel' die gesamte Url einschließlich 'http://' enthalten muß. Falls in der Tabelle nur Urls ohne diesen Vorspann enthalten sind, kann der Attributwert auch zusammengesetzt werden:
<a>
    <sd:attribute sd:attribute-name='href'>
        http://<sd:cell-value sd:col='LinkZiel'/>
    </sd:attribute>
    <sd:cell-value sd:col='LinkText'/>
</a>
Kontrollieren Sie in solchen Fällen den erzeugten Html-Code und notieren Sie, falls notwendig, das gesamte sd:attribute-Element in einer einzigen Zeile ohne die hier zur besseren Übersicht eingeschobenen Umbrüche und Tabulatoren.


Kontaktformular:

Schreiben Sie mir und wir bauen gemeinsam Ihre neue Web-Datenbank!

Die Erläuterungen zum Datenschutz habe ich gelesen und stimme diesen zu.

© 2003-2019 Jürgen Auer, Berlin.