I set up all my styles as collections of attributes in attribute sets, thus:

  <xsl:attribute-set name="body">
    <xsl:attribute name="font-size">11pt</xsl:attribute>
    <xsl:attribute name="font-family">serif</xsl:attribute>
    <xsl:attribute name="line-height">15pt</xsl:attribute>
    <xsl:attribute name="space-before.optimum">3pt</xsl:attribute>
    <xsl:attribute name="space-after.optimum">3pt</xsl:attribute>
  </xsl:attribute-set>

I keep a whole collection of attribute sets in various files (one or more to a 
client). Then I can write 

<fo:block xsl:use-attribute-sets="body">paragraph content</fo:block>

and get all the attributes. This method GREATLY improves readability and 
consistency, especially since I can share the same set of styles (in their own 
file, remember) across multiple documents (such as all of a customer's user 
guides).

To link the styles document to your main XSL transform, use the xsl:include 
command, thus:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:transform version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
xmlns:fo="http://www.w3.org/1999/XSL/Format"; 
xmlns:xs="http://www.w3.org/2001/XMLSchema"; exclude-result-prefixes="fo xs">

  <xsl:output method="xml" version="1.0" omit-xml-declaration="no" indent="no"/>

  <xsl:include href="globe-report-formats.xsl"/>

  <!-- Your transforms here -->

</xsl:transform>

I hope that helps.

Jay Bryant
Bryant Communication Services
  ----- Original Message ----- 
  From: Potje rode kool 
  To: [email protected] 
  Sent: Sunday, December 03, 2006 12:08 PM
  Subject: specify values for attribute once and then refer to it.


  Hi,

  Is it posible to specify on one place some values for attributes and then
  refer to that, a bit like its done with css, where you create a class and 
refer to it
  with the class attribute in the html element? 

  Thanks.
  Evert

Reply via email to