Sammlung von Attributdeklarationen – xsl:attribute-set
(Auszug aus "XSLT 2.0 & XPath 2.0" von Frank Bongers, Kapitel 2.)
Die Deklaration xsl:attribute-set definiert ein benanntes Attributset, also eine Kollektion aus Attributen, die gemeinsam einem Ziel-Element zugewiesen werden können. Im Inneren von xsl:attribute-set befinden sich deshalb ein oder mehrere xsl:attribute-Instruktionen. Mit dem name-Attribut wird das Attributset benannt und kann über diesen Namen vom Zielelement aus mit einem dort vorhandenen Attribut use-attribute-set aufgerufen werden.
Vorteile des Attributsets
Der Vorteil eines Attributsets ist die Gewährleistung der Konstanz der gesetzten Attribute über alle Elemente, für die diese Kollektion von Attributen eingesetzt werden soll. Das Attributset muss nur einmal gebildet werden, spart somit Schreibarbeit im Quelltext und ist leicht erweiterbar:
<xsl:attribute-set name="set_name">
<xsl:attribute name="attr_name">
<!-- Sequenzkonstruktor für Attributwert -->
</xsl:attribute>
<xsl:attribute name="anderer_attr_name">
<!-- Sequenzkonstruktor für Attributwert -->
</xsl:attribute> ...
</xsl:attribute-set>
<xsl:attribute-set name="bildstyle">
<xsl:attribute name="hspace">10</xsl:attribute>
<xsl:attribute name="vspace">5</xsl:attribute>
<xsl:attribute name="align">left</xsl:attribute>
</xsl:attribute-set>
<xsl:template match="bild">
<img xsl:use-attribute-sets="bildstyle">
<xsl:attribute name="src">
<xsl:value-of select="unparsed-entity-uri(@quelle)"/>
</xsl:attribute>
</img>
</xsl:template>
Das use-attribute-set-Attribut im Literal Result Element <img> benötigt das Präfix xsl:, da es als XSLT-Attribut ausgewertet und nicht kopiert werden soll. Für dieses Attribut darf kein Attributwert-Template verwendet werden.
Im Ergebnisdokument:
...
<img src="mein_bild.gif" align="left" hspace="10" vspace="5"/>
...
Tipp der data2type-Redaktion: Zum Thema XSLT bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an: |
Copyright © Galileo Press, Bonn 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "XSLT 2.0 & XPath 2.0 ― Das umfassende Handbuch" denselben Bestimmungen wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.
Galileo Press, Rheinwerkallee 4, 53227 Bonn