Attributes

Dieses Dokument enthält die TAL Spezifikation 1.4. Das Dokument wurde mit Microsoft Word erstellt und mit WordXML automatisch in XML , HTML und HTMLHelp (.chm) konvertiert. Mit WordXML, dem Word-PlugIn der struktur AG, erweitern Sie Microsoft Word zu einem leistungsfähigen XML-Werkzeug.


Attributes

Syntax:

argument ::= attribute_statement[‘;’ attribute_statement]*

attribute_statement ::= attribute_name expression

attribute_name ::= [namespace’:’]Name

namespace ::= Name

Merke: Soll in eine Anweisung ein Semikolon eingefügt werden, muß es durch Verdoppelung escaped werden (’;;’).

Soll ein Attributwert durch -oder ein neues Attribut mit- einem dynamischen Wert ersetzt bzw. erzeugt werden, verwendet man die ‘attributes’-Anweisung. Ein Attributnamen kann durch ein Namensraum-Präfix ausgezeichnet werden -- zum Beispiel ‘html:table’ – wenn in einem XML-Dokument mehrere Namensräume existieren. Der Wert von jedem Ausdruck wird – falls notwendig – in einen String konvertiert.

Wird der zugewiesene Wert zu ‘nothing ausgewertet’, so wird das Attribut aus dem Element entfernt. Bricht der Ausdruck die Anweisung ab, so bleibt das Attribut unverändert. Jede Attribut-Zuweisung ist unabhängig, d. h. in einer Anweisung können manchen Attributen Werte zugewiesen werden, während andere gelöscht oder unverändert bleiben.

Beispiele:

<a href=“/samples/link.html“ tal:attributes=“href here/sub/absolute_url”>

<textarea rows=”80” cols=”20” tal:attributes=”rows request/rows;cols request/cols”>

Wird obige Anweisung in einem Element mit einer aktiven ‘replace’-Anweisung benutzt, kann je nach Implementierung die ‘attributes’-Anweisung ignoriert werden. Falls nicht, muß die Ersetzung den ‘structure’-Type verwenden.Die zurückgegebene Struktur muß mindestens ein Element enthalten, und die Ersetzung wird auf dem ersten entsprechenden Element ausgeführt. Zum Beispiel ist für die erste Zeile unten jede der beiden folgenden Lösungen akzeptabel:

<span tal:replace=“structure an_image“ tal:attributes=“border string:1“>

<img src=”foo.png”>

<img src=”foo.png border=”1”>

Wird es in einem Element mit einer ‘repeat’-Anweisung verwendet, wird die Ersetzung auf jedem wiederholten Element ausgeführt, und die Ersetzungs-Anweisung wird für jede Wiederholung neu ausgewertet.