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.
© 2003-2009 Jürgen Auer, Berlin.