Attribute-Bündelungen

Es werden mehrere Attribute zusammengefasst, so dass diese gemeinsam einem Element zugewiesen werden und mehrfach wiederverwendet werden können.

Das Element <xsl:attribute-set> dient zur Bündelung von Attributen, die an späterer Stelle aufgerufen werden. Der Einsatz hat mehrere Vorteile, zum einen können diese, wenn sie am Anfang eines Stylesheets stehen, den Überblick erleichtern, zum anderen lassen sich Eigenschaften zentral bearbeiten.

 

Quellcode

    <xsl:attribute-set name="Ueberschrift-Titel1"><xsl:attribute name="font-family">Arial Unicode MS</xsl:attribute>
      <xsl:attribute name="font-size">18pt</xsl:attribute>
      <xsl:attribute name="font-weight">bold</xsl:attribute>
      <xsl:attribute name="space-after">99pt</xsl:attribute>
      <xsl:attribute name="space-before.conditionality">discard</xsl:attribute>
      <xsl:attribute name="keep-with-next">always</xsl:attribute>
    </xsl:attribute-set>
 

❶ Um einem Element mehrere Attribute zusammen zuzuweisen, wird das Element <xsl:attribute-set> verwendet: Zunächst wird dem <attribute-set>-Element mit dem Attribut name ein Name zugewiesen. Danach folgen die im Element enthaltenen Attribute und deren Werte. Der erste Attribute-Satz zeigt ein Beispiel für eine mögliche Formatierung einer Überschrift.

 

      <xsl:attribute-set name="table.data" ><xsl:attribute name="table-layout">fixed</xsl:attribute>
      <xsl:attribute name="start-indent">2mm</xsl:attribute>
      <xsl:attribute name="end-indent">2mm</xsl:attribute>
      <xsl:attribute name="space-before">10pt</xsl:attribute> 
      <xsl:attribute name="space-after">10pt</xsl:attribute>
      <xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
    </xsl:attribute-set>
 

❶ Der zweite Attribute-Satz demonstriert beispielhaft zusammengefasste Eigenschaften einer Tabelle.

 

    <fo:block xsl:use-attribute-sets="Ueberschrift-Titel1"
      axf:outline-level="2" axf:outline-expand="false" keep-with-next="always">
    <fo:table width="110mm">
      <fo:table-column column-number="1" column-width="15mm"/> 
 

❶ Um auf die im <attribute-set>-Element enthaltenen Attribute gesammelt zuzugreifen, wird das Attribut use-attribute-sets verwendet. Der Wert dieses Elements muss mit dem Wert des name-Attributs eines der <attribute-set>-Elemente übereinstimmen.

 


vor >>