Es werden Zwischenüberschriften mit verschiedenen typografischen Eigenschaften (Größe, Schriftart, Aliniierung, Vorschub) erzeugt.
Zwischenüberschriften sind spezifisch gestaltete Textblöcke. Sie können zwar wie echte Überschriften – das sind Titel für ein Kapitel oder einen Abschnitt – aussehen, erfüllen aber nicht deren Funktionen. So bezeichnen sie nicht eindeutig den Inhalt und die Grenzen des gegebenen Abschnitts oder Kapitel. Sie sind deshalb auch ungeeignet, als lebende Kolumnentitel verwendet zu werden. Es soll gezeigt werden, wie in der DTD bereits bestimmte typografische Eigenschaften bzw. Varianten vorgegeben werden und wie sie im Stylesheet umzusetzen sind. Außerdem wird das Konzept für die vertikalen Vorschübe über und unter Zwischenüberschriften demonstriert.
<!ELEMENT Abschnitt (Titel, (A | ... | Z-Titel)*)>
<!ELEMENT Z-Titel (#PCDATA | ...)*>
<!ATTLIST Z-Titel Groesse (normal | klein | gross)"normal"
Schrift (normal | fett | kursiv) "normal"
Aliniierung (links | rechts | mittig) "links">
<xsl:attribute-set name="Zwischenueberschrift"> ❶
<xsl:attribute name="font-family">Arial</xsl:attribute>
<xsl:attribute name="space-before">15mm</xsl:attribute>
<xsl:attribute name="space-after">5mm</xsl:attribute>
<xsl:attribute name="hyphenate">false</xsl:attribute>
<xsl:attribute name="keep-with-next">always</xsl:attribute>
</xsl:attribute-set>
...
<xsl:template match="Z-Titel">
<fo:block xsl:use-attribute-sets="Zwischenueberschrift" > ❷
<xsl:choose> ❸
<xsl:when test="@Groesse='gross'">
<xsl:attribute name="font-size">14pt</xsl:attribute>
</xsl:when>
<xsl:when test="@Groesse='klein'">
<xsl:attribute name="font-size">10pt</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="font-size">12pt</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
<xsl:choose>
<xsl:when test="@Schrift='fett'">
<xsl:attribute name="font-weight">bold</xsl:attribute>
</xsl:when>
<xsl:when test="@Schrift='kursiv'">
<xsl:attribute name="font-style">italic</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="font-weight">normal</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
<xsl:choose>
<xsl:when test="@Aliniierung='rechts'">
<xsl:attribute name="text-align">right</xsl:attribute>
</xsl:when>
<xsl:when test="@Aliniierung='mittig'">
<xsl:attribute name="text-align">center</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="text-align">left</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates/>
</fo:block>
</xsl:template>
❶ Der besseren Übersicht halber werden die fixen Attribute für Zwischenüberschriften in ein <xsl:attribute-set eingekleidet.
❷ Für den Block, in dem die Zwischenüberschrift erscheinen soll, werden die im <xsl:attribute-set definierten fixen Attribute zugewiesen.
❸ Für alle in der DTD variabel definierten Eigenschaften werden die entsprechenden Attributwerte abgefragt und in typografische Eigenschaften übersetzt. Zu den Details dieser Spezifikationen s. den Abschnitt „Textblöcke“.
| << zurück |
vor >> |